logo
P
Prompt Master

Prompt 大师

掌握和 AI 对话的艺术

Phi-2

Phi-2 overview

#TL;DR(中文)

  • code
    Phi-2
    是 small language model(
    code
    SLM
    )路线的代表之一:主打更小参数规模下的推理/语言理解能力与部署可行性。
  • 适合用于:成本敏感的场景、轻量推理、基础
    code
    coding
    辅助;复杂任务建议搭配更强模型或更严格的 prompt 约束。
  • 工程落地建议:固定 prompt template、固定输出格式,并用小规模
    code
    evaluation
    回归,避免“看起来聪明但偶发错误”。

#How to Prompt(中文,code block 保持英文)

text
Instruct: <your instruction> Constraints: - Keep the output concise. - If unsure, say "Unsure". Output:

#Self-check rubric(中文)

  • 输出是否遵守模板(不加额外段落/不跑格式)?
  • 是否在不确定时能 abstain(输出 Unsure)?
  • 是否在算术/逻辑任务中保持一致性(多次运行)?

在本指南中,我们将概述 Phi-2 (一个拥有 27 亿参数的语言模型),以及如何对 Phi-2 进行提示工程以及其能力。本指南还包括与 Phi-2 语言模型相关的技巧、应用、局限性、重要参考文献以及额外的阅读材料。

#Phi-2 的介绍

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

Phi-1 是一个拥有 13 亿参数的模型,使用来自网络的“教科书质量”数据(6B tokens)以及使用 GPT-3.5(1B tokens)合成生成的教科书和练习进行训练(Gunasekar et al. 2023)。Phi-1 在 Python 代码生成任务上表现出色。

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

Phi-2 是一个拥有 27 亿参数的模型,提高了推理和语言理解能力。Phi-2 的性能超过了大约 25 倍大小的模型,并且现在具有 MIT 许可证,使其在商业环境中可用。

#关于 Phi-2 的理解与评估

LLM(小型语言模型)研究人员渴望探索小型语言模型是否具有类似于其他大型模型的能力,以及是否存在模型训练技术可以帮助实现这一点。

该模型使用“教科书质量”的数据进行训练(包括 1.4 万亿个 token,并且存在多次传递),其中包括合成数据集,帮助模型学习常识推理和常规知识,并且数据还被教育相关和高质量的网络内容增强。Phi-2 在 96 个 A100 GPU 上进行了为期 14 天的训练。没有应用额外的 RLHF 或指令调整。

Phi-1.5 的知识被转移至 Phi-2,这有助于模型在多个基准测试上的融合和性能提升。下图展示了 Phi-2(2.7B)和 Phi-1.5(1.3B)在常识推理、数学推理、代码生成以及其他语言理解基准测试上的性能比较。重要的是要注意,所有任务都是使用 0-shot(零样本提示) 进行评估,除了 BBH 和 MMLU,它们分别使用 3-shot CoT(3 样本链式思考提示) 和 5-shot 进行评估(5 样本提示)。

Phi-2 LLM Performance & Benchmarks

虽然该模型没有采用像 RLHF(来自人类反馈的强化学习)这样的特殊技术,但据报道,就有害性和偏见而言,与之对应的开源 Llama2-7b 相比,该模型更安全, 作者将这归因于数据审编 (Data Curation)的努力。

Phi-2 Safety Performance

正如下图所示,Phi-2 在各种基准测试上均优于 Mistral 7B 和 Llama 2(13B)。Phi-2 甚至在多步推理任务上超过了 Llama-2-70B 模型。Phi-2 还在性能上超越了谷歌的 Google's Gemini Nano 2

Phi-2 Performance Comparison

在下面,我们提供几个提示示例,展示了 Phi-2 模型在多个任务上的能力。

#利用 Phi-2 解决物理学问题

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

Phi-2 Physics Problem Solving

#利用 Phi-2 发现学生做题错误

以下示例演示了 Phi-2 辨别学生在解物理问题时计算错误的能力:

Phi-2 Verifying and Correcting

#使用 Phi-2

根据模型页面的描述,Phi-2 可以通过问答格式、聊天格式和代码格式进行提示。以下是使用这些提示模板的不同场景的有效演示:

#问题与答案的格式

问题与答案的格式对于您向模型提问并希望得到简明回答的场景非常有用。

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

markdown
Instruct: {{prompt}} Output:

这里是一个例子:

Prompt:

code
Instruct: What's the difference between data and information? Output:

Output:

code
Great question! Data refers to raw facts, measurements, or observations that haven't been processed into meaningful context. Information is data that has been organized, analyzed, and interpreted so it can support decisions or actions. In other words, data is the raw material and information is processed, useful knowledge.

#对话格式

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

Prompt:

code
Human: Hello, who are you? AI: Greetings! I am an AI research assistant. How can I help you today? Human: Can you tell me how black holes are formed? AI:

Output:

code
Black holes can form when a massive star exhausts its fuel and collapses under its own gravity. The resulting object becomes extremely dense and warps spacetime around it, creating a gravitational pull so strong that nearby matter—and even light—cannot escape...

#代码格式

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

Prompt:

code
def multiply(a,b):\n

请注意,模型在有限的 Python 代码示例和库上进行了训练,因此在代码生成能力和语言支持方面存在一定的限制。如果您有具体的代码生成需求,可以尝试提供更详细的上下文或指导,以便模型更好地满足您的要求。

#Phi-2 的局限性

以下是作者报告的 Phi-2 的一些限制的总结:

  • 与其他模型类似,Phi-2 可能生成不准确的代码和陈述。
  • Phi-2 没有像其他模型那样进行指令调整,可能难以遵循指令。
  • 训练数据主要是标准英语;因此,该模型可能在俚语和其他语言的指令理解方面遇到困难。
  • Phi-2 也可能产生社会偏见和有害的内容。
  • Phi-2 没有进行调整(tune),并且往往会生成冗长的回应,有时甚至产生不相关的额外文本。作者提出这可能是由于主要来源于教科书的训练数据的性质所致。

图片来源: Microsoft Research

#引用

1v1免费职业咨询