许可证: mit
许可证链接: https://huggingface.co/microsoft/Phi-4-reasoning-plus/resolve/main/LICENSE
语言:
- 英文
基础模型:
- microsoft/Phi-4-reasoning-plus
任务标签: 文本生成
标签:
- phi
- unsloth
- 自然语言处理
- 数学
- 代码
- 聊天
- 对话式
- 推理
推理参数:
温度: 0
示例输入:
- 消息:
- 角色: 用户
内容: x^2的导数是什么?
库名称: transformers
Phi-4推理增强版模型卡
Phi-4推理技术报告
模型概览
|
|
开发团队 |
微软研究院 |
描述 |
Phi-4推理增强版是基于Phi-4通过监督微调在思维链追踪数据集和强化学习上优化的尖端开源推理模型。监督微调数据集包含合成提示和来自公共领域网站的高质量过滤数据,专注于数学、科学和编程技能,以及安全性和负责任AI的对齐数据。该方法旨在确保小型高效模型通过高质量和高级推理数据进行训练。Phi-4推理增强版额外通过强化学习训练,因此具有更高准确性,但平均生成多50%的标记,延迟更高。 |
架构 |
基础模型与之前发布的Phi-4相同,140亿参数,密集仅解码器Transformer模型 |
输入 |
文本,最适合聊天格式的提示 |
上下文长度 |
32k标记 |
GPU |
32台H100-80G |
训练时间 |
2.5天 |
训练数据 |
160亿标记,约83亿唯一标记 |
输出 |
根据输入生成的文本。模型响应分为两部分,即思维链推理块和总结块 |
训练日期 |
2025年1月 – 2025年4月 |
状态 |
基于2025年3月及之前公开数据的静态离线训练模型 |
发布日期 |
2025年4月30日 |
许可证 |
MIT |
预期用途
|
|
主要用例 |
我们的模型旨在加速语言模型研究,作为生成式AI功能的基础组件。它适用于需要以下条件的通用AI系统和应用(主要为英文):
1. 内存/计算受限环境。 2. 延迟敏感场景。 3. 推理和逻辑。 |
非适用场景 |
该模型仅针对数学推理设计和测试。我们的模型并非为所有下游用途专门设计或评估。开发者在选择用例时应考虑语言模型的常见限制,并在高风险场景中评估和缓解准确性、安全性和公平性问题。开发者应了解并遵守适用法律法规(包括隐私、贸易合规等),特别是模型主要针对英文。请参阅下文“负责任AI考量”部分以获取更多指导。本模型卡中的任何内容均不应解释为对模型发布许可证的限制或修改。 |
数据概览
训练数据集
我们的训练数据是数学、科学和编程领域的问答及聊天格式数据的混合。聊天提示来源于经过过滤的高质量网络数据,并通过合成数据生成管道进行可选的重写和处理。我们进一步包含提高真实性和安全性的数据。
基准数据集
我们使用开源的Eureka评估套件和内部基准来评估Phi-4推理增强版的能力。具体评估包括:
推理任务:
- AIME 2025、2024、2023和2022: 数学奥赛问题。
- GPQA-Diamond: 复杂的研究生级科学问题。
- OmniMath: 超过4000道奥赛级数学问题的人工标注集合。
- LiveCodeBench: 来自编程竞赛的代码生成基准。
- 3SAT(三文字可满足性问题)和TSP(旅行商问题): 算法问题解决。
- BA Calendar: 规划。
- Maze和SpatialMap: 空间理解。
通用基准:
- Kitab: 信息检索。
- IFEval和ArenaHard: 指令遵循。
- PhiBench: 内部基准。
- FlenQA: 提示长度对模型性能的影响。
- HumanEvalPlus: 功能性代码生成。
- MMLU-Pro: 多任务语言理解的流行聚合数据集。
安全性
方法
Phi-4推理增强版通过监督微调(SFT)采用了强大的安全后训练方法。该方法利用开源和内部生成的合成提示,其LLM生成的响应遵循严格的微软安全准则,例如用户理解与清晰性、安全与伦理准则、限制、免责声明和知识范围、处理复杂和敏感话题、安全与尊重互动、准则保密性和思维链保密性。
安全评估与红队测试
发布前,Phi-4推理增强版遵循了多方面的评估方法。定量评估通过多个开源安全基准和利用对抗性对话模拟的内部工具进行。定性安全评估中,我们与微软独立的AI红队(AIRT)合作,评估Phi-4推理增强版在普通和对抗性用户场景中的安全风险。普通用户场景中,AIRT模拟典型的单轮和多轮交互以识别潜在风险行为。对抗性用户场景测试了广泛的技术,旨在故意颠覆模型的安全训练,包括基础性、越狱、仇恨与不公平、暴力、性内容或自残等有害内容,以及受保护材料的版权侵犯。我们进一步在Toxigen基准上评估模型,该基准旨在衡量针对少数群体的偏见和毒性。
更多安全对齐细节请参阅技术报告。
模型质量
以下是模型在代表性基准上的高质量概览。表中数值越高表示性能越好:
|
AIME 24 |
AIME 25 |
OmniMath |
GPQA-D |
LiveCodeBench (8/1/24–2/1/25) |
Phi-4推理 |
75.3 |
62.9 |
76.6 |
65.8 |
53.8 |
Phi-4推理增强版 |
81.3 |
78.0 |
81.9 |
68.9 |
53.1 |
OpenThinker2-32B |
58.0 |
58.0 |
— |
64.1 |
— |
QwQ 32B |
79.5 |
65.8 |
— |
59.5 |
63.4 |
EXAONE-Deep-32B |
72.1 |
65.8 |
— |
66.1 |
59.5 |
DeepSeek-R1-Distill-70B |
69.3 |
51.5 |
63.4 |
66.2 |
57.5 |
DeepSeek-R1 |
78.7 |
70.4 |
85.0 |
73.0 |
62.8 |
o1-mini |
63.6 |
54.8 |
— |
60.0 |
53.8 |
o1 |
74.6 |
75.3 |
67.5 |
76.7 |
71.0 |
o3-mini |
88.0 |
78.0 |
74.6 |
77.7 |
69.5 |
Claude-3.7-Sonnet |
55.3 |
58.7 |
54.6 |
76.8 |
— |
Gemini-2.5-Pro |
92.0 |
86.7 |
61.1 |
84.0 |
69.2 |
|
Phi-4 |
Phi-4推理 |
Phi-4推理增强版 |
o3-mini |
GPT-4o |
FlenQA [3K标记子集] |
82.0 |
97.7 |
97.9 |
96.8 |
90.8 |
IFEval严格 |
62.3 |
83.4 |
84.9 |
91.5 |
81.8 |
ArenaHard |
68.1 |
73.3 |
79.0 |
81.9 |
75.6 |
HumanEvalPlus |
83.5 |
92.9 |
92.3 |
94.0 |
88.0 |
MMLUPro |
71.5 |
74.3 |
76.0 |
79.4 |
73.0 |
Kitab 无上下文 - 精确率 有上下文 - 精确率 无上下文 - 召回率 有上下文 - 召回率 |
19.3 88.5 8.2 68.1 |
23.2 91.5 4.9 74.8 |
27.6 93.6 6.3 75.4 |
37.9 94.0 4.2 76.1 |
53.7 84.7 20.3 69.2 |
Toxigen判别式 有毒类别 中性类别 |
72.6 90.0 |
86.7 84.7 |
77.3 90.5 |
85.4 88.7 |
87.6 85.1 |
PhiBench 2.21 |
58.2 |
70.6 |
74.2 |
78.0 |
72.4 |
总体而言,仅140亿参数的Phi-4推理和Phi-4推理增强版在广泛的推理任务中表现良好,显著优于DeepSeek-R1蒸馏版700亿参数等更大的开源模型,并接近完整DeepSeek R1模型的性能水平。我们还在多个新的推理基准上测试了模型,包括3SAT、TSP和BA-Calendar等算法问题解决和规划任务。这些新任务名义上是模型训练领域之外的,但模型仍表现出对这些任务的强大泛化能力。此外,在评估标准通用能力基准(如指令遵循或非推理任务)的性能时,我们发现新模型相比Phi-4有显著提升,尽管后训练主要针对特定领域的推理技能。
使用
推理参数
推理时建议使用temperature=0.8
、top_p=0.95
和do_sample=True
。对于更复杂的查询,将最大标记数设置为32k以允许更长的思维链(CoT)。
Phi-4推理增强版在推理密集型任务上表现出色。在我们的实验中,我们将其最大标记数扩展到64k,它能够处理更长的序列并保持连贯性和逻辑一致性,这使得它成为需要深度多步推理或广泛上下文的任务的理想选择。
输入格式
鉴于训练数据的性质,推理时始终使用以下系统提示的ChatML模板:
<|im_start|>system<|im_sep|>
作为助手,您的角色是通过系统化的思考过程彻底探索问题,然后提供最终精确和准确的解决方案。这需要参与全面的分析、总结、探索、重新评估、反思、回溯和迭代循环,以形成深思熟虑的思考过程。请将您的响应分为两个主要部分:思考和解决方案,使用指定格式:<think> {思考部分} </think> {解决方案部分}。在思考部分,详细说明您的推理过程步骤。每个步骤应包括详细考虑,如分析问题、总结相关发现、头脑风暴新想法、验证当前步骤的准确性、修正任何错误以及回顾先前步骤。在解决方案部分,基于思考部分的各种尝试、探索和反思,系统地呈现您认为正确的最终解决方案。解决方案部分应逻辑清晰、准确简洁,并详细说明得出结论所需的必要步骤。现在,请尝试通过上述指南解决以下问题:<|im_end|>
<|im_start|>user<|im_sep|>
x^2的导数是什么?<|im_end|>
<|im_start|>assistant<|im_sep|>
使用transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-4-reasoning-plus")
model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-4-reasoning-plus", device_map="auto", torch_dtype="auto")
messages = [
{"role": "system", "content