7月11日,半导体咨询研究公司SemiAnalysis发布文章,对OpenAI的GPT-4模型的架构、训练数据集、参数、成本等重要信息进行了深度揭秘。(地址:https://www.semianalysis.com/p/gpt-4-architecture-infrastructure?nthPub=11)
文章指出,GPT-4的模型参数在1.8万亿左右、13万亿训练数据、一次训练成本6300万美元等。
SemiAnalysis曾曝光过谷歌的内部文件“我们、OpenAI都没有护城河”,其真实性得到了验证。所以,此次爆料的GPT-4大模型数据,不少人认为比较靠谱。
例如,此次爆料的GPT-4的参数在1.8万亿左右。前几天著名黑客George Hotz在接受采访时表示,GPT-4由8个混合模型组成每个模型参数为2200亿,数据上基本一致。
理论上,考虑到数据通信和计算时间,15个管线就有些多了。但是一旦加上了KV缓存和成本,如果OpenAI使用的GPU大部分是40GB的A100,那这样的构架在理论上就是有意义的。
如果OpenAI云计算的成本是差不多1美元/每A100小时的话,那么在这样的条件下,仅一次训练的成本大约是6300万美元。不包括所有的实验、失败的训练和其他成本,例如,数据收集、RLHF、人力成本等。
如果使用约8192个H100 GPU(每小时2 美元)进行预训练,时间降至55 天左右,成本为 2150 万美元。
SemiAnalysis认为,到今年年底,将有 9 家公司拥有更多H100。其中,Meta 将拥有超过 10万个H100,但其中很大一部分将分布在其数据中心用于推理。
专家模型的权衡
MoE是一种在推理过程中减少参数量的很好方法,但同时他会增加参数量。如果OpenAI真的想追求最佳性能,他们需要训练2倍的token数据才能达到。
采用相对比较少的专家模型的原因很多,OpenAI选择16个专家的原因之一在于,在执行许多任务上,更多的专家模型很难泛化,也更难实现收敛。
推测性解码
推测解码OpenAI在GPT-4的推理过程中使用了——推测解码(Speculative Decoding)。
推测解码的基本原理是使用一个更小、更快的草案模型提前解码多个token,然后将它们作为一个批输入到预测模型中。如果OpenAI使用推测解码,可能只在大约4个token的序列中使用。
此外,谷歌的Bard可能也使用了同样的技术,会等待整个序列生成后再将其发送给用户。
视觉多模态
这是一个独立于文本编码器的视觉编码器,二者之间存在交叉注意力,该架构与 Flamingo类似。这在GPT-4的1.8万亿个参数之上增加了更多参数。
GPT-4多模态能力是在文本预训练之后,又用大约2万亿token进⾏了微调。对于视觉模型,OpenAI 本来希望从零开始训练,但由于其尚未成熟,所以他们决定先从文本开始训练来降低风险。据悉,从GPT-5开始,将从头进行视觉训练并且能生成图像,甚至处理音频内容。
这种视觉能力的主要目的之一是,使自主智能体能够阅读网页并转录图像和视频中的内容。他们训练的一部分数据是联合数据(包括渲染的 LaTeX / 文本)、网页的截屏、YouTube 视频(采样帧),并使用 Whisper 对其进行运行以获取转录文本。