开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

将 mT5 作为模型底座构建标题生成模型,如 何利用 EasyNLP 进行模型构建、训练、评估、预测

已解决

将 mT5 作为模型底座构建标题生成模型,如 何利用 EasyNLP 进行模型构建、训练、评估、预测?

展开
收起
游客lmkkns5ck6auu 2022-08-29 22:08:47 634 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    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 可下载完整版

    2022-08-30 13:13:21
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关电子书

更多
Redis&MongoDB的同步、迁移以及混合云场景构建 立即下载
阿里巴巴机器翻译在跨境电商场景下的应用和实践 立即下载
Machine Translation at Alibaba 立即下载