模型简介
模型特点
模型能力
使用案例
🚀 Phi-4模型卡片
Phi-4是一款先进的语言模型,融合了多种优质数据集进行训练,具备强大的推理和语言处理能力。它适用于多种场景,尤其在英语环境下表现出色,同时采用了严格的安全训练方法,确保输出的安全性和可靠性。
🚀 快速开始
输入格式
鉴于训练数据的特性,phi-4
最适合使用以下聊天格式的提示:
<|im_start|>system<|im_sep|>
You are a medieval knight and must provide explanations to modern people.<|im_end|>
<|im_start|>user<|im_sep|>
How should I explain the Internet?<|im_end|>
<|im_start|>assistant<|im_sep|>
使用transformers
库
import transformers
pipeline = transformers.pipeline(
"text-generation",
model="microsoft/phi-4",
model_kwargs={"torch_dtype": "auto"},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a medieval knight and must provide explanations to modern people."},
{"role": "user", "content": "How should I explain the Internet?"},
]
outputs = pipeline(messages, max_new_tokens=128)
print(outputs[0]["generated_text"][-1])
✨ 主要特性
- 先进架构:基于14B参数的密集解码器Transformer模型,具备强大的语言处理能力。
- 优质数据训练:使用多种来源的数据进行训练,包括严格筛选的公开文档、新创建的合成数据、学术书籍和问答数据集等,提升模型的推理能力。
- 多场景适用:适用于内存/计算受限环境、低延迟场景以及需要推理和逻辑的场景。
- 严格安全训练:采用监督微调(SFT)和直接偏好优化(DPO)相结合的方法,确保模型输出的安全性和可靠性。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
import transformers
pipeline = transformers.pipeline(
"text-generation",
model="microsoft/phi-4",
model_kwargs={"torch_dtype": "auto"},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a medieval knight and must provide explanations to modern people."},
{"role": "user", "content": "How should I explain the Internet?"},
]
outputs = pipeline(messages, max_new_tokens=128)
print(outputs[0]["generated_text"][-1])
高级用法
文档未提及高级用法示例,故跳过此部分。
📚 详细文档
模型概述
属性 | 详情 |
---|---|
开发者 | Microsoft Research |
描述 | phi-4 是一款先进的开放模型,基于合成数据集、经过筛选的公共领域网站数据以及获取的学术书籍和问答数据集进行训练。该方法的目标是确保使用专注于高质量和高级推理的数据来训练小型且强大的模型。phi-4 经过了严格的增强和对齐过程,包括监督微调(SFT)和直接偏好优化(DPO),以确保精确遵循指令和强大的安全措施。 |
架构 | 14B参数,密集解码器Transformer模型 |
输入 | 文本,最适合聊天格式的提示 |
上下文长度 | 16K tokens |
GPU | 1920 H100 - 80G |
训练时间 | 21天 |
训练数据 | 9.8T tokens |
输出 | 对输入的生成文本 |
日期 | 2024年10月 - 2024年11月 |
状态 | 基于截止到2024年6月及更早的公开可用数据的离线数据集训练的静态模型 |
发布日期 | 2024年12月12日 |
许可证 | MIT |
预期用途
主要用例
我们的模型旨在加速语言模型的研究,用作生成式AI功能的构建块。它适用于需要以下条件的通用AI系统和应用程序(主要为英语):
- 内存/计算受限的环境。
- 低延迟场景。
- 推理和逻辑。
超出范围的用例
我们的模型并非专门为所有下游用途设计或评估,因此:
- 开发者在选择用例时应考虑语言模型的常见限制,并在特定下游用例中使用之前评估和减轻准确性、安全性和公平性问题,特别是在高风险场景中。
- 开发者应了解并遵守与其用例相关的适用法律或法规(包括隐私、贸易合规法等),包括模型对英语的关注。
- 本模型卡片中的任何内容均不应被解释为或视为对模型发布所依据的许可证的限制或修改。
数据概述
训练数据集
我们的训练数据是Phi - 3使用数据的扩展,包括来自以下多种来源的数据:
- 经过严格质量筛选的公开可用文档、选定的高质量教育数据和代码。
- 为教授数学、编码、常识推理、世界常识(科学、日常活动、心理理论等)而新创建的合成“教科书式”数据。
- 获取的学术书籍和问答数据集。
- 涵盖各种主题的高质量聊天格式监督数据,以反映人类在指令遵循、真实性、诚实性和有用性等不同方面的偏好。
多语言数据约占我们总数据的8%。我们专注于可能提高模型推理能力的数据质量,并筛选公开可用文档以包含正确的知识水平。
基准数据集
我们使用OpenAI的SimpleEval和我们自己的内部基准评估phi - 4
,以了解模型的能力,具体如下:
- MMLU:流行的多任务语言理解聚合数据集。
- MATH:具有挑战性的竞赛数学问题。
- GPQA:复杂的研究生水平科学问题。
- DROP:复杂的理解和推理。
- MGSM:多语言小学算术问题。
- HumanEval:函数代码生成。
- SimpleQA:事实性回答。
安全性
方法
phi - 4
采用了强大的安全后训练方法。该方法利用了各种开源和内部生成的合成数据集。用于安全对齐的总体技术是监督微调(SFT)和迭代直接偏好优化(DPO)的组合,包括专注于有用性和无害性的公开可用数据集以及针对多个安全类别的各种问题和答案。
安全评估和红队测试
在发布之前,phi - 4
遵循了多方面的评估方法。使用多个开源安全基准和内部工具进行了定量评估,利用对抗性对话模拟。对于定性安全评估,我们与微软的独立AI红队(AIRT)合作,评估phi - 4
在平均和对抗性用户场景中的安全风险。在平均用户场景中,AIRT模拟了典型的单轮和多轮交互,以识别潜在的风险行为。对抗性用户场景测试了一系列旨在故意破坏模型安全训练的技术,包括越狱、基于编码的攻击、多轮攻击和对抗性后缀攻击。
请参考技术报告以获取有关安全对齐的更多详细信息。
模型质量
为了了解模型的能力,我们在OpenAI的SimpleEval基准上比较了phi - 4
与一组模型。
以下是模型在代表性基准上的质量概述。在下表中,数字越高表示性能越好:
类别 | 基准 | phi - 4 (14B) | phi - 3 (14B) | Qwen 2.5 (14B instruct) | GPT - 4o - mini | Llama - 3.3 (70B instruct) | Qwen 2.5 (72B instruct) | GPT - 4o |
---|---|---|---|---|---|---|---|---|
流行聚合基准 | MMLU | 84.8 | 77.9 | 79.9 | 81.8 | 86.3 | 85.3 | 88.1 |
科学 | GPQA | 56.1 | 31.2 | 42.9 | 40.9 | 49.1 | 49.0 | 50.6 |
数学 | MGSM MATH |
80.6 80.4 |
53.5 44.6 |
79.6 75.6 |
86.5 73.0 |
89.1 66.3* |
87.3 80.0 |
90.4 74.6 |
代码生成 | HumanEval | 82.6 | 67.8 | 72.1 | 86.2 | 78.9* | 80.4 | 90.6 |
事实知识 | SimpleQA | 3.0 | 7.6 | 5.4 | 9.9 | 20.9 | 10.2 | 39.4 |
推理 | DROP | 75.5 | 68.3 | 85.5 | 79.3 | 90.2 | 76.7 | 80.9 |
* 这些分数低于Meta报告的分数,可能是因为simple - evals有严格的格式要求,Llama模型特别难以遵循。我们使用simple - evals框架是因为它具有可重复性,但Meta报告Llama - 3.3 - 70B在MATH上的分数为77,在HumanEval上的分数为88。
负责任的AI考虑
与其他语言模型一样,phi - 4
可能会表现出不公平、不可靠或冒犯性的行为。需要注意的一些限制行为包括:
- 服务质量:该模型主要基于英语文本进行训练。非英语语言的性能会更差。训练数据中代表性较少的英语变体的性能可能比标准美式英语更差。
phi - 4
不旨在支持多语言使用。 - 伤害表示和刻板印象延续:这些模型可能会过度或不足表示某些人群,抹去某些群体的代表性,或强化贬低性或负面刻板印象。尽管进行了安全后训练,但由于不同群体的代表性水平不同或训练数据中反映现实世界模式和社会偏见的负面刻板印象示例普遍存在,这些限制可能仍然存在。
- 不适当或冒犯性内容:这些模型可能会产生其他类型的不适当或冒犯性内容,在没有针对特定用例的额外缓解措施的情况下,可能不适合在敏感上下文中部署。
- 信息可靠性:语言模型可能会生成无意义的内容或编造听起来合理但不准确或过时的内容。
- 代码范围有限:
phi - 4
的大部分训练数据基于Python,并使用常见的包,如typing
、math
、random
、collections
、datetime
、itertools
。如果模型生成使用其他包的Python脚本或其他语言的脚本,我们强烈建议用户手动验证所有API的使用。
开发者应应用负责任的AI最佳实践,并负责确保特定用例符合相关法律和法规(如隐私、贸易等)。强烈建议使用具有高级护栏的安全服务,如Azure AI Content Safety。需要考虑的重要领域包括:
- 分配:在没有进一步评估和额外去偏技术的情况下,模型可能不适合对法律地位、资源分配或生活机会(如住房、就业、信贷等)有重大影响的场景。
- 高风险场景:开发者应评估在高风险场景中使用模型的适用性,在这些场景中,不公平、不可靠或冒犯性的输出可能代价高昂或导致伤害。这包括在准确性和可靠性至关重要的敏感或专家领域提供建议(如法律或健康建议)。应根据部署上下文在应用程序级别实施额外的保障措施。
- 错误信息:模型可能会产生不准确的信息。开发者应遵循透明度最佳实践,并告知最终用户他们正在与AI系统交互。在应用程序级别,开发者可以构建反馈机制和管道,将响应基于特定用例的上下文信息,这种技术称为检索增强生成(RAG)。
- 有害内容生成:开发者应根据上下文评估输出,并使用适合其用例的可用安全分类器或自定义解决方案。
- 滥用:可能存在其他形式的滥用,如欺诈、垃圾邮件或恶意软件生产,开发者应确保其应用程序不违反适用的法律和法规。
🔧 技术细节
文档未提及具体技术细节,故跳过此章节。
📄 许可证
本模型采用MIT许可证,详情请见许可证链接。



