你好,我是小树。这是我为你写的第 99 封信。每期都会同步更新在微信公众号一颗小树。
注:文章的主体内容来自 GPT-4 报告、GPT-4 Technical Report 和 GPT-4 论文精读。内容中细节的论证过程详见论文原文。
注 2:论文的发表时间是 2023 年 3 月,很多观点和信息可能已经过时。
导言
GPT-4 是一个可以接收图像和文本输入,并生成文本输出的大规模多模态模型。
虽然在很多现实场景中还不如人类,但 GPT-4 在各种专业和学术基准上表现出和人类匹配的能力。举例来说,在美国的模拟律师考试中, GPT-4 的分数能够排在前 10%,而 GPT-3.5 只能排在后 10%。
经过 6 个月的迭代和测试,GPT-4 已经成为了目前 OpenAI 最好的模型。
在报告发布之前的近两年时间,OpenAI 和 Azure 一起重新构建了模型训练的基础设施,在 GPT-3.5 得到验证,从而使得 GPT-4 的训练过程稳定,并且能够提前预测训练结果。
除此以外,报告中还会包含 GPT-4 的可控性、局限性以及危害。
训练
这篇论文中没有包含模型训练的技术细节,只是简单提及了训练方法。
GPT-4 是基于 Transformer 设计的预训练模型,可以预测文档中的下一个 token。
训练数据包含公开可用数据(例如互联网数据)和从第三方供应商采购的数据。数据集规模很大,内容很丰富,包括数学问题的正确和错误解决方案、弱推理和强推理、自相矛盾和一致的陈述,并代表了各种各样的意识形态和想法。
因此,为了避免模型的输出和用户意图相差甚远,借助 RLHF(Reinforcement Learning From Human Feedback) 来微调模型的行为。
GPT-4 报告把这一过程称作对齐(Align),意味着不仅仅是希望模型可以根据用户的指令进行输出,同时还希望模型能够跟人的三观一致,进行安全有用的输出。
需要注意的是, RLHF 本身并不能提高模型效果,比如提高考试成绩。事实上,如果不在调参的时候做出一些努力,可能反而会降低模型效果。
RLHF 的主要作用在于让模型更准确地理解用户意图,按照我们更容易接受的方式去回答问题,提升对模型的控制能力。
可拓展的预测能力(Predictable scaling)
对于大模型来说,如果每次训练完成之后才能知道结果,开销非常大。除了金钱成本本身很高以外,时间成本也很高,训练一次往往需要 1 - 2 个月时间。
因此,常见做法是通过较小的模型或数据集中进行验证,再到大模型上进行实验。但因为大模型本身的规模太大,在小模型上验证出的结果往往在大模型上并不能获得预期的结果。同时,在小模型上,也观测不到大模型特有的「涌现」能力。
OpenAI 在论文中介绍,它们和 Azure 配合构建的这套基础设施,可以在多种规模的训练场景下准确预估最终大模型的性能。这对于模型的迭代效率来说是一个质变。
为了验证这一点,OpenAI 使用内部的代码库成功预测了 GPT-4 最终训练完成的 LOSS,具体方式是通过一个规模小 10000 倍的计算资源上训练完成后产生的 LOSS 外推得来。
图中 x 轴代表训练所需的总体算力开销,把 GPT-4 的作为单位 1,100μ 就是小 10000 倍的这个点。y 轴可以简单理解为 LOSS 的大小。
其中不同的黑点,就是不同规模的训练最终得到的 LOSS 结果,最终可以推导出 GPT-4 的 LOSS。
为了更直观的了解训练稳定性带来的好处,可以参考上图。
在# Open Pretrained Transformers - Susan Zhang _ Stanford MLSys #77视频中介绍了 MetaAI 如何在三个月时间内实现一个和 GPT-3 同等规模的语言模型。其中,在模型训练的一个多月时间里,因为各种原因导致训练中断有 50 几次,图中每一个颜色就代表一次训练过程。
如果能够以更小规模地训练就能够预测最终的结果,带来的效率提升和成本优化是非常可观的。
不过论文中也承认,并非所有的模型能力都能够准确预测,还会持续在这方面进行努力。
模型能力
日常对话中,GPT-3.5 和 GPT-4 的差距不大。相较而言,GPT-4 更可靠、更有创意,并且能够处理更细致的指令。因此任务的复杂度达到一定阈值时,才能够感受到明显的差异。
在这个图中,顺序是按照 GPT-3.5 的成绩升序排列的。
蓝色是 GPT-3.5 的成绩,绿色是不支持图片输入的 GPT-4 版本,深绿色是多模态的 GPT-4 版本。
我们重点看一下得分不高的部分。
最左侧的 AP Calculus BC 是微积分,AMC 10 和 AMC 12 是美国高中数学竞赛,可以看到,即使 GPT-4 有一定提升,整体的分数还是比较低的。
这意味着 GPT 的数学能力还是比较弱,不要对它抱太高的期望。
Codeforces Rating 是一个编程比赛,成绩也比较差,对于复杂的逻辑和推理场景还有待提高。
AP English Language 和 AP English Literature 是英文写作能力的课程。按理说大模型最擅长的就是文本内容的生成,但从分数上来看,生成的内容可能只是看起来很不错,在专业的评价标准下,还有很长的路要走。
论文中还介绍了 GPT-4 在多语言上的能力。在测试的 26 种语言中,GPT-4 有 24 种效果是优于 GPT-3.5 和其他的大模型,包括一些非常小众的语种。
从图中可以看到,相较于 GPT-3.5,GPT-4 在英文内容的效果超出 15%。对于中文(Mandarin)的支持也达到了 80.1%,和英语相差不多。
看得出来,GPT 在中文语料上也下了不少功夫。
视觉输入
GPT-4 允许用户输入文本和图片,并生成文本输出(自然语言、代码等)。
在一系列领域(包括带有文本和照片、图表或屏幕截图的文档)中,GPT-4 能够支持与纯文本输入类似的功能。
此外,它还可以为纯文本的语言模型在开发测试中进行增强,比如通过 few-shot 和 chain of thought 方式构建提示词。
这篇论文是 2023 年 3 月发布的,当时多模态的能力还只是预览并未对外开放。但现在(2024 年 2 月)的 GPT-4 已经具备了完整的多模态输入能力,能够对图片本身或者图片中的内容进行识别和处理。
放几个论文中的示例感受一下:
这是一道法语的物理题,GPT-4 能够准确识别文本内容,并输出解答结果。
这是一篇 PDF 的论文内容,GPT-4 能够直接给你生成文章摘要,并支持你搜索其中的内容。
GPT-4 甚至还能为你解释网络热梗。
可控性
过去 ChatGPT 是一个相对固定的人格,它有固定且冗长的语气和风格,并不能满足用户在各种场景下的需要。
因此,新增了 system 类型的消息,用来个性化地设置 AI 的风格和任务。
最初这一特性其实是社区发现的,由于 ChatGPT 有很多安全的限制,因此大家想了很多办法尝试越狱。在 DAN 2.0 的帖子中,就给出了一种方法。
在论文中给出的示例和这段提示词很像,比如苏格拉底式启发式地教学,只提供提示,而不直接返回答案。再比如 JSON AI 助手,所有的结果都以 JSON 格式返回。
局限性
虽然 GPT-4 在很多方面都有明显提升,但依然存在和之前的 GPT 模型类似的局限性。
最重要的是,它依然是不完全可靠的,存在「幻觉」问题。不过在 GPT-4 中显著减少了幻觉问题,得分要比最新的 GPT-3.5 高 40%。
模型的输出还可能存在各种各样的偏见,即使在这些方面 GPT-4 已经取得了一些进展,但是还有很多工作要做。
另一个问题是 GPT-4 的数据停留在训练结束的那一天,缺乏对之后发生问题的了解。
GPT-4 也会犯简单的推理错误,或者是过于容易地接受用户明显的错误陈述,如:我的朋友说 2 + 2 = 7,此时它就会不再坚持自己的看法,回复 2 + 2 确实等于 7。
GPT-4 也会像人类一样,无法解决比较复杂的问题,比如会在生成的代码中引入安全漏洞。
GPT-4 会对自己的预测非常自信,即使有可能是错误的,也不会仔细做检查。
上图的意思是模型认为自己的答案有多大可能性是对的和真实有多大可能性是对的之间的关系。
从左边的图可以看到,预训练后基模型的的校准程度很高,意味着模型校准地很完美,它认为的和真实情况基本是一致的。
但是在经过后训练(如 RLHF)步骤之后,校准程度反而减少了很多,这意味着 GPT-4 在后训练之后,更有主观性,更像是一个真实的人了。
至于两种模型孰优孰劣,其实很有争议,并没有一个定论。
风险和缓解措施
GPT-4 从训练之初就一直在迭代,以使其更安全、更符合预期,所做的努力包括预训练数据的选择和过滤、评估和专家参与、模型安全改进以及监控和执行。
GPT-4 与以前的模型存在类似的风险,例如生成有害的建议、有错误的代码或不准确的信息。OpenAI 聘请了很多专家进行对抗性测试,根据这些反馈持续改进和缓解相关领域问题。
GPT-4 在 RLHF 训练期间还增加了额外的安全奖励,通过训练模型拒绝类似的内容来减少有害的输出。
与 GPT-3.5 相比,GPT-4 的许多安全特性有了显著改善。与 GPT-3.5 相比,我们将模型响应禁止内容请求的倾向降低了 82%,GPT-4 根据我们的政策响应敏感请求(例如医疗建议和自残)的频率提高了 29% 。
即使做了这么多努力,大模型依然是会被「越狱」的,还需要通过生产环境的安全措施(如合规监控)来补充相关的限制。
小结
这篇论文没有太多的技术细节,更像是 OpenAI 在秀肌肉。但我们依然能够从中学到很多:
- GPT-4 用于训练的基础设施和后训练的方法,可以为我们自研或者微调模型提供一些提高效率的建议和方向
- GPT-4 能做什么、不擅长什么,可以为我们构建产品时提供一些理论基础,更好地利用它的长处,避开还不够成熟的能力,也可以为我们对大模型的能力边界做出更好的判断
- GPT-4 的局限性和风险,可以为我们敲响警钟,我们需要清晰地认识到如果不加以干预,用户会遇到怎样的问题,或是针对这些问题,我们需要有的放矢地做哪些准备
碎碎念
在写完这篇文章的时候,被 Gemini 1.5 和 Sora 刷屏了,继续学起来。
谢谢你的关注,我们下期再见。👋🏻
往期推荐
你也可以在这里找到我:即刻、Twitter、微信公众号一颗小树。
如果你觉得这篇文章对你有用,欢迎分享给更多好友。