前言
GPT-4已经发布有一段时间了,但是出于安全性等各种原因,OpenAI并没有公布GPT-4的技术细节和代码,而是仅仅给出了一个长达100页的技术报告[1]。
这个技术报告着重介绍了GPT-4的强大之处,仅仅给出了几个技术方向的概括,对于想了解技术细节的我们远远不够。
在本文中,我将结合GPT-4的技术报告、GPT-4相对于GPT 3.5/ChatGPT的提升、GPT-4和ChatGPT的对比、OpenAI的近期工作,大语言模型(Large Language Model,LLM)模型的科研进展,多模态模型的科研进展等多方面的信息,深入分析GPT-4的技术细节。
因为并没有明确的证据证明GPT-4就是这么做的,所以我们在这里主要讨论要实现GPT-4的这些能力,OpenAI可能使用了哪些技术。所以如果我的推测有所错误,也欢迎各位读者在评论区探讨。接下来让我们一起化身福尔摩斯,开始分析GPT-4背后的原理吧。
1. GPT-4的提升
GPT-4是在ChatGPT基础上迭代出来的,关于ChatGPT的原理我再这里就不再赘述,需要了解的移步我在《ChatGPT/InstructGPT详解》一文中给的介绍。这篇文章中,我们先讨论GPT-4相对于ChatGPT做了哪些改进,即GPT-4相对于ChatGPT有哪些功能上的提升。接下来我们讨论OpenAI为了做到这些提升,在GPT-4中可能应用了哪些技术。最后我们讨论其它大语言模型以及使用GPT-4的一些感想。
1.1 zero-shot及few-shot的学习能力
当我们在使用GPT-4进行文本生成时,我们会惊喜的发现GPT-4几乎可以非常完美的回答你各种刁钻的问题,这说明了GPT-4具有非常强大的无监督学习的能力。
此外,GPT-4的技术报告中也给出了大量的无监督学习的例子,甚至在有些场景逼近甚至超过了有监督的SOTA方法。例如在HumanEval[3]的代码生成数据集上,甚至超过了著名的代码生成工具CodeX[3]。此外,在评估正确性的问答数据集TruthfulQA [26]上,GPT-4逼近了SOTA的 Anthropic-LM[4]。
1.2 逻辑推理能力
GPT-4的技术报告中着重强调的是它相对于ChatGPT在诸多学术考试上的提升,如图1。学术测试评估反映的是GPT-4比ChatGPT有更强的逻辑推理能力。@岳玉涛 Max通过19个问题横向对比了GPT-4和ChatGPT的逻辑推理问题[2],其中ChatGPT的正确率是37%,GPT-4的正确率是100%,从对比的例子中我们明显可以看出GPT-4在逻辑推理上有着质的飞跃。
图1:GPT-4与ChatGPT在诸多学术考试中的成绩对比
我这里也找了一个简单的逻辑推理问题,可以看出在这个过桥的例子中ChatGPT虽然给出了过桥顺序,但是时间计算错误,而GPT-4则简单又清晰的解决了这个问题。
问题:四个人 ABCD 过桥,一次最多能过两个人,他们的手电能维持十七分钟,每个人所需的时间分别为 1、2、5、10;求最快可以多长时间全部过桥?
ChatGPT:为了让四个人尽快过桥,我们需要让速度最慢的人尽快过桥。因此,我们可以先让速度最慢的两个人 A 和 B 过桥,然后让 A 返回,再让速度次慢的人 C 和 D 过桥,最后让 B 返回,这样就完成了全部过桥的过程。
具体来说,我们可以按照以下步骤进行:
A 和 B 过桥,花费时间为 10 分钟。
A 返回,花费时间为 1 分钟。
C 和 D 过桥,花费时间为 5 分钟。
B 返回,花费时间为 2 分钟。
A 和 B 过桥,花费时间为 10 分钟。
因此,总共花费的时间为 10 + 1 + 5 + 2 + 10 = 28 分钟。这就是最快可以多长时间全部过桥的时间。
GPT-4:为了使四个人 ABCD 最快地全部过桥,我们可以采取以下策略:
A 和 B 一起过桥,用时 2 分钟。
A 返回,用时 1 分钟。
C 和 D 一起过桥,用时 10 分钟。
B 返回,用时 2 分钟。
A 和 B 一起过桥,用时 2 分钟。
总共用时:2 + 1 + 10 + 2 + 2 = 17 分钟。
所以最快可以在 17 分钟内使所有人过桥。
1.3 理解图表能力
GPT-4的一个重大提升是开始涉及多模态,鉴于GPT-4的图像接口还未开放,我们这里借用GPT-4的技术报告中给的例子。在图2中,GPT-4能够精确的理解VGA口Lightning口的不协调之处。这个例子说明GPT-4不仅仅是简单的理解图像中的内容,它最厉害的点在于能够识别图像中的特殊点。
图2:GPT-4具有强大的图、表理解能力
1.4 更安全的文本生成能力
GPT-4的技术报告中重点讨论了GPT-4和之前的模型一样有安全问题,但GPT-4的安全性已经大幅提升。技术报告中指出,ChatGPT生成有害内容的概率大概是GPT-4的10倍。图3举了大量的早期GPT-4和成熟GPT-4在有风险提示下生成的内容,可以看出成熟GPT-4的危险性大大降低,但这并不意味着GPT-4就是一个完全无害的模型。
图3:早期GPT-4和成熟GPT-4在生成内容安全性上的示例
GPT-4做了大量的工作来保证模型的安全性,首先它们聘请了50余位不同方向的领域专家进行对抗测试和红队测试,二是训练了一个基于规则的奖励模型(Rule-Based Reward Models, RBRMs)来辅助模型的训练,关于这一部分的实现细节,我们将会在后面详细展开。
1.5 更强的编程能力
GPT-4的技术报告中另外一个重要的对比项是它和ChatGPT在LeetCode上易中难三个不同难度上的代码生成能力。在无监督的情况下,GPT-4在HumanEval数据集上的评估准确率由ChatGPT的48.1%提升至67.0%。GPT-4的技术报告中指出,ChatGPT在LeetCode的166道编程题中仅对了20道,而GPT-4则回答对了55道。表1是GPT-4和ChatGPT在LeetCode的这166道编程题的具体分布。
GPT-4 | GPT-4 (no vision) | ChatGPT | |
---|---|---|---|
LeetCode(easy) | 31 / 41 | 31 / 41 | 12 / 41 |
LeetCode(medium) | 21 / 80 | 21 / 80 | 8 / 80 |
LeetCode(hard) | 3 / 45 | 3 / 45 | 0 / 45 |
表1:GPT-4和ChatGPT在LeetCode编程题上的表现效果
1.6 处理其它语言的能力
GPT-4在英语以及非英语上都有了大幅提升,在大多数语种上都超过了ChatGPT在英语上的表现,这里我们分别让ChatGPT和GPT-4分别应《让子弹飞》中汤师爷的要求写一首诗,要求是“要有风,要有肉;要有火锅,要有雾;要有美女,要有驴!”。对比两首诗,ChatGPT写的像是没有什么文采的现代诗,而GPT-4生成的内容除了前面两居字数过多之外,基本像一首中国古诗了,甚至还在一定程度上保证了押韵。
ChatGPT:
风吹过山岗,肉香四溢
火锅热气腾腾,雾气缭绕
美女婀娜多姿,驴儿欢快奔腾
这是一幅独特的画卷,让人心旷神怡
风肆意地吹拂,肉香扑鼻而来
火锅里的食材,让人垂涎欲滴
雾气弥漫,让人感到神秘
美女的容颜,让人陶醉其中
驴儿的欢快,让人感受到生命的活力
这是一幅充满生命力的画卷,让人心驰神往
GPT-4:
翻滚的风肆意掠过山涧,
火锅涮肉锦上添花。
炊烟袅袅绕雾缠,
美女佳驴共同游。美女翩翩拂驴背,
吹散烦忧与世界。
嬉戏胭脂笑颜醉,
驴儿踏歌奔山外。火红蘑菇热情翻,
辣椒牛肉峰水澹。
鸳鸯火锅欢歌笑,
时光荏苒留梦间。雾濛濛涤净尘缘,
蓑衣柴扉任风险。
驴蹄踏碎人间俗,
飞鸿蹄印留辉煌。
1.7 处理更长序列的能力
ChatGPT能处理的最大序列是4K个token,而OpenAI开放了8k和32k的两个模型,其中每个汉字大概占用2到2.5个token。GPT-4的token根据指示和回应分别计价(表2),其中32k的价格是8k的两倍,对比ChatGPT的每1000token的0.02美元,GPT-4要贵了15倍左右。
模型 | Prompt | Completion |
---|---|---|
8K context | $0.03 / 1K tokens | $0.06 / 1K tokens |
32K context | $0.06 / 1K tokens | $0.12 / 1K tokens |
表2:GPT-4的收费细节
关于GPT-4的更多能力的探测,微软雷蒙德研究院机器学习理论组负责人Sébastien Bubeck在他们最新发布的长达155页的文章[25]中进行了广泛的讨论。
他们指出GPT-4表现出了远超文本生成模型理论上能表现的效果,成为了点燃通用人工智能(AGI)烈焰的星星之火,GPT-4已经具备了非常强的推理、计划、解决问题、抽象思考、理解复杂想法、快速学习以及从经验中学习的能力。
2. GPT-4技术方案猜测
有了我们发现的GPT的这些提升,我们便可以结合当前LLM的进展以及OpenAI的工作猜测GPT-4可能的技术方案。因为我们只能依靠公布的算法进行推测,不排除OpenAI内部使用未开放的算法作为解决方案,所以如果我的猜测有误,您就姑且当做学习到了几个独立的算法。
- zero-shot及few-shot的学习能力:这个提升的理论依据很大可能是因为大模型的涌现能力(emergent ability)[5];