微软推出两款功能强大的Phi-4推理模型

微软推出两款功能强大的Phi-4推理模型

微软与 OpenAI、谷歌和 Meta 不同,尤其是在大型语言模型方面。其他科技巨头喜欢推出多个模型,几乎让用户应接不暇;而微软只推出几个模型,但这些模型总能在全球开发者中大受欢迎。在最新的版本中,他们发布了两个推理模型: Phi-4-Reasoning 和 Phi-4-Reasoning-plus 都是在基础 Phi-4 模型上训练出来的。这两个 Phi-4-Reasoning 模型可与 o1、o3-mini 和 DeepSeek R1 等强大的模型竞争。在本文中,我们将详细介绍 Phi-4-Reasoning 模型的技术细节、架构、训练方法和性能。

让我们一起来探索 Phi-4 推理模型。

什么是Phi-4推理模型?

在 LLM 领域,Phi-4 并不陌生。去年,这个小而强大的语言模型一经推出,就在互联网上引起了轰动。现在,为了满足对推理模型日益增长的需求,微软发布了 Phi-4-Reasoning 模型。这是 14B 参数,擅长执行涉及数学、编码和 STEM 问题的复杂推理任务。与通用的 Phi-4 系列相比,Phi-4-Reasoning 专门针对长链推理进行了优化,即能够将复杂的多步骤问题系统地分解为逻辑步骤。

Phi 4推理模型

微软发布的两种推理模型是

  • Phi-4-Reasoning:在高质量数据集上使用监督微调或 SFT 训练的推理模型。该模型适用于所有需要更快响应且性能受限的任务。
  • Phi-4-Reasoning-Plus:这是一个增强型推理模型,它通过强化学习或 RL 来提高性能,但与同类模型相比,其生成的标记数量几乎增加了 50%。该模型的延迟会增加,因此建议用于高精确度任务。

这两个 14B 模型目前只支持文本输入,微软已将它们作为开放重量级模型发布,开发人员可以根据自己的需求自由测试和微调它们。以下是这些模型的一些主要亮点:

细节 Phi-4-Reasoning模型
开发人员 Microsoft Research
模型变体 Phi-4-Reasoning, Phi-4-Reasoning-Plus
基础结构 Phi-4(14B 参数),仅密集解码器变换器
训练方法 对思维链数据进行监督微调;Plus 变体包括额外的强化学习 (RLHF)
训练时间 在 32× H100-80G GPU 上运行 2.5 天
训练数据 共 16B 个 tokens(约 83B 个唯一tokens),来自合成提示和过滤后的公共领域数据
训练周期 2025 年 1 月至 4 月
数据截止 2025 年 3 月
输入格式 文本输入,针对聊天式提示进行了优化
上下文长度 32,000 tokens
输出格式 两个部分:推理思维链块和总结块
发布日期 2025 年 4 月 30 日

Phi-4-Reasoning模型的主要特点

对于 Phi-4,团队在数据选择、训练方法和性能方面采取了多项创新措施。他们所做的一些关键工作包括

以数据为中心的训练

为训练 Phi-4 推理模型而进行的数据整理不仅依赖于数据的数量,也同样重视数据的质量。他们特别选择了处于模型能力“边缘”的数据。这确保了训练数据可解但不易解。

为 Phi-4 模型建立数据集的主要步骤包括

  • 种子数据库:微软团队从 AIME 和 GPQA 等公开数据集入手。这些数据集涉及多步骤推理的代数和几何问题。
  • 合成推理链:为了获得全面而详细的分步推理回答,微软团队依赖于 OpenAI 的 o3-mini 模型。

例如,对于“sin(x2) 的导数是多少?”这一问题,o3-mini 的输出结果如下:

Step 1: Apply the chain rule: d/dx sin(u)=cos(u)*du/dx.  Step 2: Let u=x² ⇒ du/dx=2x. Final Answer: cos(x²) * 2x.

这些人为或合成生成的推理回答链为模型如何构建自己的推理回答提供了清晰的蓝图。

  • 选择“Teachable Moments”:开发团队有意识地选择既能解决又能挑战基础 Phi-4 模型的提示。这些问题包括 Phi-4 最初显示出 50%左右准确率的问题。这种方法确保了训练过程避免使用“简单”的数据,因为这些数据只会强化现有的模式,而更注重“结构化推理”。

该团队主要是想让 Phi-4 推理模型像它们一样学习,这也是我们人类通常依赖的方法。

监督微调(SFT)

监督微调(SFT)是通过在精心挑选的具有高质量响应的输入输出对上进行训练来改进预训练语言模型的过程。对于 Phi-4-Reasoning 模型来说,这意味着从基本的 Phi-4 模型开始,然后使用推理任务对其进行改进。从根本上说,Phi-4-Reasoning 是为了学习和遵循 o3-mini 的回答中的逐步推理模式而训练的。

训练细节

  • 批量大小:保持在 32 个。这种较小的批次规模允许模型专注于单个示例,而不会被额外的噪音所淹没。
  • 学习率:学习率为 7e-5,这是一个适中的学习率,可以避免在更新过程中过冲最优权重。
  • 优化器:使用了标准的“Adam W”优化器。这种深度学习优化器兼顾了速度和稳定性。
  • 上下文长度:上下文长度为 32,768 个令牌,是基础 Phi-4 模型 16K 令牌限制的两倍。这使得模型能够处理更长的上下文。

在早期训练中使用 SFT 可以让模型使用 <thinking> 和 </thinking> 标记将原始输入与内部推理分离开来。这种结构使其决策过程变得透明。此外,该模型在 AIME 基准测试中也取得了稳步提高,这证明该模型不仅仅是在复制格式,而是在构建推理逻辑。

强化学习

强化学习是通过对模型生成的所有输出进行反馈,教导模型如何做得更好。模型每次回答正确都会得到奖励,每次回答错误都会受到惩罚。RL 用于进一步训练 Phi-4-Reasoning -Plus 模型。这种训练方法完善了模型的数学解题技巧,评估了回答的准确性和结构化方法。

RL 是如何工作的?

  • 奖励设计:模型每回答正确一次,奖励+1;回答错误一次,奖励-0.5。模型因重复“Let’s see.. Let’s see..”等。
  • 算法:使用 GRPO 算法或广义奖励策略优化算法,这是一种兼顾探索和利用的 RL 变体。
  • 结果:在 AIME 2025 中,Phi-4-Reasoning-Plus 的准确率达到 82.5%,而 Phi-4 Reasoning 仅为 71.4%。它在 Omni-MATH 和 TSP(旅行推销员问题)上的表现也有所提高。

RL 训练允许模型反复改进其步骤,并有助于减少生成输出中的“幻觉”。

Phi-4-Reasoning模型的架构

Phi-4-Reasoning 模型的主要结构与基本的 Phi-4 模型相似,但为了支持“推理”任务,我们做了一些关键的修改。

  1. 我们重新使用了 Phi-4 中的两个占位符。这些标记有助于模型区分原始输入和内部推理。
    • <thinking>:用于标记推理块的开始。
    • </thinking>:用于标记推理块的结束。
  2. Phi-4 推理模型有一个 32K 标记的扩展上下文窗口,以处理额外的推理链。
  3. 模型使用旋转位置嵌入来更好地跟踪长序列中标记的位置,以帮助模型保持一致性。
  4. 经过训练的模型可在消费类硬件(包括手机、平板电脑和台式机等设备)上高效运行。

Phi-4-Reasoning模型:基准性能

我们在各种基准上对 Phi-4 推理模型进行了评估,以测试它们在不同任务上与不同模型的性能比较。

Phi-4-Reasoning模型:基准性能

Source: Phi-4-Reasoning

  • AIME 2025:这是一项测试高级数学、推理和近期考试难度的基准测试。Phi-4-Reasoning Plus 的表现优于 o1 和 Claude 3.7 Sonnet 等大多数表现优异的模型,但仍落后于 o3-mini-high。
  • Omni-MATH:评估不同主题和水平的数学推理的基准。Phi-4-Reasoning 和 Phi-4-Reasoning plus 的表现几乎优于所有模型,仅落后于 DeepSeek R1。
  • GPQA:该基准测试模型在研究生水平的专业质量保证推理中的表现。两个 Phi 推理模型落后于 o1、o3-mini high 和 DeepSeek R1 等巨头。
  • SAT:评估美国高中水平学术推理(数学+言语混合)的基准。Phi-4-Reasoning-Plus 模型跻身前三名,Phi-4-Reasoning 紧随其后。
  • Maze:该基准测试导航和决策寻路推理。在此基准测试中,Phi-4 推理模型落后于 o1 和 Claude 3.7 sonnet 等顶级模型。

在空间地图、TSP 和 BA 日历等其他基准测试中,Phi-4 推理模型的表现都还不错。

如何访问Phi-4-Reasoning模型?

两种 Phi-4 推理模型可在 Hugging Face 上获取:

点击链接进入拥抱面孔页面,在那里你可以访问这些模型。在屏幕右上角点击“Use This Model”,点击“Transformers”并复制以下代码:

# Use a pipeline as a high-level helper
from transformers import pipeline
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="microsoft/Phi-4-reasoning")
pipe(messages)

由于这是一个 14B 参数的模型,因此需要大约 40GB 以上的 VRAM(GPU),您可以在“Colab Pro”或“Runpod ”上运行这些模型。在本文中,我们在“Runpod”上运行了模型,并使用了“A100 GPU”。

安装所需库

首先,确保已安装变压器库。可以使用 pip 安装:

pip install transformers

加载模型

安装完所有库后,就可以在笔记本上加载 Phi-4-Reasoning 模型了:

# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="microsoft/Phi-4-reasoning", max_new_tokens=4096)

请确保设置 max_new_tokens = 4096,因为模型会生成整个推理过程,较少的标记数往往会中途停止输出。

Phi-4-Reasoning实际应用

现在,我们将在两个涉及逻辑思维和推理的任务中测试 Phi-4 推理模型。让我们开始吧。

任务 1:逻辑思维

输入:

messages = [
    {"role": "user", "content": """A team is to be selected from among ten persons — A, B, C, D, E, F, G, H, I and J — subject to the following conditions.
Exactly two among E, J, l and C must be selected.
If F is selected, then J cannot be selected.
Exactly one among A and C must be selected.
Unless A is selected, E cannot be selected,
If and only if G is selected, D must not be selected.
If D is not selected, then H must be selected.
The size of a team is defined as the number of members in the team. In how many ways can the team of size 6 be selected, if it includes E? and What is the largest possible size of the team?"""
    },
]

输出:

Markdown(pipe(messages)[0]["generated_text"][1]["content"])

该模型思考透彻。它很好地将整个问题分解成几个小步骤。问题由两个任务组成,在给定的标记窗口中,它给出了第一个任务的答案,但无法生成第二个任务的答案。有趣的是该模型在解决给定问题时所采取的方法。首先,它从理解问题开始,找出所有的可能性,然后开始解决每一项任务,有时还会重复它预先建立的逻辑。

任务 2:向一个8岁的孩子解释LLM工作原理

输入

messages = [
    {"role": "user", "content": """Explain How LLMs works by comparing their working to the photosynthesis process in a plant so that an 8 year old kid can actually understand"""
    },
]

输出:

Markdown(pipe(messages)[0]["generated_text"][1]["content"])

在生成这个问题的响应时,模型产生了一些幻觉。最后,它生成的答案将 LLM 的工作原理与光合作用过程进行了很好的类比。它的语言非常简单,最后还加上了免责声明。

Phi-4-Reasoning与o3-mini:比较

在上一节中,我们看到了 Phi-4 推理模型在处理复杂问题时的表现。现在,让我们将其性能与 OpenAI 的 o3-mini 进行比较。为此,我们将测试两个模型在相同任务中的输出结果。

Phi-4-Reasoning

输入

from IPython.display import Markdown
messages = [
    {"role": "user", "content": """Suppose players A and B are playing a game with fair coins. To begin the game A and B 
    both flip their coins simultaneously. If A and B both get heads, the game ends. If A and B both get tails, they both 
    flip again simultaneously. If one player gets heads and the other gets tails, the player who got heads flips again until he 
    gets tails, at which point the players flip again simultaneously. What is the expected number of flips until the game ends?"""
    },
]
Output = pipe(messages)

输出:

Markdown(Output[0]["generated_text"][1]["content"])

Phi-4-Reasoning与o3-mini:比较

o3-mini

输入:

response = client.responses.create(
    model="o3-mini",
    input="""Suppose players A and B are playing a game with fair coins. To begin the game A and B 
    both flip their coins simultaneously. If A and B both get heads, the game ends. If A and B both get tails, they both 
    flip again simultaneously. If one player gets heads and the other gets tails, the player who got heads flips again until he 
    gets tails, at which point the players flip again simultaneously. What is the expected number of flips until the game ends?"""
)

输出:

print(response.output_text)

Phi-4-Reasoning与o3-mini:比较

要查看详细的输出结果,请参阅以下 Github 链接。

结果评估

两个模型都给出了准确的答案。另一方面,o3-mini 将思考和最终答案更顺畅地结合在一起,使输出结果清晰易用。它的答案也更加简洁直接。

Phi-4-Reasoning模型的应用

Phi-4 推理模型开辟了一个充满可能性的世界。开发人员可以利用这些模型开发智能系统,以满足不同行业的需求。以下是Phi-4推理模型真正可以大显身手的几个领域:

  • 它们在编码基准(如 LiveCodeBench)中的强劲表现表明,它们可应用于代码生成、调试、算法设计和自动化软件开发。
  • 它们生成详细推理链的能力使其非常适合回答需要多步推理和逻辑演绎的复杂问题。
  • 这些模型在规划任务方面的能力可用于物流、资源管理、游戏和需要连续决策的自主系统。
  • 这些模型还有助于设计机器人、自主导航以及涉及空间关系解释和操作任务的系统。

小结

Phi-4推理模型是开放式的,可与 DeepSeek 和 OpenAI 的 o3-mini 等顶级付费推理模型竞争。由于它们没有经过指令调整,因此它们的答案可能不像某些流行模型那样总是遵循清晰、结构化的格式,但随着时间的推移或自定义微调,这种情况会有所改善。微软的新模型是功能强大的推理工具,性能卓越,而且只会越来越好。

评论留言