🚀 CPM-Generate
CPM(中文预训练语言模型)是基于Transformer的自回归语言模型,拥有26亿参数和100GB中文训练数据。它能助力下游中文NLP任务,如对话、文章生成、完形填空和语言理解等。
🚀 快速开始
CPM(中文预训练语言模型)是一个基于Transformer的自回归语言模型,拥有26亿参数,使用100GB中文数据进行训练。据我们所知,CPM是目前最大的中文预训练语言模型,可促进下游中文自然语言处理任务,如对话、文章生成、完形填空和语言理解等。
项目链接
模型下载
论文链接
✨ 主要特性
- 基于Transformer架构的自回归语言模型。
- 拥有26亿参数,使用100GB中文数据进行训练。
- 可促进多种下游中文自然语言处理任务。
📦 安装指南
暂未提及安装相关内容,跳过该章节。
💻 使用示例
基础用法
from transformers import TextGenerationPipeline, AutoTokenizer, AutoModelWithLMHead
tokenizer = AutoTokenizer.from_pretrained("TsinghuaAI/CPM-Generate")
model = AutoModelWithLMHead.from_pretrained("TsinghuaAI/CPM-Generate")
text_generator = TextGenerationPipeline(model, tokenizer)
text_generator('清华大学', max_length=50, do_sample=True, top_p=0.9)
📚 详细文档
预期用途与限制
如何使用
上述代码示例展示了如何使用CPM-Generate进行文本生成。
限制与偏差
CPM生成的文本是由在大量文本上训练的神经网络模型自动生成的,并不代表作者或其机构的官方态度和偏好。CPM生成的文本仅用于技术和科学目的。如果它侵犯了您的权益或违反了社会道德,请不要传播,并联系作者,作者将及时处理。
训练数据
我们在预训练中收集了不同类型的文本,包括百科、新闻、小说和问答等。训练数据的详细信息如下:
数据来源 |
百科 |
网页 |
故事 |
新闻 |
对话 |
大小 |
~40GB |
~39GB |
~10GB |
~10GB |
~1GB |
训练过程
基于对学习率和批量大小的超参数搜索,我们将学习率设置为 \(1.5\times10^{-4}\),批量大小设置为 \(3,072\),这使得模型训练更加稳定。在第一个版本中,我们仍然采用密集注意力机制,最大序列长度为 \(1,024\)。未来我们将实现稀疏注意力机制。我们对模型进行了 \(20,000\) 步的预训练,前 \(5,000\) 步用于热身。优化器使用Adam。使用64块NVIDIA V100训练我们最大的模型需要两周时间。
评估结果
我们在少样本(甚至零样本)设置下,对不同参数数量的CPM(详情如下)在各种中文NLP任务上进行了评估。随着参数数量的增加,CPM在大多数数据集上表现更好,这表明更大的模型在语言生成和语言理解方面更熟练。我们提供了文本分类、中文成语完形填空和短文本对话生成的结果如下。更多详细结果请参考我们的论文。
文本分类任务的零样本性能
|
TNEWS |
IFLYTEK |
OCNLI |
CPM-Small |
0.626 |
0.584 |
0.378 |
CPM-Medium |
0.618 |
0.635 |
0.379 |
CPM-Large |
0.703 |
0.708 |
0.442 |
中文成语完形填空(ChID)数据集上的性能
|
有监督 |
无监督 |
CPM-Small |
0.657 |
0.433 |
CPM-Medium |
0.695 |
0.524 |
CPM-Large |
0.804 |
0.685 |
短文本对话生成(STC)数据集上的性能
|
平均 |
极值 |
贪心 |
Dist-1 |
Dist-2 |
少样本(无监督) |
|
|
|
|
|
CDial-GPT |
0.899 |
0.797 |
0.810 |
1,963 / 0.011 |
20,814 / 0.126 |
CPM-Large |
0.928 |
0.805 |
0.815 |
3,229 / 0.007 |
68,008 / 0.154 |
有监督 |
|
|
|
|
|
CDial-GPT |
0.933 |
0.814 |
0.826 |
2,468 / 0.008 |
35,634 / 0.127 |
CPM-Large |
0.934 |
0.810 |
0.819 |
3,352 / 0.011 |
67,310 / 0.233 |
BibTeX引用和引用信息
@article{cpm-v1,
title={CPM: A Large-scale Generative Chinese Pre-trained Language Model},
author={Zhang, Zhengyan and Han, Xu, and Zhou, Hao, and Ke, Pei, and Gu, Yuxian and Ye, Deming and Qin, Yujia and Su, Yusheng and Ji, Haozhe and Guan, Jian and Qi, Fanchao and Wang, Xiaozhi and Zheng, Yanan and Zeng, Guoyang and Cao, Huanqi and Chen, Shengqi and Li, Daixuan and Sun, Zhenbo and Liu, Zhiyuan and Huang, Minlie and Han, Wentao and Tang, Jie and Li, Juanzi and Sun, Maosong},
year={2020}
}
📄 许可证
本项目采用MIT许可证。