Jeffery Kaneda 金田達也
Jeffery Kaneda 金田達也

@JefferyTatsuya

30 تغريدة 11 قراءة Jul 11, 2023
从下面文章里,GPT-4的细节已经大量泄露
semianalysis.com
GPT-4架构、基础设施、训练数据集、成本、愿景和MoE
揭秘GPT-4:OpenAI在其架构方面做出的工程权衡。
英文可以参考:@Yampeleg
下面情况具体的细节:
推文 2:
参数计数:GPT-4的规模是GPT-3的十倍以上。我们相信它总共有大约1.8万亿个参数,分布在120层中。
推文 3:
混合专家模型 - 确认。OpenAI能够通过使用混合专家(MoE)模型来保持成本在合理范围内。他们在模型中使用了16个专家,每个专家的MLP大约有1110亿个参数。在每次向前传播时,会引导其中的两个专家。
推文 4:
MoE路由:虽然文献中经常谈论如何选择将每个标记路由到哪个专家的高级路由算法,但OpenAI的算法对于当前的GPT-4模型来说,据称非常简单。大约有550亿个共享参数用于注意力。
推文 5:
推断:
每次向前传播推断(生成1个令牌)只使用大约2800亿个参数和大约560 TFLOPs。这与纯密集模型在每次向前传播时需要的1.8万亿参数和大约3700 TFLOP形成了对比。
推文 6:
数据集:
GPT-4是在大约13万亿个令牌上进行训练的。这些并不是唯一的令牌,他们也将更多的令牌作为纪元来计数。纪元数量:文本数据为2个纪元,代码数据为4个纪元。还有来自ScaleAI和内部的数百万行指令微调数据。
推文 7:
GPT-4 32K:
在预训练阶段有一个8000的上下文长度(序列长度)。GPT-4的32k序列长度版本是基于预训练后对8000进行微调的。
推文 8:
批处理大小:
批处理大小在集群上的几天内逐渐增加,但到最后,OpenAI使用的批处理大小为6000万!当然,这“只”是每个专家看到的令牌数为750万的批处理大小,因为并非每个专家都看到所有的令牌。
推文 9:
真实的批处理大小:将这个数字除以序列长度,就可以得到真实的批处理大小。已经停止使用这些误导性的数字。
推文 10:
并行策略:为了在所有的A100s GPU上实现并行,他们使用了8路张量并行,这是NVLink的极限。除此之外,他们还使用了15路管线并行。他们可能使用了ZeRo阶段1。也有可能他们使用了块级FSDP。
推文 11:
训练成本:
OpenAI的GPT-4的训练FLOPS是大约2.15e25,在大约25000个A100上运行了90到100天,使用率大约为32%到36% MFU。这种极低的利用率是由于大量的失败需要从检查点重新开始。
推文 12:
如果他们在云中的成本是每个A100小时1美元,那么这次运行的训练成本将是大约6300万美元。(现在,预训练可以在大约55天内,用8192个H100完成,每个H100小时2美元,总计2150万美元。)
推文 13:
混合专家(MoE)权衡 :
有多个MoE权衡:例如,MoE在推理中非常难以处理,因为并非在每个令牌生成时都使用模型的每一部分。
推文 14:
这意味着当其他部分被使用时,部分可能处于休眠状态。当为用户提供服务时,这确实会严重影响利用率。研究人员已经证明,使用64到128个专家可以比16个专家获得更好的损失,但这只是纯粹的研究。
推文 15:
有多个理由选择较少的专家。OpenAI选择16个专家的一个原因是,更多的专家在许多任务上难以泛化。更多的专家也可能更难以达到收敛。
推文 16:
在如此大规模的训练运行中,OpenAI选择对专家的数量保持更为保守。
推文 17:
GPT-4的推断成本
GPT-4的成本是175B参数Davinchi的3倍。这主要是因为GPT-4需要更大的集群,而实际使用效率更低。
推文 18:
关于它的成本估算,128个A100进行GPT-4 8k seqlen的推断每1k token的成本是0.0049美分,128个H100进行GPT-4 8k seqlen的推断每1k token的成本是0.0021美分。应该注意的是,我们假设了较高的利用率,并保持了较高的批量大小。
推文 19:
多查询注意力(MQA)
OpenAI与所有人一样使用MQA。因此,只需要1个头,KV缓存的内存容量可以显著减少。即便如此,32k seqlen的GPT-4绝对无法在40GB的A100上运行,8k的最大批量大小也有上限。
推文 20:
连续批处理
OpenAI实现了可变批量大小和连续批处理,这样可以在一定程度上允许最大延迟,同时优化推断成本。
推文 21:
视觉多模态
它是与文本编码器分开的视觉编码器,具有交叉注意力。该架构与Flamingo相似。这在GPT-4的1.8T参数之上增加了更多的参数。它在仅文本预训练之后进行了约2万亿个token的微调。
推文 22:
关于视觉模型,OpenAI希望从头开始训练,但它还不够成熟,所以他们希望通过先从文本开始来降低风险。
推文 23:
这种视觉能力的主要目的之一是用于能够阅读网页并转录图片和视频内容的自主代理。
推文 24:
他们训练的一些数据是联合数据(渲染的LaTeX/文本),网页截图,YouTube视频:采样帧,并围绕它运行Whisper以获取转录文字。
推文 25:
推测解码
OpenAI可能在GPT-4的推断上使用推测解码(不是100%确定)。这个想法是使用一个更小、更快的模型提前解码几个token,然后将它们作为一个单独的批次输入到一个大的oracle模型中。
推文 26:
如果小模型对其预测正确,大模型会同意,就可以在一个批次中解码几个token。
推文 27:
但是,如果大模型拒绝了草案模型预测的token,那么其余的批次就会被丢弃。就继续使用大模型。
推文 28:
关于新的GPT-4质量下降的阴谋理论,可能只是因为他们让oracle模型接受来自推测解码模型的较低概率序列。
推文 29:
推断架构
推断在128个GPU的集群上运行。在不同地点的多个数据中心有多个这样的集群。它是在8路张量并行和16路流水线并行下完成的。每个8个GPU的节点只有大约130B的参数。
推文 30:
模型有120个,所以它适合在15个不同的节点上。可能在第一个节点上的层数较少,因为它还需要计算嵌入。
推文 31:
根据这些数字:OpenAI应该训练了2倍的token,如果他们试图按照chinchilla的最优进行。这说明他们正在努力获取高质量的数据。

جاري تحميل الاقتراحات...