论文笔记--GPT-4 Technical Report
- 1. 报告简介
- 2. 报告概括
- 3 报告重点内容
- 3.1 Predictable Scaling
- 3.2 Capabilities
- 3.3 limitations
- 3.3 Risks & mitigations
- 4. 报告总结
- 5. 报告传送门
- 6. References
1. 报告简介
- 标题:GPT-4 Technical Report
- 作者:OpenAI
- 日期:2023
- 期刊:arxiv preprint
2. 报告概括
本文是OpenAI发布的GPT-4的技术报告,主要针对GPT-4的能力、局限和风险性等方面进行测评。GPT-4是个多模态模型,支持文本和图像格式的输入。但OpenAI并没有公布GPT-4实现的技术细节,仅在一些场景给出了推理时的prompt,可供用户参考。
3 报告重点内容
3.1 Predictable Scaling
首先,文章对GPT-4的整体损失进行了分析。根据最近的研究成果,模型的损失和模型的计算量(compute)满足幂律关系。为了判断GPT-4是否满足该关系,文章首先用和GPT-4相同的训练方法(未交代具体方法)训练参数/计算量更小的模型,得到一组compute VS loss的数据对(如下图中的实心黑点),再用这些数据拟合一个幂律模型:
L
=
a
C
b
+
c
L=aC^b + c
L=aCb+c(下图中的虚线)。可以看到GPT-4(绿色原点)恰好在该幂律模型上,说明GPT-4的loss是可以被精准预测的。
PS:查了很多资料,才明白x轴的单位分别是
- 1 p = 1 p i c o = 1 0 − 12 1p=1pico = 10^{-12} 1p=1pico=10−12
- 1 n = 1 n a n o = 1 0 − 9 1n=1nano = 10^{-9} 1n=1nano=10−9
-
1
μ
=
1
m
i
c
r
o
=
1
0
−
6
1\mu=1micro = 10^{-6}
1μ=1micro=10−6
所以下图中的横轴分别对应 1 0 − 10 , 1 0 − 8 , 1 0 − 6 , 1 0 − 4 , 1 0 − 2 , 1 10^{-10}, 10^{-8}, 10^{-6}, 10^{-4}, 10^{-2}, 1 10−10,10−8,10−6,10−4,10−2,1,分别表示参数量与GPT-4的参数量的比值(GPT-4所在点 x = 1 x=1 x=1)。
接下来,文章采用类似的方法评估GPT-4在代码生成任务上的loss拟合情况。文章选用Codex[1]论文中提出的编程问题数据集HumanEval,可以评估模型生成Python函数的能力。文章发现模型的平均通过率也可以通过下述方式你和幂律定理: − E P [ log ( pass _ rate ( C ) ) ] = α ∗ C − k -E_P[\log (\text{pass}\_\text{rate}(C))] = \alpha * C^{-k} −EP[log(pass_rate(C))]=α∗C−k,其中 α > 0 , k > 0 \alpha>0, k>0 α>0,k>0是两个常数,即将上述的损失函数替换成了代码的平均对数通过率。下图展示了平均对数通过率 VS compute的拟合情况。
此外,文章在ISP提出的一些其它任务上进行loss 拟合,和一些近期研究得到了一致的结论:GPT-4给出了相反的准确率走势。如下图所示,在GPT-4之前的几个模型随着参数增加,准确率反倒降低(Inverse Scaling),但最大的GPT-4模型的准确率是最高的。
3.2 Capabilities
在评估GPT-4的能力之前,文章首先对各个待评估的数据集(eval set)分别进行了重复校验:对eval set中的每个样例,我们随机选择它3个字符大小为50的子字符串,如果训练集中某条数据包含3条中任意1条,则认为该数据和eval set是重复的。重复校验之后,文章会剔除训练集中和eval set重复的所有数据重新训练一个模型,记作GPT-4(no contam),用GPT-4和GPT-4(no contam)分别评估eval set。
GPT-4是一个多模态模型,但我们的对比模型GPT-3.5仅接受文字输入。为此OpenAI训练了两个模型来进行对比:GPT-4和GPT-4(no vision)。
文章在多个领域测试了GPT-4的能力:
- 考试:文章考虑的考试包括两种形式的问题,分别为多选题和自由回答题。针对多选题,模型采用few-shot learning,即提供几个和考试格式相似的样例和解释作为测试用例的上下文输入模型;针对自由作答提目,模型采用自由作答的prompt直接输入模型,针对其中涉及到写作质量的考核问题,我们会随机采样一个高质量的GRE文章放入prompt生成回答。首先,一系列数值实验表明,GPT-4和GPT-4(no contam)差异不大,即重复的数据集对结果表现影响不大;GPT-4和GPT-4(no vision)差异不大,即训练集中增加图像对文本类结果表现影响不大。然后,OpenAI测试了GPT-4、GPT-3.5在UBE上考试的结果。如下图,GPT-4的表现优于GPT3.5。注意到每个bar的100%是以人类未通过的百分比计算的。比如在AP biology科目中,GPT-4得到了最高分(5/5),但该项图中bar的顶点为85%,是因为人类评估结果中有15%的比例得到满分。总结下来,GPT-4的考试能力显著高于其它LLM,且在所有参加考试的人中得分Top10%。
为了证明GPT-4在其它语言上的能力,文章将MMLU benchmarks翻译为多种语言。注意到这里文章使用了其它翻译器(Azure Translation)进行翻译。文章对指令、问题和回答选项都进行了翻译,只保留英语的"Answers: "和"A), B), C), D)"选项的标志,如下表所示。实验表明,GPT-4在几乎所有测试语言上的考试能力都超过了GPT-3.5在英文上的表现。
- 图像输入:GPT-4可同时输入文本和图像,最后返回文本格式。实验证明,GPT-4对包括截图、照片、图表等各种图像输入的理解能力都很不错。下图是 一个GPT-4处理多模态数据的示例
3.3 limitations
类似GPT-3.5,GPT-4也有一些局限。但相比于GPT-3.5,GPT-4显著减少了hallucinations且提升了factuality[2]:
GPT-4仍存在很多其它问题:如在TruthfulQA上模型对“找出正确的事实”仍会判断错误,但RLHF之后在该数据集上表现相比于GPT-3.5有显著提升;GPT-4大部分数据都是来自2021年9月之前,对此后的知识储备薄弱;GPT-4可能会犯一些简单的推理错误;GPT-4易被用户的一些错误陈述影响;GPT-4在一些复杂问题上解决能力有限…
3.3 Risks & mitigations
类似InstructGPT[2],文章测试了GPT-4的潜在风险。为了提升模型的安全性,文章通过RLHF将GPT-4对齐人类意图,并通过基于规则的奖励模型RBRMs(一系列zero-shot GPT-4分类器)对RLHF提供奖励机制。简单来说,当模型不拒绝安全的请求时,RBRMs会奖励模型;当模型拒绝危险的请求时,RBRMs会奖励模型。实验证明,相比于GPT-3.5,GPT-4的安全性又了显著提升。
4. 报告总结
报告给出了GPT-4的一些能力、风险实验结果,展示了GPT-4在多个NLP任务中优于GPT3.5等现存的LLMs,且安全性有很大幅度的提升。但GPT-4仍存在很多缺点和安全隐患,如数据大部分为2021年之前的语料,OpenAI会致力于继续提升GPT系列模型的能力。
5. 报告传送门
GPT-4 Technical Report
6. References
[1] 论文笔记–Evaluating Large Language Models Trained on Code
[2] 论文笔记–Training language models to follow instructions with human feedback