Skip to the content.

GPT-4 架构,基础设施,训练数据集,成本,视觉,MoE

副标题:揭秘 GPT-4:引领 OpenAI 走向他们架构的工程权衡

TL;DR

Claude-2-100k@Poe

根据这篇文章,主要讲了以下内容:

  1. OpenAI 之所以保密 GPT-4 的架构,不是因为担心存在风险,而是因为它的架构是可以被复制的。作者预计谷歌、脸书、Anthropic 等公司都能在近期拥有与 GPT-4 同样强大的模型。
  2. 介绍了 GPT-4 的模型架构,包括参数量约 180 万亿,采用了混合专家(MoE)结构,以及训练数据集、标记数、层数等参数。
  3. 分析了 GPT-4 在训练和推理方面的工程取舍,包括并行策略、多查询注意力(MQA)、推测解码等技术,以及如何克服巨大模型推理的瓶颈。
  4. 估算了在 A100 和 H100 芯片上训练和推理 GPT-4 的计算成本。
  5. 讨论了 GPT-4 的视觉多模态编码器设计,以及下一代 GPT-5 可能从零开始训练视觉并能生成图像。
  6. 指出视觉模型的 IO 成本与文本模型不同,对未来硬件优化很重要。
  7. 总体来说,文章比较全面地介绍和分析了 GPT-4 的架构、训练和推理等方面的细节。

重要数据

  1. GPT-4 参数量约为 1.8 万亿,分布在 120 层,比 GPT-3 的 1750 亿 参数多 10 倍。
  2. GPT-4 采用了混合专家(MoE)架构,包含 16 个专家,每个前向传播只使用 2 个专家,约 280 亿参数。
  3. GPT-4 在约 13 万亿词元上进行预训练,包含多轮 epoch。
  4. GPT-4 的批量大小达到了 6000 万。
  5. GPT-4 在 25000 个 A100 GPU上训练,耗时 90-100 天,FLOPS 约为2.15e25。
  6. 估计 GPT-4 的训练成本在 6300 万美元左右。
  7. GPT-4 在 128 个 GPU 集群上进行推理,使用 8 路张量并行 + 16 路流水线并行。
  8. GPT-4 的推理成本是 GPT-3 的 3 倍,一个原因是利用率较低。
  9. GPT-4 使用了多查询注意力(MQA)等技术来减少内存需求。
  10. GPT-4 整合了独立的视觉编码器,增加了参数量。

正文

概述

GPT-4 模型架构

数据集

并行策略

训练成本

混合专家

推理

推理成本

多查询注意力

连续批处理

推测性解码

视觉多模态

Nvidia

Misc

术语

多头注意力(Multi-Head Attention)是一种注意力机制,常用于序列数据处理中。在多头注意力中,输入序列被分成多个子序列,并针对每个子序列学习不同的特征表示。这些不同的特征表示可以被拼接在一起,从而增强模型的表达能力。

多查询注意力(Multi-Query Attention):为多头注意力的变体,其中键和值在所有不同的注意力“头”之间共享,大大减少了这些张量的大小,从而减少了增量解码的内存带宽要求。我们通过实验验证了生成的模型确实可以更快地解码,并且与基线相比仅产生轻微的质量下降。

FLOPS 是指每秒钟浮点运算次数(Floating-point Operations Per Second),是衡量计算机性能的一种指标。FLOPS通常用于评估计算机的处理速度和能力,特别是对于需要大量数值计算的应用程序,例如科学计算、深度学习等领域。

管道并行(Pipeline Parallelism)是一种模型并行的技术,用于在多个设备或处理器之间并行计算深度学习模型的不同部分,以加速模型的训练和推理。在管道并行中,模型被分成多个阶段,每个阶段分配到不同的处理器或设备上,每个处理器或设备负责计算相应阶段的输出,并将其传递给下一个阶段进行计算。

混合专家(MOE)是指同时擅长几个不同领域的专家。就像你可能擅长数学、语文和体育一样,一个混合专家可能会擅长设计、编程和营销等多个领域。这些专家能够在不同的领域之间进行交流和合作,从而提供更全面和综合的解决方案。

连续批处理是指在深度学习模型训练过程中,将多个数据批次连续地输入到模型中进行训练的过程。与传统的单个数据训练相比,连续批处理可以更好地利用计算资源,提高训练效率和速度。

MFU(Model FLOPs Utilization)是指模型在进行计算时,实际使用的浮点运算次数占总的浮点运算次数的比例。MFU 越高,意味着模型更加高效地利用了计算资源,计算效率也更高。MFU 通常会受到模型结构、数据集、批量大小等多种因素的影响

MLP 是多层感知器(Multilayer Perceptron)的缩写,是一种常见的神经网络模型。多层感知器由多个全连接层组成,每个全连接层接收上一层的所有神经元作为输入,并将它们作为输出传递给下一层。

密集模型架构是指在深度学习中使用的一种模型架构,用于处理低维密集数据。与稀疏模型不同,密集模型需要处理大量的数据,这些数据中的每个特征都是非零的。在密集模型中,每个输入特征都与输出之间存在一个全连接的权重矩阵,这需要大量的存储空间和计算资源。

Nvlink 是一种将两个或多个显卡连接在一起的技术,以便它们可以协同工作并共享处理能力。这有点像您和您的朋友如何在一个项目上合作以更快地完成它。

批量大小(Batch Size)是指在深度学习模型训练过程中,每个训练迭代中使用的样本数量。在每个训练迭代中,模型会根据批量大小从训练数据集中随机选择一定数量的样本。通常情况下,批量大小越大,训练速度越快,但需要更多的内存和计算资源。而批量大小越小,训练速度越慢,但可以更好地控制模型的过拟合,并且可以更容易地处理不同大小的数据集。

视觉多模态是指我们使用多个感官来获取信息。比如,当我们在观看电影时,我们不仅仅是看到画面,我们还能听到声音和音乐。这些不同的感官输入一起工作,让我们对电影的理解更加深入和全面。

推测性解码是指我们根据先前的经验和知识来预测和猜测未知信息的过程。这个过程在语言学中非常常见。比如,当我们听到一个句子的一部分时,我们可以通过以前的经验和语言知识来猜测下一个单词是什么。推测性解码在阅读和写作中也非常有用,因为它可以帮助我们更好地理解和表达信息。

稀疏模型架构(Sparse Model Architecture)是指在深度学习中使用的一种模型架构,用于处理高维稀疏数据。在稀疏数据中,大多数特征都是零,只有少数特征是非零。传统的深度学习模型需要处理所有特征,这会导致计算开销和存储开销非常大。而稀疏模型架构使用一些特殊的技术来处理这些高维稀疏数据,从而降低了计算和存储开销,并提高了模型的效率和性能。

张量并行(Tensor Parallelism)是一种数据并行的技术,用于在多个处理器或多个设备上并行计算张量操作,以加速深度学习模型的训练和推理。在张量并行中,大型的张量操作被划分成多个小的子操作,这些子操作可以在多个处理器或设备上并行计算。这种方式可以充分利用多个处理器或设备的计算能力,加速模型的训练和推理过程。

相关文档

[1] https://mp.weixin.qq.com/s/kOIoLc9nZDuM-bpNfHvW-A GPT-4 Architecture, Infrastructure,Training Dataset, Costs, Vision, MoE
[2] https://www.semianalysis.com/p/gpt-4-architecture-infrastructure