GPT-4是OpenAI最新的系统,能够产生更安全和更有用的回应。它是一个大型的多模态模型(接受图像和文本输入,输出文本),在各种专业和学术的基准测试中展现了人类水平的表现。例如,它在模拟的律师资格考试中得分位于前10%的考生之列;相比之下,GPT-3.5的得分位于后10%。
GPT-4是如何做到这一点的呢?它是如何超越前几代的语言模型的呢?它又能为我们带来什么样的好处和挑战呢?本文将从以下几个方面介绍GPT-4的特点、能力和应用。
GPT-4是基于深度学习的方法,利用更多的数据和更多的计算来创建越来越复杂和能力强大的语言模型。它继承了GPT、GPT-2和GPT-3的研究路径,但也做了一些重要的改进和创新。
GPT-4比以往任何时候都更具创造力和协作性。它可以生成、编辑和与用户迭代进行创意和技术写作任务,例如创作歌曲、编写剧本或学习用户的写作风格。
例如,它可以根据一个简单的提示,写出一句话,其中每个单词都要以字母表中的下一个字母开头,从A到Z,而且不能重复任何字母。
GPT-4可以接受图像和文本输入,这与仅文本输入的设置相比,使用户能够指定任何视觉或语言任务。具体来说,它根据由文本和图像交错组成的输入生成文本输出(自然语言、代码等)。
例如,它可以根据一张图片和一些文字描述,生成一首诗。
GPT-4能够处理更长的上下文,这意味着它可以记住更多的信息,并在不同的对话或任务中使用它。12
例如,它可以根据一个长达1000个单词的文章摘要,生成一个完整的文章。
GPT-4项目的一大重点是构建一个可预测扩展的深度学习堆栈。这个主要原因是,对于像GPT-4这样的大型训练,进行广泛的训练是不可行的特定型号的调整。为了解决这一问题,我们开发了基础设施和优化方法在多个尺度上具有非常可预测的行为。这些改进使我们能够可靠地从使用1000×–训练的较小模型中预测GPT-4性能的某些方面10000×更少的计算。
在机器学习和深度学习领域中,损失预测是指通过训练模型来估计或预测模型的损失函数。损失函数是用于衡量模型在训练过程中的性能和误差的指标,通常用于优化模型的参数和权重。损失预测可以帮助开发者和研究人员评估模型的训练进展和效果,以便根据预测的损失进行调整和改进模型的性能。
经过适当训练的大型语言模型的最终损失被认为是幂的近似值用于训练模型的计算量定律[41,42,2,14,15]。为了验证我们优化基础设施的可扩展性,我们预测GPT-4在内部代码库(不是训练集的一部分),通过拟合具有不可约损失项的比例定律:L(C) = aCb + c,来自使用相同方法训练的模型但是使用最多比GPT-4少10000倍的计算。这个预测是在跑步后不久做出的
已启动,没有使用任何部分结果。拟合的比例定律预测了GPT-4的最终损失高精度,如下图所示:
在训练之前对模型的能力有一种感觉可以改进关于对齐的决策,安全性和部署。除了预测最终损失外,我们还开发了预测方法更可解释的能力度量。一个这样的度量是人工评估数据集上的通过率[43],其测量合成不同复杂度的Python函数的能力。我们成功地通过从训练的模型中推断,预测人工评估数据集的一个子集的通过率最多可减少1000倍的计算量。对于人工评估中的单个问题,性能可能偶尔会随着规模的扩大而恶化。
在公式Ep[log(pass_rate(C))] = a * C-k中,其中k和α是正常数,P是数据集中问题的子集。我们假设这种关系适用于该数据集中的所有问题。在实践中,非常低的通过率是困难的
或者不可能估计,所以限制在问题P和模型M上,使得给定一些大的样本预算,每个模型至少解决一次每个问题。在训练完成之前,在人类评估上注册了GPT-4性能的预测,使用
只有培训前的可用信息。除了15个最难的人类评估问题外,其他问题都被分解了基于较小模型的性能,分为6个难度桶。在上图中,表明由此产生的预测对此非常准确人类评估问题的子集,其中我们可以准确估计几个较小问题的log(pass_rate)模型。对其他五个桶的预测几乎同样出色,主要的例外是GPT-4在最简单的桶上表现不如我们的预测。
在各种基准测试中对GPT-4进行了测试,包括模拟最初为人类设计的考试。对于这些考试,没有进行特定的训练。模型在训练过程中只接触到了少数考试中的问题;对于每个考试,运行了一个去除了这些问题的变体,并报告其中较低的分数。相信这些结果是具有代表性的。
考试题目来自公开可获取的资料。考试题目包括多项选择题和自由回答题;为每种题型设计了单独的提示,并且对于需要图像的问题,在输入中包含了相应的图像。评估设置是基于验证集上的性能设计的,并且在保留的测试考试上报告最终结果。
综合分数是通过使用每个考试的公开可用方法,将多项选择题和自由回答题的得分相结合得出的。估计并报告每个综合分数所对应的百分位数。结果如下图所示:
GPT-4在大部分专业和学术考试中展现出与人类水平相当的表现。值得注意的是,它在模拟的统一法律职业资格考试中取得了前10%的得分。
该模型在考试中的能力主要来源于预训练过程,并且并未受到强化学习微调的显著影响。在我们测试的多项选择题中,基准GPT-4模型和经过强化学习微调的模型平均表现相当出色。
我们还对预训练的基准GPT-4模型进行了传统基准测试,这些测试旨在评估语言模型。对于每个基准测试,我们对出现在训练集中的测试数据进行了污染检查。在评估GPT-4时,我们使用了少样本提示的方法。
GPT-4在很大程度上超越了现有的语言模型,以及以往的最先进系统(SOTA),这些系统通常需要针对特定基准测试进行调整或额外的训练方案。如下图所示:
GPT-4在学术基准测试中的表现。将GPT-4与最先进的基准测试专用训练模型(SOTA)以及少样本评估中最好的语言模型(LM)进行了比较。在所有基准测试中,GPT-4表现优于现有的语言模型,并在除了DROP数据集之外的所有数据集上超越了基准测试专用训练的SOTA模型。在GPT-4的预训练数据中包含了部分训练集,并在评估时使用了思维链式提示。对于多项选择题,向模型展示了所有答案(ABCD),并要求它选择答案的字母,类似于人类解决这类问题的方式。
许多现有的机器学习基准测试都是用英语编写的。为了初步了解GPT-4在其他语言上的能力,使用Azure Translate将包含57个科目的MMLU基准测试(一套多项选择题)翻译成了多种语言。在测试的大多数语言中,包括拉脱维亚语、威尔士语和斯瓦希里语等资源较少的语言,GPT-4在英语表现方面优于GPT 3.5和现有的语言模型。
GPT-4在跟随用户意图方面大大提高了性能。在一个由5,214个提示提交给ChatGPT和OpenAI API 的数据集上,GPT-4生成的回复在70.2%的提示上优于GPT 3.5生成的回复。
官方开源了OpenAI Evals,这是用于创建和运行评估模型(如GPT-4)基准测试的框架,可以逐个样本检查性能。Evals与现有的基准测试兼容,并可用于跟踪模型在部署中的性能。官方计划逐步增加这些基准测试的多样性,以代表更广泛的失效模式和更困难的任务。
尽管具备强大的能力,GPT-4仍然存在与之前的GPT模型相似的限制。最重要的是,它仍然不是完全可靠的(会出现"产生幻觉"的事实和推理错误)。在使用语言模型的输出时,特别是在高风险环境下,需要格外谨慎,确保采用符合特定应用需求的确切协议(例如人工审核、附加上下文的基础支撑,或完全避免高风险使用)。
相对于之前的GPT-3.5模型(通过持续迭代不断改进),GPT-4在幻觉现象方面显著减少。在官方内部经过对抗设计的真实性评估中,GPT-4相对于我们最新的GPT-3.5模型得分提高了19个百分点。
GPT-4在公共基准测试如TruthfulQA 上取得了进展,该测试评估模型将事实与对抗性选择的一组错误陈述分开的能力。这些问题与统计上具有吸引力的错误答案配对。GPT-4基础模型在这个任务上只比GPT-3.5略好一些;然而,在RLHF后训练后,我们观察到相对于GPT-3.5有了很大的改进。
GPT-4通常缺乏对其预训练数据在2021年9月之后发生的事件的了解,并且不会从自身经验中学习。它有时会出现简单的推理错误,这些错误似乎与在如此多领域中表现出的能力不符,或者过于轻信用户明显错误的陈述。它在处理艰难问题时可能会与人类一样失败,例如在其生成的代码中引入安全漏洞。
当GPT-4可能会犯错时,它在预测时也可能会自信地出错,没有注意双重检查工作。有趣的是,预训练模型的校准性非常高(它对一组样本的正确性估计与实际正确性的比例相当),但它的错误是系统性的,这意味着它可能在某些方面过于自信。
总之,尽管GPT-4在许多基准测试上取得了进展,但它仍然存在一些限制和挑战,需要在使用过程中谨慎对待其输出,并结合特定应用的需求采取相应的验证和处理方法。
通过领域专家进行对抗性测试:GPT-4与较小的语言模型存在类似的风险,例如生成有害建议、错误的代码或不准确的信息。然而,GPT-4的额外功能导致了新的风险面。为了了解这些风险的程度,官方请来了领域专家,对GPT-4进行了广泛的测试和评估,以识别潜在的问题和风险。这有助于更好地理解模型的弱点和改进的方向。
模型辅助的安全流程:为了提高GPT-4的安全性,开发了一种模型辅助的安全流程。这个流程结合了人工审核和自动化工具,以检测模型生成的内容中可能存在的问题和风险。目标是及早发现和纠正潜在的安全问题,并确保模型生成的输出对用户和社会有益。
安全度量指标的改进:相比之前的模型,在安全度量指标方面取得了改进。通过对GPT-4生成的样本进行人工审核和自动化检测,提高了对生成内容中潜在问题和风险的识别能力。目标是降低模型生成有害或误导性内容的概率,并确保其对用户和社会的影响是正面的。
GPT-4它是一个大型多模态模型,在专业和学术基准测试中表现出人类水平的性能,超越现有语言模型,在多种语言中展现出改进的能力,为构建广泛有用且安全的AI系统迈出重要一步。