PromptCLUE:大规模多任务Prompt预训练中文开源模型

7b65e9691703429b62a481d1596d56c3.gif

简介

PromptCLUE:大规模多任务Prompt预训练中文开源模型。

中文上的三大统一:统一模型框架,统一任务形式,统一应用方式。支持几十个不同类型的任务,具有较好的零样本学习能力和少样本学习能力。

针对理解类任务,如分类、情感分析、抽取等,可以自定义标签体系;针对生成任务,可以进行采样自由生成。

千亿中文token上大规模预训练,亿级中文任务数据上完成训练,训练任务超过150+。

比base版平均任务提升7个点+;具有更好的理解、生成和抽取能力,并且支持文本改写、纠错、知识图谱问答。

统一模型框架:采用Text-to-Text的生成式预训练模型进行统一建模。

统一任务形式:Prompt统一不同的NLP任务间的差异,转化为统一的text-to-text数据形式。

统一应用方式:对目标任务形成拿来即用的模型,下游应用时都可转化为统一的prompt自适应方式,进行zero-shot/few-shot测试。

项目地址:
https://github.com/clue-ai/PromptCLUE

DEMO地址:
www.CLUEbenchmarks.com/clueai.html

在线DEMO:7016a409f72707e499e0f891741cdcc2.png

效果对比--16类中文任务

任务类型Base版Large版
分数63.4770.55(+7.08)
参数220M770M
理解任务(acc / 10类)

分类 classify89.5692.89
情感分析80.5585.64
相似度计算70.9478.47
自然语言推理78.0086.67
指代消解30.0064.00
阅读理解 mrc71.6984.78
关键词提取41.4447.78
信息抽取 ner63.0270.09
知识图谱问答-53.11
中心词提取66.5071.50
生成任务(rouge/ 6类)

翻译-英中/中英55.9259.67
摘要31.7134.48
问答 qa21.1827.05
文章/问题生成35.8639.87
改写-57.68
纠错-93.35

在线使用

在线demo | huggingface下载地址 | colab使用示例 | 自定义数据集进行训练 | prompt中文数据集

相关技术与训练过程

  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上学习并构建模型字典,更加符合中文语言习惯

Large版在线申请

在线申请

License(许可证)

1)PromptCLUE-base可直接下载和使用;2)PromptCLUE-large版的非商用License

使用方法

安装需要的项目和包

git clone https://github.com/huggingface/transformers.git
pip install ./transformers
pip install sentencepiece

加载模型

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("ClueAI/PromptCLUE-base")
model = AutoModelForSeq2SeqLM.from_pretrained("ClueAI/PromptCLUE-base")

使用模型进行预测

import torch
from transformers import AutoTokenizer
# 修改colab笔记本设置为gpu,推理更快
device = torch.device('cuda')
model.to(device)
def preprocess(text):return text.replace("\n", "_")
def postprocess(text):return text.replace("_", "\n")
def answer(text, sample=False, top_p=0.6):'''sample:是否抽样。生成任务,可以设置为True;top_p:0-1之间,生成的内容越多样、'''text = preprocess(text)encoding = tokenizer(text=[text], truncation=True, padding=True, max_length=768, return_tensors="pt").to(device) if not sample: # 不进行采样out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_length=128, num_beams=4, length_penalty=0.6)else: # 采样(生成)out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_length=128, do_sample=True, top_p=top_p)out_text = tokenizer.batch_decode(out["sequences"], skip_special_tokens=True)return postprocess(out_text[0])

支持的任务(部分)

意图分类 
新闻分类
情感分析
自然语言推理
阅读理解
阅读理解-自由式
摘要
翻译-中英
翻译-英中
通用信息抽取
简历信息抽取
医疗信息抽取
电商客户需求分析
医疗语义相似度
问题生成
指代消解
关键词抽取
情感倾向
根据标题文章生成知识图谱问答相似句子生成/改写纠错中心词提取.....

使用自定义数据集进行训练-PyTorch实现

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

pCLUE基准上的效果

985b35c105454c9a53401fe9f1cadfff.png

示例输入

新闻分类(classify)
Input:
分类任务:
折价率过低遭抛售基金泰和跌7.15%,证券时报记者 朱景锋本报讯 由于折价率在大盘封基中处于最低水平,基金泰和昨日遭到投资者大举抛售,跌幅达到7.15%,远超大盘。盘面显示,基金泰和随大盘高开,之后开始震荡走低,午后开始加速下行,几乎没有像样反弹。截至收盘时,在沪深300指数仅下跌2.56%的情况下,基金泰和收盘跌幅高达7.15%,在所有封基中跌幅最大,而昨日多数封基跌幅在2%左右。
选项:财经,娱乐,时政,股票
答案:Model output:
财经
-----------------
意图分类(classify)
Input:
意图分类:
帮我定一个周日上海浦东的房间
选项:闹钟,文学,酒店,艺术,体育,健康,天气,其他
答案:Model output:
酒店
-----------------
情感分析(classify)
Input:
情感分析:
这个看上去还可以,但其实我不喜欢
选项:积极,消极
答案:Model output:
消极
-----------------
推理(generate)
Input:
请推理出上下文的关系:
前提:对不起事情就是这样。
假设:事情就是这样,不需要道歉。
选项:中立,蕴涵,矛盾
答案:Model output:
矛盾
-----------------
阅读理解(generate)
Input:
阅读文章,给出答案:
段落:
港汇指数,全称港元实际汇兑指数(Effective Exchange Rate Index for the Hong Kong Dollar)是由香港政府统计处编制的一项指数,以反映港元与香港主要贸易伙伴之货币的名义有效汇率加权平均数的变动情况。加权比重是按1999年至2000年平均贸易模式所制定,但政府并未有公布详细的计算公式。旧港汇指数基准日为2000年1月1日,基数为100点。由2012年1月3日起,新系列港汇指数 (包括15种货币及以2010年1月 = 100) 已取代旧港汇指数系列。港汇指数的作用,主要是用于反映香港的货品及服务的价格相对于其主要贸易伙伴的变动,并通常被视作反映香港价格竞争力的指标。
问题:港汇指数的加权比重如何制定?
答案:Model output:
按1999年至2000年平均贸易模式所制定
-----------------
阅读理解-自由式(generate)
Input:
阅读以下对话并回答问题。
男:今天怎么这么晚才来上班啊?女:昨天工作到很晚,而且我还感冒了。男:那你回去休息吧,我帮你请假。女:谢谢你。
问题:女的怎么样?
选项:正在工作,感冒了,在打电话,要出差。
答案:Model output:
感冒了
-----------------
摘要(generate)
Input:
为下面的文章生成摘要:
北京时间9月5日12时52分,四川甘孜藏族自治州泸定县发生6.8级地震。地震发生后,领导高度重视并作出重要指示,要求把抢救生命作为首要任务,全力救援受灾群众,最大限度减少人员伤亡
答案:Model output:
四川甘孜发生6.8级地震
-----------------
翻译-中英(generate)
Input:
翻译成英文:
议长去了台湾,中国人民很愤怒。
答案:
-----------------
Model output:
The secretary went to Taiwan and the Chinese people were angry.翻译-英中(generate)
Input:
翻译成中文:
This is a dialogue robot that can talk to people.
答案:
-----------------
Model output:
这是一台可以与人交谈的对话机器人。通用信息抽取(generate)
Input:
信息抽取:
据新华社电广东省清远市清城区政府昨日对外发布信息称,日前被实名举报涉嫌勒索企业、说“分分钟可以搞垮一间厂”的清城区环保局局长陈柏,已被免去清城区区委委员
问题:机构名,人名,职位
答案:
-----------------
Model output:
机构名:新华社,清城区政府,清城区环保局,清城区区委
人名:陈柏
职位:局长,区委委员简历信息抽取(generate)
Input:
阅读文本抽取关键信息:
张玄武2000年出生中国国籍无境外居留权博士学历现任杭州线锁科技技术总监。
问题:机构,人名,职位,籍贯,专业,国籍,学历,种族
答案:
-----------------
Model output:
人名:张玄武
职位:杭州线锁科技技术总监
国籍:中国国籍
学历:博士学历
-----------------
医疗信息抽取(generate)
Input:
从文本中抽取信息:
患者精神可,饮食可,睡眠可,二便正常。患者通过综合治疗头晕症状较前减轻,患者继续口服改善脑血管及调整血压变化药物。
问题:症状,治疗,检查,身体部位,疾病
答案:Model output:
症状:头晕
治疗:改善脑血管及调整血压变化药物
身体部位:二便
-----------------
电商客户需求分析(classify)
Input:
电商客户诉求分类:
收到但不太合身,可以退换吗
选项:买家咨询商品是否支持花呗付款,买家表示收藏关注店铺,买家咨询退换货规则,买家需要商品推荐
答案:Model output:
买家咨询退换货规则
-----------------
医疗语义相似度(classify)
Input:
下面句子是否表示了相同的语义:
文本1:糖尿病腿麻木怎么办?
文本2:糖尿病怎样控制生活方式
选项:相似,不相似
答案:Model output:
不相似
-----------------
问题生成(generate)
Input:
问题生成:
中新网2022年9月22日电 22日,商务部召开例行新闻发布会,商务部新闻发言人束珏婷表示,今年1-8月,中国实际使用外资1384亿美元,增长20.2%;其中,欧盟对华投资增长123.7%(含通过自由港投资数据)。这充分表明,包括欧盟在内的外国投资者持续看好中国市场,希望继续深化对华投资合作。
答案:Model output:
1、商务部发言人束珏婷表示,中国去年1-8月实际使用外资1384亿美元,增长20.2%,其中欧盟对华投资增长多少?
2、欧盟对华投资的增长是否达到预期?
3、欧盟在对华投资合作方面取得什么样的成果?
-----------------
指代消解(generate)
Input:
指代消解:
段落:
少平跟润叶进了她二爸家的院子,润生走过来对他(代词)说:“我到宿舍找了你两回,你到哪里去了?”
问题:代词“他”指代的是?
答案:Model output:
少平
-----------------
关键词抽取(generate)
Input:
抽取关键词:
当地时间21日,美国联邦储备委员会宣布加息75个基点,将联邦基金利率目标区间上调到3.00%至3.25%之间,符合市场预期。这是美联储今年以来第五次加息,也是连续第三次加息,创自1981年以来的最大密集加息幅度。
关键词:Model output:
美联储,利率目标区间,加息,基点
-----------------
情感倾向(classify)
文字中包含了怎样的情感:
超可爱的帅哥,爱了。。。
选项:厌恶,喜欢,开心,悲伤,惊讶,生气,害怕
答案:Model output:
喜欢
-----------------

技术交流和问题反馈

d459cc861946faef1539f7eb5d5c91db.jpeg

da6c6e10cc466210f576f0ea57b61915.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜广推与求职讨论群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS基础知识总结

前几天在网上看到的一个总结&#xff0c;觉得挺好的&#xff0c;所以记录了下来&#xff0c;以备查用。1 创建脚本块 1: <script language”JavaScript”>2: JavaScript code goes here3: </script> 2 隐藏脚本代码 1: <script language”JavaScript”>2: &…

程序员面试金典 - 面试题 10.02. 变位词组(哈希map)

1. 题目 编写一种方法&#xff0c;对字符串数组进行排序&#xff0c;将所有变位词组合在一起。 变位词是指字母相同&#xff0c;但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"]…

python3.7安装wordcloud_Python中的wordcloud库安装问题及解决方法

今天下载wordcloud的时候出现了很多问题&#xff0c;在此总结总结 1.问题一&#xff1a;You are using pip version 19.0.3, however version 20.0.2 is available…问题解决方法&#xff1a; 打开cmd输入如下命令 python -m pip install -U pip 2.问题二&#xff1a;error: Mi…

互联网最值得加入的173家国企汇总

文 | 重庆搬砖喵、王二源 | 知乎今年的就业形势&#xff0c;实在是严峻。社招都这样&#xff0c;更别说应届生。虽然有一些垃圾国企&#xff0c;但仍然有非常多值得考虑的国企&#xff0c;毕竟优质的国企很稳定&#xff0c;不会像互联网一样担忧年纪大被裁员的情况发生&#xf…

LeetCode 1111. 有效括号的嵌套深度(奇偶分离)

1. 题目 有效括号字符串 仅由 "(" 和 ")" 构成&#xff0c;并符合下述几个条件之一&#xff1a; 空字符串连接&#xff0c;可以记作 AB&#xff08;A 与 B 连接&#xff09;&#xff0c;其中 A 和 B 都是有效括号字符串嵌套&#xff0c;可以记作 (A)&…

一首好听的音乐

昨天在不经意间突然听到一首超好听的曲子&#xff0c;来自班得瑞的《赞美主》,一直狂听好几个小时&#xff0c;音乐实在太美了&#xff0c;似同宁静的山谷中发出最自然的声音&#xff0c;让人心旷神怡&#xff0c;真是一种享受。一直以来都认为古典音乐是最美的&#xff0c;没想…

bpsk调制及解调实验_无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解...

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群先从IQ调制说起&#xff1a;IQ调制&#xff1a;IQ解调原理&#xff1a;Linux下使用GNU Octave运行下面的代码&#xff1a;MATLAB123456t-1:0.001:1;f1;ycos(2*pi*2*f*t);subplot(1,2,…

突发!图森未来CEO侯晓迪被罢免,公司疑遭SEC、FBI联手调查,市值一夜砍半

编辑 | 泽南、小舟来源 | 机器之心侯晓迪&#xff1a;我被「无故撤职」了。自动驾驶领域又有大事发生。著名自动驾驶卡车公司图森未来&#xff08;TuSimple, TSP&#xff09;10 月 31 日突然表示&#xff0c;已将首席执行官兼联合创始人侯晓迪解雇&#xff0c;该决定立即生效。…

异常处理的最佳习惯

一个被良好设计的错误处理代码块集可以让程序更健壮并且面临更少的崩溃机会&#xff0c;因为这样的应用程序对错误进行了处理。下面的列表包含了异常处理最佳习惯中的建议&#xff1a;知道什么时候要设立 try/catch 块。例如&#xff0c;你可以通过编程来检查可能发生在使用异常…

LeetCode 299. 猜数字游戏

1. 题目 你正在和你的朋友玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff1a;你写下一个数字让你的朋友猜。 每次他猜测后&#xff0c;你给他一个提示&#xff0c;告诉他有多少位数字和确切位置都猜对了&#xff08;称为“Bulls”, 公牛&#xff09;&#xff0…

手机内部零件名称图解_旧手机回收后都干嘛了?

以下为正文有问题不懂&#xff1f;有事情不知道&#xff1f;疑难问题需要求解&#xff1f;快来汉中艾特闹APP提问贴心小编和60万汉中艾特闹粉丝为你解答‍汉中艾特闹APP【有问必答】栏目已上线新一期网友提问来了↓↓↓网友提问旧手机回收后都干嘛了&#xff1f;对此问题&#…

AI取代人类,可以自动生成prompt了

文 | 智商掉了一地如何才能让大型语言模型按照我们的要求去做&#xff1f;这篇文章给出了回答——近期在 NLP 领域风很大的话题莫过于 Prompt&#xff0c;尤其当大型语言模型&#xff08;LLM&#xff09;与其结合&#xff0c;更是拉近了我们与应用领域之间的距离&#xff0c;当…

Atmospheric Scattering

以前由于硬件限制&#xff0c;很多游戏的天空和地面颜色主要是用贴图模拟&#xff0c;近来硬件的发展&#xff0c;越来越多的游戏开始采用基于比较真实的大气散射模型来实时计算。很多文章的计算最终都将眼睛高度和角度作为参数&#xff0c;这里主要按照Sean O’Neil系列的方法…

程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)

1. 题目 在一个整数数组中&#xff0c;“峰”是大于或等于相邻整数的元素&#xff0c;相应地&#xff0c;“谷”是小于或等于相邻整数的元素。 例如&#xff0c;在数组{5, 8, 2, 6, 3, 4, 3}中&#xff0c;{8, 6}是峰&#xff0c; {3, 2}是谷。 现在给定一个整数数组&#xf…

计算机视觉自学进阶路上不可忽略的几个原创公众号

人工智能行业目前已接近饱和状态&#xff0c;如何从内卷中脱颖而出&#xff0c;除了极强的自律之外&#xff0c;系统性的学习方法也很重要。今天给大家推荐10个原创公众号&#xff0c;这些公众号定期会发些高质量原创&#xff0c;希望可以让你更高效的学习。深度学习与图网络最…

python列表功能默写_初识 Python 作业及默写

1、简述变量量命名规范 2、name input(“>>>”) name变量是什么数据类型? 3.if条件语句的基本结构? 4.用print打印出下面内容: 文能提笔安天下, 武能上马定乾坤. 心存谋略何人胜, 古今英雄唯是君. 5.利用if语句写出猜⼤小的游戏: 设定一个理想数字比如:66&#xff…

关于淘宝的无耻!

前两天在TAOBAO上以个人名义买了两个CN域名,买了之后才知道个人是无权购买CN域名的,这也就是说个人够买的CN域名是没有任何保障的!在购买前,买家没有给出提醒,很明显,买家存在欺诈行为,所以我向TAOBAO发起投诉.下面是投诉处理结果:据淘宝游戏频道免责声明&#xff0c;如买家通过…

整顿职场,从 ROC 曲线开始

文 | 天于刀刀大家好&#xff0c;我是刀刀。这周有个哥们在组会上被领导刁难了一波&#xff0c;来群里吐槽&#xff0c;最后意外地在大神的指导下又复习了一下 precision recall rate &#xff08;PRR&#xff09; 和 ROC 曲线的知识点&#xff1a;后面聊天的画风就彻底转向吐槽…

数据结构--树状数组

文章目录1. 树状数组2. 单点修改3. 区间修改4. 完整代码5. 参考文献1. 树状数组 类似数据结构&#xff1a;线段树&#xff08;Segment Tree&#xff09; 树状数组 跟 线段树 的区别&#xff1a; 树状数组能做的事情&#xff0c;线段树都能做&#xff01;&#xff08;线段树功…

python异常数据处理_Python爬虫提高之异常处理

Python爬虫框架之异常处理 任何访问服务器获取数据的请求&#xff0c;都需要做异常处理&#xff0c;当然爬虫更需要我们对各种异常进行处理。只有这样才能提高爬虫的健壮性。如果我们的爬虫足够健壮&#xff0c;那么就能确保程序几个月不停止。 我们从以下几个方面做出讲解&…