Randeng T5 784M MultiTask Chinese
基于Randeng-T5-784M模型,在100+个中文数据集上进行多任务预训练,支持多种自然语言处理任务。
下载量 430
发布时间 : 10/21/2022
模型简介
该模型是一个多任务中文文本到文本生成模型,支持情感分析、新闻分类、文本分类、意图识别、自然语言推理等多种任务。
模型特点
多任务支持
在100+个中文数据集上进行微调,涵盖多种自然语言处理任务。
高性能
在中文零样本基准测试ZeroClue中位列第三,基于T5的模型中排名第一。
统一范式
采用Text2Text统一范式进行有监督任务预训练。
模型能力
文本生成
情感分析
新闻分类
文本分类
意图识别
自然语言推理
多项选择
指代消解
抽取式阅读理解
实体识别
关键词抽取
生成式摘要
使用案例
文本分类
新闻分类
对新闻文章进行分类,如科技、体育、财经等类别。
示例输入输出:输入新闻标题,输出分类结果(如'科技')。
自然语言理解
意图识别
识别用户输入的意图,如查询、命令等。
🚀 燃灯-T5-784M-多任务-中文模型
燃灯-T5-784M-多任务-中文模型基于Text2Text统一范式,在约100个中文数据集上进行有监督任务预训练。该模型在中文zero-shot榜单ZeroClue上取得了第三名(不包括人类)的成绩,在所有基于T5(encoder-decoder架构)的模型中排名第一。
🚀 快速开始
模型主页与代码仓库
- 主页面:封神榜
- GitHub仓库:Fengshenbang-LM
模型使用示例
以下是使用该模型进行新闻分类的示例代码:
import torch
from transformers import T5Tokenizer, T5Config, T5ForConditionalGeneration
# load tokenizer and model
pretrained_model = "IDEA-CCNL/Randeng-T5-784M-MultiTask-Chinese"
special_tokens = ["<extra_id_{}>".format(i) for i in range(100)]
tokenizer = T5Tokenizer.from_pretrained(
pretrained_model,
do_lower_case=True,
max_length=512,
truncation=True,
additional_special_tokens=special_tokens,
)
config = T5Config.from_pretrained(pretrained_model)
model = T5ForConditionalGeneration.from_pretrained(pretrained_model, config=config)
model.resize_token_embeddings(len(tokenizer))
model.eval()
# tokenize
text = "新闻分类任务:【微软披露拓扑量子计算机计划!】这篇文章的类别是什么?故事/文化/娱乐/体育/财经/房产/汽车/教育/科技"
encode_dict = tokenizer(text, max_length=512, padding='max_length',truncation=True)
inputs = {
"input_ids": torch.tensor([encode_dict['input_ids']]).long(),
"attention_mask": torch.tensor([encode_dict['attention_mask']]).long(),
}
# generate answer
logits = model.generate(
input_ids = inputs['input_ids'],
max_length=100,
do_sample= True
# early_stopping=True,
)
logits=logits[:,1:]
predict_label = [tokenizer.decode(i,skip_special_tokens=True) for i in logits]
print(predict_label)
# model output: 科技
除了分类任务,其他任务的数据构造例子如下:
example_dict={
"文本分类":{"text_a":"钢琴块3别踩白块儿3钢琴块3是一款简洁的钢琴模拟软件,在Android平台上,类似的软件还是比较多的。","choices":["相机","影视娱乐","棋牌中心","新闻","财经","策略","休闲益智","教育"]},
'新闻分类':{"text_a":"微软披露拓扑量子计算机计划!","choices":["故事","文化","娱乐","体育","财经","房产","汽车","教育","科技"]},
'情感分析':{"text_a":"刚买iphone13 pro 还不到一个月,天天死机最差的一次购物体验","choices":["好评","差评"]},
'意图识别':{"text_a":"打电话给吴小军。","choices":["放音乐","播放下一首","打电话","退出导航","开始导航","其他","暂停音乐","导航","开导航"]},
'语义匹配':{"text_a":"今天心情不好","text_b":"我很不开心","choices":["相似","不相似"]},
'自然语言推理':{"text_a":"小明正在上高中","text_b":"小明是一个初中生","choices":["无关","矛盾","蕴含"]},
'多项选择':{"text_a":"这大家千万不能着急,我们现在只是暂时输了7分。距离比赛结束还有20多分钟呢,我们是完全有机会转败为赢的,大家加油!","question":"说话人希望大家:","choices":["别得意","冷静一些","加快速度","提前预习"]},
'指代消解':{"text_a":"李鸣觉得董客这人,踏实得叫人难受。可因为孟野和森森太疯,他只好去找董客聊天,但在董客眼里,李鸣也是不正常,他竟然放着现成的大学不愿上。","question":"【他】指的是【李鸣】吗?","choices":["是","不是"]},
'实体识别':{"text_a":"北京大学是我国的一座历史名校,坐落在海淀区,蔡元培曾经担任校长","question":"机构"},
'抽取式阅读理解':{"text_a":"《H》正式定档3月7日下午两点整在京东商城独家平台开启第一批5000份预售,定价230元人民币,回馈最忠实的火星歌迷,意在用精品回馈三年来跟随华晨宇音乐不离不弃的粉丝们的支持与厚爱","question":"华晨宇专辑h预售价格是多少?"},
'关键词抽取':{"text_a":"今儿在大众点评,找到了口碑不错的老茶故事私房菜。"},
'关键词识别':{"text_a":"今儿在大众点评,找到了口碑不错的老茶故事私房菜。","question":"请问这篇文章的关键词是大众点评、老茶私房菜吗?","choices":["是","不是"]},
"生成式摘要":{"text_a":"针对传统的流量分类管理系统存在不稳定、结果反馈不及时、分类结果显示不直观等问题,设计一个基于web的在线的流量分类管理系统.该系统采用流中前5个包(排除3次握手包)所含信息作为特征值计算资源,集成一种或多种分类算法用于在线网络流量分类,应用数据可视化技术处理分类结果.实验表明:在采用适应在线分类的特征集和c4.5决策树算法做分类时,系统能快速做出分类,且精度达到94%以上;数据可视化有助于人机交互,改善分类指导."}
}
# 构造prompt的过程中,verbalizer这个占位key的内容,是通过 "/".join(choices) 拼接起来
dataset2instruction = {
"情感分析": {
"prompt": "{}任务:【{}】这篇文章的情感态度是什么?{}",
"keys_order": ["subtask_type","text_a", "verbalizer"],
"data_type": "classification",
},
"文本分类": {
"prompt": "{}任务:【{}】这篇文章的类别是什么?{}",
"keys_order": ["subtask_type","text_a", "verbalizer"],
"data_type": "classification",
},
"新闻分类": {
"prompt": "{}任务:【{}】这篇文章的类别是什么?{}",
"keys_order": ["subtask_type","text_a", "verbalizer"],
"data_type": "classification",
},
"意图识别": {
"prompt": "{}任务:【{}】这句话的意图是什么?{}",
"keys_order": ["subtask_type","text_a", "verbalizer"],
"data_type": "classification",
},
# --------------------
"自然语言推理": {
"prompt": "{}任务:【{}】和【{}】,以上两句话的逻辑关系是什么?{}",
"keys_order": ["subtask_type","text_a", "text_b", "verbalizer"],
"data_type": "classification",
},
"语义匹配": {
"prompt": "{}任务:【{}】和【{}】,以上两句话的内容是否相似?{}",
"keys_order": ["subtask_type","text_a", "text_b", "verbalizer"],
"data_type": "classification",
},
# -----------------------
"指代消解": {
"prompt": "{}任务:文章【{}】中{}{}",
"keys_order": ["subtask_type","text_a", "question", "verbalizer"],
"data_type": "classification",
},
"多项选择": {
"prompt": "{}任务:阅读文章【{}】问题【{}】?{}",
"keys_order": ["subtask_type","text_a", "question", "verbalizer"],
"data_type": "classification",
},
# ------------------------
"抽取式阅读理解": {
"prompt": "{}任务:阅读文章【{}】问题【{}】的答案是什么?",
"keys_order": ["subtask_type","text_a", "question"],
"data_type": "mrc",
},
"实体识别": {
"prompt": "{}任务:找出【{}】这篇文章中所有【{}】类型的实体?",
"keys_order": ["subtask_type","text_a", "question"],
"data_type": "ner",
},
# ------------------------
"关键词抽取": {
"prompt": "{}任务:【{}】这篇文章的关键词是什么?",
"keys_order": ["subtask_type","text_a"],
"data_type": "keys",
},
"关键词识别":{
"prompt": "{}任务:阅读文章【{}】问题【{}】{}",
"keys_order": ["subtask_type","text_a","question","verbalizer"],
"data_type": "classification",
},
"生成式摘要": {
"prompt": "{}任务:【{}】这篇文章的摘要是什么?",
"keys_order": ["subtask_type","text_a"],
"data_type": "summ",
},
}
def get_instruction(sample):
template = dataset2instruction[sample["subtask_type"]]
# print(template)
# print(sample)
sample["instruction"] = template["prompt"].format(*[
sample[k] for k in template["keys_order"]
])
print(sample["instruction"])
return sample["instruction"]
预训练与微调
如果您对于怎么预训练Randeng-T5模型或者想在自己的下游任务中微调Randeng模型,欢迎使用Fengshenbang-LM项目,这里提供了完整的示例:
✨ 主要特性
- 基于Text2Text统一范式,在约100个中文数据集上进行有监督任务预训练。
- 在中文zero-shot榜单ZeroClue上取得了第三名(不包括人类)的成绩,在所有基于T5(encoder-decoder架构)的模型中排名第一。
- 支持多种自然语言处理任务,如情感分析、新闻分类、文本分类、意图识别等。
📦 安装指南
文档未提及安装步骤,可参考Fengshenbang-LM项目获取相关信息。
📚 详细文档
模型分类
属性 | 详情 |
---|---|
需求 | 通用 |
任务 | 自然语言转换 |
系列 | 燃灯 |
模型 | MultiTask |
参数 | 784M |
额外 | 多任务 - 中文 |
模型信息
参考论文:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
基于Randeng-T5-784M,我们在收集的100+个中文领域的多任务数据集(从中采样了30w+个样本)上微调了它,得到了此多任务版本。这些多任务包括:情感分析,新闻分类,文本分类,意图识别,自然语言推理,多项选择,指代消解,抽取式阅读理解,实体识别,关键词抽取,生成式摘要。
🔧 技术细节
本模型在中文zero-shot榜单ZeroClue上的表现:
📄 许可证
本模型使用Apache-2.0许可证。
📚 引用
如果您在您的工作中使用了我们的模型,可以引用我们的论文:
@article{fengshenbang,
author = {Jiaxing Zhang and Ruyi Gan and Junjie Wang and Yuxiang Zhang and Lin Zhang and Ping Yang and Xinyu Gao and Ziwei Wu and Xiaoqun Dong and Junqing He and Jianheng Zhuo and Qi Yang and Yongfeng Huang and Xiayu Li and Yanghan Wu and Junyu Lu and Xinyu Zhu and Weifeng Chen and Ting Han and Kunhao Pan and Rui Wang and Hao Wang and Xiaojun Wu and Zhongshen Zeng and Chongpei Chen},
title = {Fengshenbang 1.0: Being the Foundation of Chinese Cognitive Intelligence},
journal = {CoRR},
volume = {abs/2209.02970},
year = {2022}
}
也可以引用我们的网站:
@misc{Fengshenbang-LM,
title={Fengshenbang-LM},
author={IDEA-CCNL},
year={2021},
howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98