2024 年伊始,中国电信开源星辰语义大模型- 7B,成为第一家开源大模型的央企。同时开源的还有超 1T 的高质量清洗基础数据。
随着新一轮科技革命和产业变革加速演进,拥抱 AI 成为中国电信当下发展的核心战略之一。2019 年,中国电信在原数据中心基础上成立大数据和 AI 中心。2023 年11 月,中国电信注资 30 亿元成「中电信人工智能科技有限公司」(以下简称中电信 AI 、 AI 团队),牵头打造中国电信 AI 核心技术。同月,中国电信发布千亿级星辰语义大模型。
开源项目链接地址:
我们采用标准的 Decoder-only 结构设计了 TeleChat 模型,并在模型维度做了如下的一些改进:
位置编码:我们使用 Rotary Embedding 的位置编码方法,该方法将相对位置信息依赖集成到 self-attention 中,并且具有较好的位置外推性。Rotary Embedding 还可以较好地与 Flash-Attention v2 配合使用,将模型的训练速度提升约 20%。
激活函数:我们使用 SwiGLU 激活函数来替代 GELU 激活函数 , 为了减少计算量,将 ffn_hidden_size 设置为小于原始 SwiGLU 中的 4 倍隐藏层大小。
层标准化: 基于 RMSNorm 的 Pre-Normalization。
layer_num | hidden_size | ffn_hidden_size | head_num | 是否使用 embed-layernorm | |
---|---|---|---|---|---|
7B | 30 | 4096 | 12288 | 32 | 否 |
12B | 38 | 5120 | 12288 | 32 | 否 |
支持 deepspeed 微调,开源了基于 deepspeed 的训练代码,支持 Zero 并行显存优化,同时集成了 FlashAttention v2。
多轮能力支持。开源了多轮数据构建方式,针对多轮模型训练集成了针对多轮的 mask loss 训练方式,更好的聚焦多轮答案,提升问答效果。
外推能力提升。开源了 8K 训练版本模型,采用 NTK-aware 外推和 attention scaling 外推方式,可以外推到 96K。
具备较好的长文生成能力。在工作总结、工作计划、PPT 大纲、申论、招标书、邮件、方案、周报、JD 写作等长文写作任务上表现较好。
TeleChat 目前提供了 API、Web 两种部署方式。目前仅提供简单的单卡单并发场景,用于演示和效果测试。
- API 方式:基于 FastAPI
进入 service 文件夹,运行:
$ python telechat_service.py
- Web 方式:基于 streamlit
在完成 API 部署后,运行:
$ streamlit run webdemo.py
参考
Github:Telechat
文档信息
- 本文作者:Bookstall
- 本文链接:https://bookstall.github.io/fragment/2024-01-16-telechat/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)