模型简介
星辰语义大模型TeleChat是由中电信人工智能科技有限公司研发训练的大语言模型,TeleChat-12B模型基座采用3万亿 Tokens中英文高质量语料进行训练。TeleChat-12B-bot在模型结构、训练数据、训练方法等方面进行了改进,在通用问答和知识类、代码类、数学类榜单上相比TeleChat-7B-bot均有大幅提升。
使用场景
TeleChat模型不仅支持deepspeed微调和多轮对话能力,还在外推能力和长文生成方面展现出优异表现。其开源版本包括12B模型的int8和int4量化版本,可广泛应用于多种Al场景,如智能对话、长文本生成等。
评测效果
TeleChat模型与同规模的其他模型相比,在评测效果方面也展现出了较好的表现。其评测集广泛涵盖了MMLU、C-Eval、GAOKAO、AGIEval、CMMLU、GSM8K、MATH、HumanEval、CHID等多个数据集,这些评测集全面评估了TeleChat模型在自然语言理解、知识问答、数学计算和推理、代码生成等多个方面的能力。
评测结果如下
Model | MMLU | C-Eval | CMMLU | AGIEval | GAOKAO | GSM8K | MATH | HumanEval | CSL | CHID | EPRSTMT | BBH | HellaSwag |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5-shot | 5-shot | 5-shot | zero-shot | zero-shot | 4-shot | 4-shot | zero-shot | zero-shot | zero-shot | zero-shot | 3-shot | zero-shot | |
LLaMA2-7B-chat | 46.2 | 31.9 | 31.5 | 28.5 | 16.1 | 26.3 | 3.9 | 12.2 | 58.8 | 44.1 | 57.5 | 35.6 | 74.1 |
LLaMA2-13B-chat | 54.6 | 36.2 | 38.7 | 32.3 | 18.6 | 29.6 | 5.0 | 18.9 | 61.2 | 48.0 | 59.4 | 40.2 | 78.2 |
ChatGLM2-6B-chat | 45.9 | 52.6 | 49.3 | 39.0 | 46.4 | 28.8 | 6.5 | 11.0 | 61.2 | 57.9 | 71.2 | 32.7 | 57.0 |
ChatGLM3-6B-chat | 51.9 | 53.8 | 54 | 38.9 | 49.3 | 56.7 | 18.7 | 61 | 65.6 | 63.4 | 85 | 44.6 | 62.7 |
Baichuan2-7B-chat | 52.8 | 55.6 | 54.0 | 35.3 | 39.7 | 32.8 | 6 | 13.4 | 60 | 75.2 | 87.5 | 35.8 | 61.6 |
Baichuan2-13B-chat | 57 | 56.7 | 58.4 | 40 | 51.4 | 55.3 | 8.6 | 17.7 | 63.1 | 78.2 | 87.5 | 49.9 | 66.9 |
Qwen-7B-chat | 56.6 | 59.3 | 59.5 | 41.3 | 63.3 | 52.5 | 10.3 | 26.2 | 63.1 | 72.3 | 88.8 | 46.9 | 59.9 |
Qwen-14B-chat | 66.4 | 71.7 | 70.0 | 47.3 | 76.5 | 61.0 | 26.8 | 36.6 | 55.6 | 72.3 | 91.2 | 58.0 | 65.2 |
TeleChat-1B-chat | 36.5 | 53.3 | 42.1 | 32.1 | 34.5 | 36.8 | 7.2 | 12.8 | 45.62 | 69.8 | 87.5 | 37.4 | 29.6 |
TeleChat-7B-chat | 60.5 | 64.6 | 64.3 | 46.8 | 59 | 36.7 | 10.3 | 20.1 | 66.8 | 88.0 | 87.5 | 19.5 | 36.7 |
TeleChat-12B-chat | 73.3 | 66.6 | 74.2 | 51.7 | 53.1 | 57.2 | 16.0 | 22.0 | 60.6 | 83.2 | 86.3 | 52.2 | 71.5 |
说明 :MMLU、AGIEval、GAOKAO、CSL、CHID、EPRSTMT等数据集均基于OpenCompass平台提供的评测方法进行评估。对于对比模型,我们同时参考了官方汇报的结果以及OpenCompass平台的评估结果,以确保评估的全面性和公正性。此外,中电信在评测MMLU与C-Eval榜单时,采用了自己的评测脚本,具体方法可参见 evaluation/
文件夹内的相关文档。
技术亮点
TeleChat-12B-bot在模型结构、训练数据、训练方法等方面进行了改进,在通用问答和知识类、代码类、数学类榜单上相比TeleChat-7B-bot均有大幅提升。
- 在模型结构方面,使用小规模的模型尝试多种模型结构的组合,选择最优结构。相比TeleChat-7B-bot模型,TeleChat-12B-bot模型采用了词嵌入层与输出层解耦的结构,将词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。
- 在训练数据方面,收集了覆盖书籍、百科、新闻、政务、法律、医药、专利、论文、数学、代码等诸多方面的大量中英文数据;通过优化数据清洗策略大幅提升数据的文本干净度、观点无偏性、内容有效性、格式规范性。
- 在训练方法方面,使用科学数据配比学习与课程学习的方法,使用小参数模型在多种数据配比的数据上拟合,得到对各个数据集难度的先验估计;训练过程中每隔一段时间自动化评估当前模型在所有数据集上的loss,以及在评测集上的生成效果,动态提升较难学习的数据集权重,保证模型在各个数据集上都有较佳的拟合效果。
模型结构
采用标准的 Decoder-only
结构设计了 TeleChat 模型,并在模型维度做了如下的一些改进:
- 位置编码:我们引入了 Rotary Embedding 的位置编码方法。该方法将相对位置信息集成到 self-attention 机制中,不仅增强了模型对位置信息的捕捉能力,还具备较好的位置外推性。此外,Rotary Embedding 与 Flash-Attention v2 配合使用时,能够显著提升模型的训练速度,大约提高了20%。
- 激活函数:为了优化模型的计算效率和性能,我们选用了 SwiGLU 激活函数来替代传统的 GELU 激活函数。同时,为了进一步减少计算量,我们将 ffn_hidden_size 设置为小于原始 SwiGLU 结构中推荐的4倍隐藏层大小。这一调整有助于在保证模型性能的同时,降低计算成本。
- 层标准化:在模型架构中,我们采用了基于 RMSNorm 的 Pre-Normalization 方法。这种方法在层标准化过程中,通过引入 RMS(Root Mean Square,均方根)归一化,使得模型在训练过程中更加稳定,有助于提升收敛速度和模型性能。
- 词嵌入层与输出层解耦:在 TeleChat-12B-bot 版本中,我们将词嵌入层和输出层的参数进行了解耦。这种设计使得词嵌入层和输出lm head层可以独立地进行优化,从而增强了模型的训练稳定性和收敛性。这一改进对于提升大模型的训练效果和性能尤为重要。
综上所述,通过对 TeleChat 模型在位置编码、激活函数、层标准化以及词嵌入层与输出层解耦等方面的改进,我们旨在打造一个更加高效、稳定且性能优异的对话生成模型。
模型开源
- 支持DeepSpeed微调:我们支持使用DeepSpeed进行模型微调,并已经开源了基于DeepSpeed的训练代码。这段代码不仅便于用户进行高效的模型训练,还具备一系列优化特性。
- Zero并行显存优化:开源的训练代码中集成了Zero并行显存优化技术,这一技术能够显著提升训练过程中的显存利用率,使得在有限资源下训练更大规模的模型成为可能。
- 集成FlashAttention2:我们的训练代码还集成了FlashAttention2,这是一种高效的注意力机制实现,能够进一步加速模型的训练过程,提高训练效率。
- 多轮对话能力支持:为了提升模型在复杂对话场景中的表现,我们开源了多轮数据构建方式,并针对多轮模型训练集成了特定的mask loss训练方式。这种训练方式有助于模型更好地聚焦多轮对话中的关键信息,从而提升问答效果和用户体验。
- 外推能力提升:我们开源了8K训练版本的模型,并采用了NTK-aware外推和attention scaling外推方式。这些技术使得模型能够成功外推到96K的更大规模,显著增强了模型的外推能力和泛化性能。
- 长文生成能力:该模型还展现出了较强的长文生成能力,在多个长文写作任务上表现优异,包括但不限于工作总结、工作计划、PPT大纲、申论、招标书、邮件、方案、周报以及JD(职位描述)写作等。这些实际应用场景的验证,充分证明了模型在复杂文本生成任务中的强大实力和广泛应用潜力。
声明、协议、引用
声明
不要使用TeleChat模型及其衍生模型进行任何危害国家社会安全或违法的活动,不要将TeleChat模型用于没有安全审查和备案的互联网服务。希望所有使用者遵守上述原则,确保科技发展在合法合规的环境下进行。
中电信尽可能确保模型训练过程中使用的数据的合规性,由于模型和数据的复杂性,仍有可能存在一些无法预见的问题。因此,如果由于使用TeleChat开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,中电信不承担任何责任。
协议
社区使用 TeleChat 模型需要遵循《TeleChat模型社区许可协议》。
TeleChat模型支持商业用途,如果您计划将 TeleChat 模型或其衍生品用于商业目的,您需要通过以下联系邮箱 tele_ai@chinatelecom.cn,提交《TeleChat模型社区许可协议》要求的申请材料。审核通过后,将特此授予您一个非排他性、全球性、不可转让、不可再许可、可撤销的商用版权许可。
引用
如需引用,请使用如下 reference:
@misc{wang2024telechat,
title={TeleChat Technical Report},
author={Zihan Wang and Xinzhang Liu and Shixuan Liu and Yitong Yao and Yuyao Huang and Zhongjiang He and Xuelong Li and Yongxiang Li and Zhonghao Che and Zhaoxi Zhang and Yan Wang and Xin Wang and Luwen Pu and Huihan Xu and Ruiyu Fang and Yu Zhao and Jie Zhang and Xiaomeng Huang and Zhilong Lu and Jiaxin Peng and Wenjun Zheng and Shiquan Wang and Bingkai Yang and Xuewei He and Zhuoru Jiang and Qiyi Xie and Yanhan Zhang and Zhongqiu Li and Lingling Shi and Weiwei Fu and Yin Zhang and Zilu Huang and Sishi Xiong and Yuxiang Zhang and Chao Wang and Shuangyong Song},
year={2024},
eprint={2401.03804},
archivePrefix={arXiv},
primaryClass={cs.CL}
}