模型计算量估计,训练时间预测 Scaling Laws for Neural Language Models

一、模型计算量

C ≈ 6N*D

其中C表示训练语言模型所需的总计算量,N表示模型参数量,D表示用于训练的语料总量,6表示每训练一个token所需的浮点计算量约为6N,其中前向计算2N,反向计算4N。

注意:这里的6是针对Transformers,如果其它模型结构,还请重新确定每个参数的平均计算量。开了激活点检查activation checkpoint,这个系数是8。

激活检查activation checkpoint通过在前向传播过程中只存储一部分(而不是全部)的激活值来减少存储空间消耗。对于没有存储的激活值,如果在后向传播过程中需要它们,就重新计算这些值。这种方法可以显著减存储占用,但是会增加计算开销,因需要重新计算一些激活值。

举个例子

哈哈哈,还是例子好理解。

比如我现在要训练模型参数量为175B,用于训练的语料总量为300B,即

N=175B=175*10^9

D=300B=300*10^9

那么训练模型所需的总计算量为:

C ≈ 6N*D=6*175B*300B=6*175*10^9*300*10^9=3.15*10^23=3.15*10^7 PFlops

二、模型训练耗时估计

哈哈哈,都知道所需的总的计算量,那不是轻轻松松估计训练耗时。

T=C/(MFU*S)

其中C表示训练语言模型所需的总计算量,S表示训练模型所用集群的算力,MFU(Model FLOPs Utilization)训练模型时的算力利用率。

举个例子

比如我现在训练模型所需总计算量为3.15*10^7 PFlops,集群算力能力为3924.44565 PFlops/s,训练模型时的算力利用率为55.2%,即:

C =3.15*10^7 PFlops

S=3924.4 PFlops/s=卡的数量*每张卡的算力

MFU=55.2%

则训练该模型所需的时间为:

T=C/(MFU*S)=3.15*10^7/(55.2%*3924.4)=14541秒=4小时

注意:这里的算力利用率是整个训练过程中的算力利用率,有的地方的算力利用率是计算的时候的算力利用率,不考虑纯通信和集群故障。如果想获取训练总时间,这些时间需单独考虑。

视频教程:

模型计算量预测 训练时间估计_哔哩哔哩_bilibili

参考文献:

[2001.08361] Scaling Laws for Neural Language Models (arxiv.org)

相关推荐
后端小肥肠6 分钟前
别再眼馋 10w + 治愈漫画!Coze 工作流 3 分钟出成品,小白可学
人工智能·aigc·coze
唐某人丶3 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
FIT2CLOUD飞致云3 小时前
九月月报丨MaxKB在不同规模医疗机构的应用进展汇报
人工智能·开源
阿里云大数据AI技术3 小时前
【新模型速递】PAI-Model Gallery云上一键部署Qwen3-Next系列模型
人工智能
袁庭新4 小时前
全球首位AI机器人部长,背负反腐重任
人工智能·aigc
机器之心4 小时前
谁说Scaling Law到头了?新研究:每一步的微小提升会带来指数级增长
人工智能·openai
算家计算4 小时前
AI配音革命!B站最新开源IndexTTS2本地部署教程:精准对口型,情感随心换
人工智能·开源·aigc
量子位4 小时前
马斯克周末血裁xAI 500人
人工智能·ai编程
算家计算4 小时前
OpenAI最强编程模型GPT-5-Codex发布!可独立编程7小时,编程效率提升10倍
人工智能·ai编程·资讯
聚客AI6 小时前
🌟大模型为什么产生幻觉?预训练到推理的漏洞全揭秘
人工智能·llm·掘金·日新计划