将 mT5 作为模型底座构建标题生成模型,如 何利用 EasyNLP 进行模型构建、训练、评估、预测?
1) 运行环境要求 PAI-Pytorch1.7/1.8 镜像,GPU 机型 P100 or V100,内存 32G
2) EasyNLP 安装 建议从 GitHub 下载 EasyNLP 源代码进行安装如果您系统内已经安装完 easynlp 的 CLI 工具,则说明 EasyNLP 代码库已经安装。
3) 数据准备 首先,您需要下载用于本示例的训练和测试集,并创建保存模型的文件夹,数据下载完成后,可以通过以下代码查看第一条数据。在训练集中,每一行为一条 新闻数据,包括经过分词的新闻标题和新闻内容,两者通过制表符(\t)隔开。开 发集中则包含原始文本、分词后的文本、新闻类别。
4) 初始化 在 Python3.6 环境下,我们首先从刚刚安装好的 EasyNLP 中引入模型运行需要的各种库,并做一些初始化。在本教程中,我们使用 mt5-title-generation-zh 作为预训练模型底座。上述代码如果出现“Address already in use”错误,则需要运行以下代码清理端口 (默认为 6000)上正在执行的程序。netstat-tunlp|grep6000 kill-9PID(需要替换成上一行代码执行结果中对应的程序 ID)。
5) 载入数据 我们使用 EasyNLP 中自带的 SequenceGenerationDataset,对训练和测试数据进 行载入。主要参数如下:
• pretrained_model_name_or_path:预训练模型名称路径,这里我们使用封装 好的 get_pretrain_model_path 函数,来处理模型名称”mt5-title-generation�zh”,并自动下载模型;
• max_seq_length:文本最大长度,超过将截断,不足将 padding;
• input_schema:输入数据的格式,逗号分隔的每一项对应数据文件中每行以\t 分隔的一项,每项开头为其字段标识,如 label、sent1 等;
• first_sequence、label_name:用于说明 input_schema 中哪些字段用于作为 输入句子和标签列等;
• label_enumerate_values:label 类型列举;
• is_training:是否为训练过程,train_dataset 为 True,valid_dataset 为 False;
• app_name:指定当前需要执行的任务,如文本分类、序列标注、文本匹配、文 本生成等。
以上内容摘自《大数据&AI实战派 第1期》电子书,点击https://developer.aliyun.com/ebook/download/7722 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。