Phi-2:小语言模型的非凡实力 [译]

图 1. Satya Nadella 在微软 Ignite 2023 大会上宣布推出 Phi-2。
图 1. Satya Nadella 在微软 Ignite 2023 大会上宣布推出 Phi-2。

图 1. Satya Nadella 在微软 Ignite 2023 大会上宣布推出 Phi-2。

近几个月里,微软研究院的机器学习基础团队推出了一系列被命名为“Phi”的小型语言模型(SLMs),在众多基准测试中表现卓越。我们的首个模型,即拥有 13 亿参数的 Phi-1(点击查看),在现有的 SLMs 中已经在 Python 编程领域达到最高水平,尤其在 HumanEval 和 MBPP 这两个基准测试上。接下来,我们进一步将研究扩展到常识推理和语言理解领域,推出了同样拥有 13 亿参数的新模型 Phi-1.5(点击查看),其性能堪比体积是其五倍的大型模型。

现在,我们又发布了 Phi-2(点击查看)——一款拥有 27 亿参数的语言模型。它在推理和语言理解方面表现出色,在参数少于 130 亿的基础语言模型中处于领先地位。在各种复杂的基准测试中,Phi-2 的表现匹敌甚至超越了那些体量大 25 倍的模型,这得益于我们在模型缩放和训练数据策划上的新创新。

Phi-2 体积小巧,成为研究人员的理想实验室,适用于进行机械解释性、安全性提升或针对各种任务的微调实验。我们已在 Azure AI Studio 模型目录中向公众提供了 Phi-2(点击查看),旨在推动语言模型的研究和开发工作。

Phi-2 研究的关键发现

近年来,语言模型的规模急剧扩大至数千亿参数,这一变化开启了许多新兴能力,从根本上改变了自然语言处理的局面。这引发了一个问题:是否可以通过更加精准的训练策略,如数据的选择,来在更小规模的模型上实现这些新兴能力。

我们的 Phi 模型系列研究正试图解答这一问题。我们训练的 SLMs(小规模语言模型)旨在达到与大规模模型相当的性能,尽管它们仍远未达到最先进模型的水平。在开发 Phi-2 模型时,我们发现了两个关键的洞察点,这些发现帮助我们打破了传统语言模型的规模限制:

首先,训练数据的质量对模型的性能至关重要。这一点虽然已被人们认知多年,但我们通过专注于高质量的“教科书级”数据,将这一理念推向了极致。这源于我们此前的研究成果“Textbooks Are All You Need”。我们的训练数据混合了专门为教授模型常识推理和广泛知识(包括科学、日常生活和心理理论等)而设计的合成数据集。此外,我们还精心挑选了基于教育价值和内容质量筛选的网络数据,进一步丰富了训练语料库。其次,我们采用了创新的技术手段,从我们的 13 亿参数的 Phi-1.5 模型开始进行扩展,将其知识嵌入到 27 亿参数的 Phi-2 模型中。这种规模上的知识转移不仅加速了训练的收敛过程,而且在 Phi-2 的基准测试中展现了显著的性能提升。

一个条形图展示了 Phi-2(27 亿参数)与 Phi-1.5(13 亿参数)在各类任务上的表现对比,包括常识推理、语言理解、数学、编程,以及 Bigbench-hard 基准测试。在所有类别中,Phi-2 的表现均超越了 Phi-1.5。常识推理任务涵盖了 PIQA、WinoGrande、ARC 简单和挑战赛,以及 SIQA;语言理解任务包括 HellaSwag、OpenBookQA、MMLU、SQuADv2 和 BoolQ;数学任务为 GSM8k,编程任务则包括了 HumanEval 和 MBPP 基准测试。
一个条形图展示了 Phi-2(27 亿参数)与 Phi-1.5(13 亿参数)在各类任务上的表现对比,包括常识推理、语言理解、数学、编程,以及 Bigbench-hard 基准测试。在所有类别中,Phi-2 的表现均超越了 Phi-1.5。常识推理任务涵盖了 PIQA、WinoGrande、ARC 简单和挑战赛,以及 SIQA;语言理解任务包括 HellaSwag、OpenBookQA、MMLU、SQuADv2 和 BoolQ;数学任务为 GSM8k,编程任务则包括了 HumanEval 和 MBPP 基准测试。

图 2.  展示了 Phi-2 (27 亿) 与 Phi-1.5 (13 亿) 模型在各项任务上的对比。除了 BBH 和 MMLU 分别采用 3 次样本 CoT 和 5 次样本评估外,所有任务均在零样本情况下进行评估。

训练细节

Phi-2 是一种基于 Transformer 技术的模型,它的主要任务是预测下一个词。该模型通过对包含 NLP 和编程内容的多种合成和网络数据集多次处理,训练了高达 1.4T 个 token。Phi-2 在 96 块 A100 GPU 上训练了 14 天,尽管它是一个基础模型,没有经过人类反馈强化学习(RLHF)的校准,也没有进行过细致的指令式微调,但我们发现它在毒性和偏见问题上的表现优于那些经过这些流程的现有开源模型(参见图 3)。这与我们在 Phi-1.5 中的发现一致,这得益于我们特别设计的数据策划技术。想了解更多详情,可以阅读我们的之前的技术报告(新标签页打开)。更多关于 Phi-2 模型的信息,请访问Azure AI | 机器学习工作室(新标签页打开)

一个柱状图展示了 Phi-1.5、Phi-2 和 Llama-7B 三个模型在 ToxiGen 基准测试的 13 个类别上的安全性得分。在所有类别中,Phi-1.5 获得了最高分,Phi-2 紧随其后,而 Llama-7B 在所有类别上的得分最低。
一个柱状图展示了 Phi-1.5、Phi-2 和 Llama-7B 三个模型在 ToxiGen 基准测试的 13 个类别上的安全性得分。在所有类别中,Phi-1.5 获得了最高分,Phi-2 紧随其后,而 Llama-7B 在所有类别上的得分最低。

图 3.  基于 ToxiGen 的 13 个人群统计数据计算出的安全分数。选取了 6541 个句子样本,并根据句子的困惑度和毒性,给它们打分,分数范围从 0 到 1。分数越高,说明模型生成有害句子的可能性相对于无害句子更低。

Phi-2 评价

以下是我们对 Phi-2 在学术界标准测试中的性能总结,与当前流行的语言模型相比。这些测试覆盖了多个领域,包括 Big Bench Hard (BBH)(3 次尝试,含有思考链条),常识性推理(如 PIQA、WinoGrande、ARC 易难级别、SIQA 等),语言理解(比如 HellaSwag、OpenBookQA、MMLU(5 次尝试)、SQuADv2(2 次尝试)、BoolQ 等),数学(GSM8k(8 次尝试))和编程(如 HumanEval、MBPP(3 次尝试)等)。

尽管 Phi-2 只拥有 27 亿参数,但它在各种综合基准测试中已经超过了参数量为 70 亿和 130 亿的 Mistral 和 Llama-2 模型。特别值得一提的是,在多步骤推理任务上,例如编程和数学问题,它甚至超越了参数量是其 25 倍的 Llama-2-70B 模型。此外,Phi-2 在体积更小的情况下,还能匹配或超越最近推出的 Google Gemini Nano 2。

当然,我们也清楚目前评估模型的挑战,以及很多公开的基准测试可能被模型训练数据所涉及。对于我们的首个模型 Phi-1,我们做了大量去污染研究,以排除这种情况,详见我们的首份报告《Textbooks Are All You Need》。我们认为,最佳的评估语言模型方式是在实际应用案例中进行测试。因此,我们也用微软的一些内部专有数据集和任务来测试 Phi-2,并将其与 Mistral 和 Llama-2 进行比较。结果显示,Phi-2 平均表现优于 Mistral-7B,而后者又胜过各版本的 Llama-2 模型(7B, 13B 和 70B)。

模型规模BBH常识推理语言理解数学编程
Llama-27B40.062.256.716.521.0
13B47.865.061.934.225.4
70B66.569.267.664.138.3
Mistral7B57.266.463.746.439.4
Phi-22.7B59.268.862.061.153.7

表 1: 比较不同模型在各个领域的平均表现,这些模型是目前开源界比较流行的 SLMs。

模型规模BBHBoolQMBPPMMLU
Gemini Nano 23.2B42.479.327.255.8
Phi-22.7B59.383.359.156.7

表 2: 展示了在 Gemini 报告的基准测试中,Phi-2 与 Gemini Nano 2 模型的性能对比。

除了这些基准测试,我们还对研究界常用的提示进行了深入测试。我们观察到的行为与基准测试结果所预期的一致。例如,我们测试了一个用于评估模型解决物理问题能力的示例提示,这个提示最近被用来测试 Gemini Ultra 模型。在这个测试中,Phi-2 模型得到了如下结果:

Phi-2 模型回答了一个关于物理问题的示例提示。提示内容是:“一个滑雪者从高 40 米、长 80 米的无摩擦斜坡滑下,他在底部的速度有多快?”Phi-2 通过解释势能到动能的转换,并提供了计算每种能量的公式,最后正确地使用这些公式计算出了滑雪者的速度。
Phi-2 模型回答了一个关于物理问题的示例提示。提示内容是:“一个滑雪者从高 40 米、长 80 米的无摩擦斜坡滑下,他在底部的速度有多快?”Phi-2 通过解释势能到动能的转换,并提供了计算每种能量的公式,最后正确地使用这些公式计算出了滑雪者的速度。

图 4. Phi-2 对一个简易物理题目的解答展示,其中包括了一个接近正确的平方根计算过程。

这个模型接着被用来分析一个学生对于滑雪者物理问题的错误回答,并探讨它是否能指出学生的错误所在。Phi-2 不仅指出了学生使用了错误的势能公式,还提供了正确的公式。
这个模型接着被用来分析一个学生对于滑雪者物理问题的错误回答,并探讨它是否能指出学生的错误所在。Phi-2 不仅指出了学生使用了错误的势能公式,还提供了正确的公式。

图 5. 与 Gemini 的测试类似,我们同样向 Phi-2 提出了一个学生的错误答案,以考察它是否能够发现错误之处(结果表明它确实做到了,尽管 Phi-2 并未专门针对聊天或遵循指令进行优化调整)。但值得一提的是,这与 Gemini Ultra 在 Gemini 报告中描述的输出并不能完全等同对比,尤其是在后者的例子中,学生的答案是以手写文本的图片形式呈现,而不是像我们这样的纯文本形式。