综合考虑数据和算力规模,CPM-Live将以10B模型训练为起点,我们将其命名为CPM-Ant。CPM-Ant 10B大模型训练将于2022年5月29日启动,预计整个训练周期为5个月。
CPM-Ant的模型架构与主要设置如下:
-
基于提示模板的多段式框架设计(prompt-based multi-segment framework):提示模板(prompt)用以实现模型在理解、生成、摘要等功能之间的快速切换,也易于添加新的功能(学习新的prompt)。
文本段(segment)提供基础的文本编码能力,通过段表示(segment embedding)来影响模型编码模式,复杂的文本编码模式可以拆解成若干基础段的组合,例如编码-解码框架可以拆解成一个编码段+一个解码段的组合。对于每一个基础段,段内采用相对位置编码。
基于提示模板和文本段的组合、拼接,结构简单且易于实现增加、修改模块,进行持续学习和功能更新。
-
共享embedding:CPM-Ant输入embedding及输出embedding会共享参数,这点与BERT、GPT、T5一致,与T5-1.1、mT5不一致。我们的实验表明共享输入输出的embedding参数会极大增强训练稳定程度,而不共享embedding参数易于导致训练过程出现NaN。
-
无bias:我们的模型中,各类线性变换及layer norm均不设置bias。一方面源于不设置bias的模型训练稳定性会更强,另一方面也是不设置bias的模型在计算速度及显存消耗上要更占优。
-
动态词表:对于词表,初始阶段我们将提供大小为30000的中文词表,在后续训练过程中会结合新数据情况进行动态变动。
模型训练过程中重点进行性能监控与问题处理,收集功能倡议与社区讨论意见并进行模型修改与反馈。主要计划开展相关工作如下:
- 实时:展示模型训练指标曲线
- 每日:发布单日模型训练日志
- 每周:集中处理反馈来自社区的讨论与意见
- 不定期:发布模型训练的中间checkpoint并提供用户下载
模型训练完成后,CPM-Ant将对社区模型提议进行整理与集成,并将模型进行相应尺度的压缩,准备总结报告并陆续公布相关模型。此外,对于未能采纳的部分社区提议,我们将考虑引入到下一代模型训练中,并开始进行下一代模型的训练筹备。
CPM-Ant采用1TB原始数据,清洗后得到200GB高质量数据,数据详情如下表所示:
数据来源 | 占比 | 文档平均长度(字) | 句子平均长度(字) | 平均PPL(mGPT)* |
---|---|---|---|---|
书籍 | 33.02% | 248495.71 | 32.93 | 273.777 |
网页 | 21.52% | 665.83 | 28.304 | 141.53 |
小说 | 20.76% | 62317.79 | 30.839 | 69.98 |
杂志 | 11.95% | 2534.16 | 39.06 | 83.22 |
学术 | 4.77% | 173.8 | 58.044 | 39.04 |
百科 | 2.25% | 1081.33 | 32.466 | 2072.53 |
新闻 | 1.79% | 717.87 | 43.717 | 56.85 |
其它 | 3.95% | 852.36 | 37.68 | 395.26 |
* 使用mGPT计算得到句子平均PPL |