总结与投票 | 大模型CPM-Ant直播训练的这两个月

作者:OpenBMB
2022-08-15 16:39:42

CPM-Live 总结&展望

决不要停止自学
也不要忘记不管你已经学到了多少东西
已经知道了多少东西
知识和学问是没有止境的
——巴金

 

经过了 68 天的 “自学”CPM-Ant(CPM-Live 一期模型)终于训练完成。训练过程整体平稳,但也有一些小波折。

和现有大模型 BLOOM,OPT 等相比,CPM-Live 系列大模型 倡导 全流程开源共建,除将开放全部参数外,也将授权用户 可商业化 的使用协议。在进行下一期模型训练前,我们也会广泛征集社区意见,争取将大家认为重要的功能加入到 CPM-Live 下一版本中。

在 CPM-Ant 训练完成之后,我们特地总结了训练过程中的 十个数字,来 “数说” CPM-Ant 的学习历程。同时我们也将发起 下一期模型 CPM-Bee 的功能倡议投票,欢迎大家为自己喜欢的功能打 CALL!

虽然目前 CPM-Live 在模型规模、支持语言等方面还暂时难以比肩各位“前辈”,但通过社区群策群力和模型持续学习,CPM-Live 的未来终将是一片星辰大海!


数说 CPM-Live

训练时长68天

—从 5 月 29 日到 8 月 5 日,我们完成了中文大模型 CPM-Ant 的训练,历时 68 天。

参数量100亿

—CPM-Ant 共包含 100 亿参数。在正式发布时,我们还将发布若干个使用 BMCook 工具包压缩后的小模型,敬请期待!

任务数2项

—在预训练中,我们使用了两个任务:生成和填空。

显卡数32块

—我们共使用了 32 块 NVIDIA A100 40G GPU 训练 CPM-Ant。在训练初期,我们仅使用 8 块 GPU,在 6 月 7 日增加至 32 块。

数据量200G

—我们从 11T 原始语料中精选了 200G 高质量中文数据用于训练模型,包含约 500 亿token。由于训练百亿模型约需 2000 亿 token 的数据(详见参考论文),因此 CPM-Ant 在这些数据上共训练了 4 轮。

☞ 参考论文:arxiv.org/pdf/2203.1555

总花费430813¥

—在 BMTrain 的帮助下,本次 CPM-Ant 训练共花费 430813 元,仅为 Google 训练 T5-11B 模型花销(约 130 万美元,详见参考论文)的 1/20!

☞ 参考论文:arxiv.org/pdf/2004.0890

二氧化碳当量4872KG

—CPM-Ant 训练过程的碳排放量约为 4872kgCO2e

☞ 计算网站:mlco2.github.io/impact/#

而谷歌训练 T5-11B 模型时的碳排放量则为 46.7tCO2e

☞ 参考资料:arxiv.org/pdf/2104.1035

约为本次训练碳排放量的 10 倍。可以看到使用 BMTrain 工具包训练大模型低碳又环保!

中断事件6次

—训练共经历过 6 次中断,具体时间和原因如下:

  • 6月6日 13:20 - 6月6日 16:10 服务器升级 GPU 驱动
  • 6月7日 00:30 - 6月7日 17:20增加算力,GPU 数量从 8 块增至 32 块
  • 6月10日 17:40 - 6月12日 02:20 一个计算节点出现故障,同时我们也对模型进行了升级详情参见 6 月 12 日的 日志github.com/OpenBMB/CPM-
  • 6月14日 21:00 - 6月15日 11:50 出现 Out of Memory 错误,原因为磁盘空间不足导致数据读取异常
  • 6月16日08:30 - 6月16日 12:10 一个计算节点出现故障
  • 6月19日09:10 - 6月19日16:10 出现 CUDA Out of Memory 错误,重启训练后该问题未再复现

 

BUG1个

—我们在 6 月 10 日至 12 日对模型的升级过程中引入了一个 bug,导致模型在每次恢复训练时都会从头开始读取数据,该 bug 在 6 月 22 日被发现并修复。从损失函数曲线上可以看到这个 bug 带来的 “副作用”,每当模型学习到开头的数据时,由于已经见过多次,训练损失会变得很低。

 

字符数22545个

—为了让大家更好地跟踪训练过程,我们每天都会更新训练日志,这些日志共包含了 22545 个字符,感谢辛勤的记录员同学。


发布计划

CPM-Ant 训练结束后,我们需要约一个月的时间进行模型性能评测与模型压缩。最终的发布内容将会包括 一份技术报告、最终的模型参数(包括压缩后的版本)以及部分趣味应用。发布内容将会在 官方网站 GitHub 等平台同步更新,大家敬请期待!

值得一提的是,CPM-Ant 训练结束后,CPM-Live 的训练历程并没有停止。在这个阶段中,模型将会在 CPM-Ant 的基础上学习更多的数据并扩展新的功能,所有这些工作将会以 CPM-Ant + 的形式发布并会对下一版本 CPM-Bee 有所贡献。


CPM-BEE 功能倡议

在 CPM-Ant 正式发布后,CPM-Live 将正式开启下一阶段的训练,即 CPM-Bee。在正式训练之前,我们整理了社区和开发团队的功能倡议并在 GitHub 讨论区发起投票,欢迎大家积极参与,为你支持的 CPM-Bee 新功能打 CALL!

参与投票

—————————————————————————————————

您希望在 CPM-Live 第二期(CPM-Bee)增加哪些功能与特性?

多语言:对英语以及其他语种支持

多语言:词表动态扩展功能

新功能:预训练阶段引入摘要功能

新功能:预训练阶段引入问答功能

新功能:预训练阶段引入可控生成功能

结构化:新增结构化位置编码

结构化:模型输入输出统一为 JSON 格式

领域数据:增加法律领域数据

领域数据:增加金融领域数据

领域数据:增加专利数据

领域数据:增加学术论文数据

领域数据:增加用户自定义数据

投票方式

(1)打开 live.openbmb.org 点击右上角“投票”按钮跳转到 GitHub

(2)在 GitHub 页面中选择你支持的功能(可多选,所有需投票的功能都包含 [CPM-Bee] 标签),点击前方按钮即可投票!

 

 


投票福利

截至 8 月 19 日 18 时,投票成功的同学将 GitHub 截图 回复至 “OpenBMB开源社区” 公众号后台,即可获取 OpenBMB 精美周边(前 10 名+随机抽取 10 名)!

 

此外,欢迎感兴趣的各位同学在公众号后台回复 “CPM-Live” 加入 CPM-Live 训练加油群,群内将为参与开源社区贡献的同学不定期发放福利~

正如引言所说,知识和学问永无止境,CPM-Live 也将持续学习。欢迎对持续学习大模型 CPM-Live 感兴趣的同学加入我们,一起为 CPM-Live 的构建出谋划策、添砖加瓦!