GPT-4(Generative Pre-trained Transformer 4)是 OpenAI 发布的最新 GPT 系列模型。它是一个大规模多模态模型,相比 GPT-3.5 / ChatGPT,GPT-4 可以接受图像和文本两种形式的输入,产生文本输出。输出依旧是一个自回归的单词预测任务。技术上,GPT-4 采用了专家混合(MoE)技术,进一步增强模型的能力。整体来说,GPT-4 在各种专业和学术基准上表现出了人类的水平,对于生成式的幻觉、安全问题均有较大的改善。
本文将和大家一起深入探索 GPT-4 的架构和能力。
论文地址:https://arxiv.org/abs/2303.08774
模型结构
GPT-4 的体系结构由16个不同的专家模型组成,每个模型都有 111B 个参数,总计约 1.76 万亿个参数。除了更大的参数规模外,另一个重要的细节是 GPT-4 使用了专家混合(Mixture of Experts,简写为 MoE)架构,这意味着模型中的不同组件或“专家”协同工作,每个组件都有助于最终输出。
上图可视了采用 MoE 的 Transformer 层。在 GPT-4 中 Attention 的参数量有 55B,MoE 的参数量是 111B * 16,一共 120 层 Transformer。每个 token 会通过一个路由算法选择两个 MLP 进行计算,参数 seq_len 为 8k,每个 MLP 分到 1k 个 token。
GPT-4 的模型宽度,深度基本和 GPT-3 (175B) 差不多,区别在于 MLP 的数量要多16倍。
并行策略
GPT-4 训练采用的并行策略是:
- 张量并行:8
- 流水并行:16
- 数据并行:196
总计使用约 3125 台机器(25000 张 A100)进行训练。其中 batch size 为 60M token,seq_len 为 8k。
张量并行和流水并行包含了 GPT-4 完整的模型参数,其结构如下:
其中,张量并行通讯耗时占比小于 15%,PipeDream 流水线气泡占比 28% 左右,Interleaved 1F1B 流水线气泡占比 16% 左右。
专家并行
专家混合(Mixture of Experts,简写为 MoE)是一种在模型增强的道路达到极限时采用的实用方法。运作原理很简单——由更简单的模型或“专家”组成一个小组,每个模型或专家都针对数据的特定方面,然后利用他们的集体智慧。
在实践中,这就像处理一项复杂的任务。比如建造一所房子会招聘建筑师、工程师和室内设计师等专业人士,每个人都有自己独特的专业知识。类似地,MoE模型由多个“专家”组成,每个专家都精通某个特定领域,协作以提供增强的结果。如下图所示:
对于 MoE 模型进行并行训练,这里可以做一个初步的估计:按照目前最大的 8 路张量并行,16 路流水线并行计算,每个 GPU 上的参数量是 14B,假设用 FP32 的梯度,则参数和梯度需要占用 84 GB 的显存,目前市面上还没有能完整放下显卡。因此,GPT-4 大概率会使用专家并行(Expert Parallelism)技术来节省显存占用。
模型能力
GPT-4 做的这些改进效果是显著的,相比前代 GPT-3.5/ChatGPT,他具备了新的能力:
-
具有图像理解能力,突破纯文字的模态,增加了图像模态的输入
如下图所示的例子,GPT-4 可以根据图标,计算格鲁吉亚和西亚的日均肉消耗量:
-
支持更长的上下文窗口
如之前所描述的,GPT-4 的 seq_len 为 8k,是 ChatGPT 上下文长度的2倍。
-
复杂任务处理能力大幅提升
在多类考试测验中以及与其他 LLM 的 benchmark 比较中发现,GPT-4 在更复杂、更细微的任务处理上,回答更可靠、更有创意。
-
改善幻觉、安全等局限性
LLM 的生成模式不可避免会有一些幻觉问题。GPT-4 在测试中发现其可以显著减轻在各类任务上幻觉问题,比最新的 GPT-3.5 模型提高 40% 左右。同样在安全能力的升级上,GPT-4 明显超出 ChatGPT 和 GPT3.5。