MLNLP
社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。

社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
转载自 | 元语智能
ChatYuan: 元语功能型对话开源大模型
模型可以用于回答问题、可以结合上下文做对话、做各种生成任务,包括创意性写作,也能回答法律、新冠等领域类问题。它基于PromptCLUE-large结合数亿条功能问答和多轮对话数据进一步训练得到。模型参数量7.7亿,显存6G左右,一张民用显卡即可加载使用。
PromptCLUE 在1000亿token中文语料上预训练,累计学习1.5万亿中文token,并且在数百种任务上进行Prompt任务式训练。针对理解类任务,如分类、情感分析、抽取等,可以自定义标签体系;针对多种生成任务,可以进行采样自由生成。
点击在线体验(或访问www.YuanYu.ai):

1
『如何使用』
Github项目地址:
https://github.com/clue-ai/ChatYuan
Huggingface平台项目地址:
https://huggingface.co/ClueAI/ChatYuan-large-v1
ModelScope平台:
项目地址:
https://modelscope.cn/models/ClueAI/ChatYuan-large
加载模型:
使用模型进行预测推理方法:
2
『使用自有数据训练模型』
1. 组织数据:
将数据组织成统一的格式,由两部分构成:输入(Input)和输出(Output)。
针对单轮问答或生成:
输入(Input): 任务描述+输入文本
输出(Output): 系统需要预测的文本,如下图中"小于"后的内容。
针对多轮对话:

输入(Input): 任务描述+上文+输入文本
输出(Output): 系统需要预测的文本,如下图中"小元"后的内容。
单轮对话数据格式:
多轮对话数据格式:
2. 训练模型

训练代码可以参考:

使用pCLUE数据集进行训练、预测和效果验证, pytorch实现--在线colab

具体见Github项目,https://colab.research.google.com/drive/1lEyFhEfoc-5Z5xqpEKkZt_iMaojH1MP_?usp=sharing
3
『示例』
==========示例1==========
用户:你能干什么
小元:您好!我是元语AI。我可以回答您的问题、写文章、写作业、翻译,对于一些法律等领域的问题我也可以给你提供信息。
==========示例2==========
用户:写一封英文商务邮件给英国客户,表达因为物流延误,不能如期到达,我们可以赔偿贵公司所有损失
小元:Dear [Name],
I'm sorry to inform you that we have been doing our business to you for your delay. We understand that we can compensate you for your losses due to the delay in our logistics.
We understand that we can make sure we can compensate you for your losses due to the delay.
Thank you for your understanding and we are very grateful for your efforts.
Sincerely,
[Your Name]
==========示例3==========
用户:写一个文章,题目是未来城市
小元:未来的城市是怎样的呢?
未来城市拥有很多不同的功能,如智慧城市、智能交通系统、远程医疗系统、智能家居系统、智慧医疗系统等。未来城市还使用物联网技术,可以远程控制,使用远程操控和传感器来监控城市的发展,帮助他们解决各种城市问题。
未来的城市还采用互联网技术,可以让城市变得更智能,让城市变得更智慧,让每一个人都能更轻松地生活。未来城市的智能设备也可以让城市的使用者更方便地掌握他们的生活,比如智能的智能交通系统和远程医疗系统和智能的安防系统等,可以提供他们更多的便利。
总之,未来城市的愿景是,让所有城市的使用者都能拥有一个美好的未来,让他们可以在自己的城市享受美好的生活。
==========示例4==========
用户:写一个诗歌,关于冬天
小元:冬夜寂静冷,
云在天边飘,
冰封白雪上,
寒冷像一场雪。
雪花融化成冰,
像那雪花飘洒,
在寒冷的冬天,
感受春天的喜悦。
 冬日里,
风雪渐消,
一片寂静,
把快乐和温暖带回家。
==========示例5==========
用户:从南京到上海的路线
小元:你好,南京到上海的路线如下:
1. 南京到上海,可以乘坐南京地铁1号线,在南京站乘坐轨道交通1号线。
2. 南京到浦东机场,可以搭乘上海地铁1号,在陆家嘴站乘坐地铁1线,在浦东国际机场站乘坐机场快线,前往上海浦东国际机场。
3. 上海到南京,可以换乘上海地铁2号线,从南京站换乘地铁2线,再从南京南站换乘地铁1路,然后到达上海站。
==========示例6==========

用户:学前教育专业岗位实习中,在学生方面会存在问题,请提出改进措施。800字
小元:在学前教育专业岗位实习中,在学生方面会存在一些问题,如学生缺少专业知识、缺乏合作意识、缺乏基本的责任心等等,需要我们采取措施,来解决这些问题。
首先,在实习过程中,我们需要培养学生的团队意识,加强学生与老师之间的合作,加强与家长之间的沟通,提高他们的沟通能力。另外,我们也需要加强学生的独立性,让学生学会独立思考,学会和老师、家长进行沟通,培养其独立性。
此外,在日常的工作中,我们也要为学生提供适当的机会和机会,让学生多接触社会、多参加社会活动,加深他们对社会、学校的认识,培养他们主动、积极和创新的精神。
最后,我们还需要重视学生在实习中出现的问题,尤其是学生缺乏合作,有依赖心理,不懂得分享,有拖延行为等,这些学生应该引起我们的重视,制定合理的改进措施,改善这些问题。
==========示例7==========

用户:根据标题生成文章:屈臣氏里的化妆品到底怎么样?
小元: 近日,一条关于屈臣氏化妆品的微博引发网友热议。“在屈臣士商场里,有一些护肤品售价动辄上千元,部分化妆品甚至还卖到几折。屈臣仕化妆品专柜工作人员表示:“屈臣购商城的化妆品都是正规厂家生产,都是通过国家药品监督管理局的正规渠道进入市场的,并且都是正品。”“该微博发出后,引起网友们的热议,甚至不少网友开始搜索屈臣氏旗舰店来买产品。“屈氏化妆品真的值得买吗?“记者在屈士仕商场内看到,屈臣专卖店的货架上摆满了屈臣旗下的各种化妆品,有精华、面霜、眼霜等。““屈士士,这一款我买了,这款是主打美白的。”市民王女士说,她去年买了三瓶屈臣芮,其中一款是保湿面膜,还有一款是护手霜。“记者通过电话联系了屈臣臣芮的销售小姐,她说屈臣城里没有卖屈臣诗的化妆品,只有屈臣肌妍的化妆品。“
==========示例8==========
用户:帮我对比几款GPU,列出详细参数对比,并且给出最终结论
小元:一、显存容量:
1 GeForce GTX 880 显存类型:GDDR5
2 Geforce RTX 1060 显存在类型:PhysX物理加速
3 Ge force MX150 显存在于类型:SLI
4 GetoDirectX 11:支持DX11
二、显显存带宽:
1.GDDR4X 显显容量:256MB
2.GDDR6X 最大显存范围:8GB
3.GDDR3 显在带宽:120GB
4.GDDR7 显适用于2GB显存
三、显效时间:
1.4 GB/s
2. 5.5 ms
3. 5 ms
4
『技术与训练过程』
ChatYuan是在PromptCLUE基础上进一步训练获得的模型。它去掉了文本理解、信息抽取类任务,加强了问答、对话和各种生成式任务的学习和训练;
针对多轮对话容易受到上下文的干扰,加入了抗干扰数据使得模型可以在必要时忽略无关的上下文;加入了用户反馈数据的学习,使得模型不仅具有一定的通用语言理解能力、特定任务上的生成能力,也能更好的响应用户的意图。
PromptCLUE的学习过程:
  1. 三大统一:统一模型框架(text-to-text),统一任务形式(prompt),统一应用方式(zero-shot/few-shot)。(T0)
  2. 大规模预训练:在t5-large版基础上,使用数百G中文语料,训练了100万步,累积训练了1.5万亿个中文字词级别token
  3. 大规模任务数据:使用了16种任务类型,数百种任务,累积亿级别任务数据。
  4. 混合预训练:一方面将下游任务作为预训练语料,另一方面将下游任务和预训练语料一起训练,减少任务灾难遗忘以及缩短预训练和下游任务的距离,更好的适应下游任务(ExT5)
  5. 混合采样:针对众多数据量差异极大的任务,采用在每个训练batch内对所有的任务进行按照比例采样,根据任务的数据量进行平滑采样,并且同时限制任务数据量采样池的上限。平滑采样可以减少任务训练有偏危害,在每一batch内训练可以减少异质任务之间训练负迁移的情况(T5)
  6. 分阶段训练:一方面指在预训练分阶段,涉及训练序列长度的分阶段(128和512),加快预训练速度(Bert);另一方面,在下游训练分阶段, 涉及学习率和序列长度的变化以及递减式对下游任务的数据量限制,更好的适应下游的不同任务
  7. 增加语言模型的训练:参考t5.1.1, 除了使用Span Corrpution构建的方式进行无监督训练,同时在使用prefix LM的方式训练,增强生成任务的能力(LM adapted)
  8. 增加对模型的encoder以及decoder的训练:根据下游任务数据分别构建Data_text,Data_target预训练数据语料,加入到预训练中,分别增强模型的encoder理解能力和 decoder的生成能力(见UIE)
  9. 重新构建模型中文字典:使用sentencepiece上在千亿token上学习并构建模型字典,更加符合中文语言习惯
5
『后续工作』
目前版本可以进行问答、对话和各种创意性写作或文本生成,相对于线上的版本,它的意图理解和生成能力在一些场合还有比较大的提升空间;它也还不能较好实现推理或复杂的任务。根据大家的反馈,我们会进一步改进现有版本。
我们的最终目标是,帮忙每一个人和企业都部署一个自己的Chat功能型对话助手。如果有需要合作,欢迎与我们联系或交流:www.YuanYu.ai
技术交流群邀请函
△长按添加小助手
扫描二维码添加小助手微信
请备注:姓名-学校/公司-研究方向
(如:小张-哈工大-对话系统)
即可申请加入自然语言处理/Pytorch等技术交流群

关于我们

MLNLP 社区是由国内外机器学习与自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名的机器学习与自然语言处理社区,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。
社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。
继续阅读
阅读原文