跳到主要内容

Phi-2

在本指南中,我们将概述 Phi-2,这是一个拥有 27 亿参数的语言模型,介绍如何启动 Phi-2 以及其能力。本指南还包括与 Phi-2 LLM 相关的提示、应用、限制、重要参考资料和额外阅读材料。

Phi-2 简介

Phi-2 是由微软研究部发布的最新小型语言模型(SLM)。Phi-2 是之前 Phi-1 模型和 Phi-1.5 模型的后继者。

Phi-1 是一个拥有 13 亿参数的模型,使用来自网络的“教科书质量”数据(60 亿标记)和通过 GPT-3.5(10 亿标记)合成生成的教科书和练习进行训练。它在 Python 代码生成任务上表现良好。

Phi-1.5 在之前的模型基础上进行了改进,专注于常识推理和语言理解能力。Phi-1.5 能够执行复杂的推理任务,如小学数学和基本编码任务,并且与大 5 倍的模型相媲美。

拥有 27 亿参数的 Phi-2 模型提升了推理和语言理解能力。Phi-2 的性能超过了大多数规模更大的模型多达 25 倍,并且现在具有 MIT 许可,可在商业环境中使用。

Phi-2 洞察与评估

LLM 研究人员渴望探索小型语言模型是否具有与大型模型相似的新兴能力,以及是否有助于实现这一目标的训练技术。

该模型使用“教科书质量”数据(共 1.4 万亿标记,多次传递),包括帮助模型学习常识推理和通识知识的合成数据集。数据还包括教育和高质量网络内容。Phi-2 在 96 个 A100 GPU 上训练了 14 天。没有应用额外的 RLHF 或指导调整。

Phi-1.5 的知识被转移到 Phi-2,这有助于模型在多个基准测试中的收敛和性能提升。下图展示了 Phi-2(27 亿)和 Phi-1.5(13 亿)在常识推理、数学推理、代码生成和其他语言理解基准测试上的性能比较。需要注意的是,所有任务都是使用 0-shot 进行评估,除了 BBH 和 MMLU 使用 3-shot CoT 和 5-shot 进行评估。

PHI2

虽然该模型没有采用任何特殊技术,如 RLHF,但据报道,与开源的 Llama2-7b 相比,在毒性和偏见方面更安全。作者将此归因于数据筛选工作。

PHI2SAFETY

如下图所示,Phi-2 在各种基准测试中优于 Mistral 7B 和 Llama 2(13B)。Phi-2 甚至在多步推理方面优于 Llama-2-70B 模型。Phi-2 还优于Google 的 Gemini Nano 2

PHI2PERFORMANCE

以下是几个提示示例,展示了 Phi-2 模型在多个任务上的能力。

物理问题解决

以下示例展示了 Phi-2 解决物理问题的能力:

PHI2PHYSICS

错误识别

以下示例展示了 Phi-2 在识别学生对物理问题计算中的错误方面的能力:

PHI2CORRECTING

Phi-2 使用

根据模型页面,Phi-2 可以使用问答格式、聊天格式和代码格式进行提示。以下我们展示了如何在不同场景下有效使用这些提示模板。

问答格式

问答格式适用于您向模型提问并希望得到简洁答案的场景。

您可以使用以下提示模板:

Instruct: {{prompt}}
Output:

这是一个示例:

提示:

Instruct: 什么是数据和信息之间的区别?
Output:

输出:

很好的问题!数据是指尚未经过分析或处理成任何有意义上下文的原始事实、统计数据或数字。另一方面,信息是经过组织、分析和解释的数据,以便人类可以根据其做出明智的决策或采取行动。换句话说,数据是原材料,而信息是经过处理的有用知识。

聊天格式

Phi-2 使用的聊天格式是一种标准格式,以下是一个简单的示例:

提示:

Human: 你好,你是谁?
AI: 你好!我是一个人工智能研究助理。我今天能为您做些什么呢?
Human: 你能告诉我关于黑洞的形成吗?
AI:

输出:

黑洞是由于一颗巨大的恒星耗尽燃料,在自身的引力作用下坍缩形成的。所得到的物体密度如此之大,以至于扭曲了周围的时空,导致任何靠近的物体都会被巨大的引力吸引进去。这包括光,它无法...

代码格式

以下是一个提供函数名称给模型的代码生成提示模板:

提示:

def multiply(a,b):\n

请记住,该模型在有限的 Python 代码示例和库上进行了训练,因此在代码生成能力和语言支持方面受到了很大限制。

Phi-2 限制

以下是作者报告的 Phi-2 的限制摘要:

  • 与其他模型类似,Phi-2 可能生成不准确的代码和语句。
  • Phi-2 不像其他模型那样经过指令调整,可能难以遵循指令。
  • 训练包括标准英语;因此,该模型可能难以理解俚语并且无法理解其他语言的指令。
  • Phi-2 也可能产生社会偏见和有害内容。
  • Phi-2 没有经过调整,往往会生成冗长的回复,有时甚至会产生无关的额外文本。作者认为这可能是由于训练数据集的性质,主要是教科书。

图片来源:Microsoft Research

参考文献