ONNX 模型库
返回模型

说明文档

The README content appears to be empty in your message. Let me fetch the README from the HuggingFace model page. The README for onnx-community/Phi-3-mini-128k-instruct-ONNX is empty (it only contains the base_model reference). Let me fetch the README from the original model microsoft/Phi-3-mini-128k-instruct to translate the actual content:

模型摘要

Phi-3-Mini-128K-Instruct 是一个拥有 38 亿参数的轻量级、最先进的开放模型,使用 Phi-3 数据集进行训练。该数据集包括合成数据和经过筛选的公开网站数据,强调高质量和推理密集型特性。该模型属于 Phi-3 家族,Mini 版本有两个变体 4K 和 128K,即其支持的上下文长度(以 token 为单位)。

在初始训练之后,该模型经历了一个后训练过程,包括监督微调和直接偏好优化,以增强其遵循指令和遵守安全措施的能力。在测试常识、语言理解、数学、编程、长期上下文和逻辑推理的基准测试中,Phi-3 Mini-128K-Instruct 在参数少于 130 亿的模型中展现了强大且最先进的性能。

资源与技术文档:

🏡 Phi-3 门户 <br> 📰 Phi-3 微软博客 <br> 📖 Phi-3 技术报告 <br> 🛠️ Azure AI Studio 上的 Phi-3 <br> 👩‍🍳 Phi-3 Cookbook <br> 🖥️ 在线体验

短上下文 长上下文
Mini 4K [HF] ; [ONNX] ; [GGUF] 128K [HF] ; [ONNX]
Small 8K [HF] ; [ONNX] 128K [HF] ; [ONNX]
Medium 4K [HF] ; [ONNX] 128K [HF] ; [ONNX]
Vision 128K [HF] ; [ONNX]

预期用途

主要用例

该模型旨在用于英语的商业和研究用途。该模型适用于以下应用场景:

  1. 内存/计算受限的环境
  2. 延迟敏感的场景
  3. 强推理能力需求(尤其是代码、数学和逻辑)

我们的模型旨在加速语言和多模态模型的研究,并作为生成式 AI 功能的构建模块。

用例注意事项

我们的模型并非专门为所有下游目的而设计或评估。开发人员在选择用例时应考虑语言模型的常见局限性,并在特定的下游用例中使用之前,评估并减轻准确性、安全性和公平性方面的风险,尤其是在高风险场景中。开发人员应了解并遵守与其用例相关的适用法律或法规(包括隐私、贸易合规法律等)。

本模型卡中的任何内容均不应被解释为或视为对模型发布许可证的限制或修改。

发布说明

这是基于宝贵客户反馈对原始指令微调版 Phi-3-mini 的更新。该模型使用了额外的后训练数据,在长上下文理解、指令遵循和结构化输出方面取得了显著提升。我们还改进了多轮对话质量,明确支持 <|user|> 和 `<|assistant|标签,并显著提升了推理能力。我们相信大多数用例都会从此次发布中受益,但我们鼓励用户在其特定的 AI 应用中进行测试。我们感谢社区对 Phi-3 模型家族的热情采用,并继续欢迎来自社区的所有反馈。

下表突出显示了新版本在公开和内部基准数据集上,在指令遵循、结构化输出、推理和长上下文理解方面的改进。

基准测试 原版 2024年6月更新
指令超难 5.7 5.9
指令困难 5.0 5.2
JSON 结构化输出 1.9 60.1
XML 结构化输出 47.8 52.9
GPQA 25.9 29.7
MMLU 68.1 69.7
平均 25.7 37.3

RULER:用于长上下文理解的检索基准

模型 4K 8K 16K 32K 64K 128K 平均
原版 86.7 78.1 75.6 70.3 58.9 43.3 68.8
2024年6月更新 92.4 91.1 90.8 87.9 79.8 65.6 84.6

RepoQA:长上下文代码理解基准

模型 Python C++ Rust Java TypeScript 平均
原版 27 29 40 33 33 32.4
2024年6月更新 85 63 72 93 72 77

注意:如果用户想查看以前的版本,请使用 git commit id bb5bf1e4001277a606e11debca0ef80323e5f824。对于模型转换,例如 GGUF 和其他格式,我们邀请社区尝试各种方法并分享您的宝贵反馈。让我们一起创新!

如何使用

Phi-3 Mini-128K-Instruct 已集成到 transformers 的开发版本(4.41.3)中。在通过 pip 发布正式版本之前,请确保您执行以下操作之一:

  • 加载模型时,确保将 trust_remote_code=True 作为 from_pretrained() 函数的参数传递。

  • 将本地 transformers 更新到开发版本:pip uninstall -y transformers && pip install git+https://github.com/huggingface/transformers。前面的命令是克隆并从源代码安装的替代方法。

可以使用以下命令验证当前的 transformers 版本:pip list | grep transformers。

所需依赖包示例:

flash_attn==2.5.8
torch==2.3.1
accelerate==0.31.0
transformers==4.41.2

Phi-3 Mini-128K-Instruct 也可在 Azure AI Studio 中使用

分词器

Phi-3 Mini-128K-Instruct 支持最多 32064 个 token 的词汇表大小。分词器文件已经提供了可用于下游微调的占位符 token,但也可以扩展到模型的词汇表大小。

聊天格式

鉴于训练数据的性质,Phi-3 Mini-128K-Instruct 模型最适合使用以下聊天格式的提示。您可以按以下通用模板将提示作为问题提供:

<|system|>
You are a helpful assistant.<|end|>
<|user|>
Question?<|end|>
<|assistant|<|end|>

例如:

<|system|>
You are a helpful assistant.<|end|>
<|user|>
How to explain Internet for a medieval knight?<|end|>
<|assistant|<|end|>

模型会在 <|assistant| 之后生成文本。对于少样本提示,提示可以格式化为以下形式:

<|system|>
You are a helpful travel assistant.<|end|>
<|user|>
I am going to Paris, what should I see?<|end|>
<|assistant|Paris, the capital of France, is known for its stunning architecture, art museums, historical landmarks, and romantic atmosphere. Here are some of the top attractions to see in Paris:\n\n1. The Eiffel Tower: The iconic Eiffel Tower is one of the most recognizable landmarks in the world and offers breathtaking views of the city.\n2. The Louvre Museum: The Louvre is one of the world's largest and most famous museums, housing an impressive collection of art and artifacts, including the Mona Lisa.\n3. Notre-Dame Cathedral: This beautiful cathedral is one of the most famous landmarks in Paris and is known for its Gothic architecture and stunning stained glass windows.\n\nThese are just a few of the many attractions that Paris has to offer. With so much to see and do, it's no wonder that Paris is one of the most popular tourist destinations in the world."<|end|>
<|user|>
What is so great about #1?<|end|>
<|assistant|<|end|>

推理示例代码

以下代码片段展示了如何在 GPU 上快速运行该模型:

import torch 
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline 

torch.random.manual_seed(0) 
model = AutoModelForCausalLM.from_pretrained( 
    "microsoft/Phi-3-mini-128k-instruct",  
    device_map="cuda",  
    torch_dtype="auto",  
    trust_remote_code=True,  
) 

tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-128k-instruct") 

messages = [ 
    {"role": "system", "content": "You are a helpful AI assistant."}, 
    {"role": "user", "content": "Can you provide ways to eat combinations of bananas and dragonfruits?"}, 
    {"role": "assistant", "content": "Sure! Here are some ways to eat bananas and dragonfruits together: 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey. 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey."}, 
    {"role": "user", "content": "What about solving an 2x + 3 = 7 equation?"}, 
] 

pipe = pipeline( 
    "text-generation", 
    model=model, 
    tokenizer=tokenizer, 
) 

generation_args = { 
    "max_new_tokens": 500, 
    "return_full_text": False, 
    "temperature": 0.0, 
    "do_sample": False, 
} 

output = pipe(messages, **generation_args) 
print(output[0]['generated_text']) 

注意:如果您想使用 flash attention,请在调用 AutoModelForCausalLM.from_pretrained() 时传入 attn_implementation="flash_attention_2"

负责任的 AI 注意事项

与其他语言模型一样,Phi 系列模型可能会以不公平、不可靠或冒犯性的方式运行。需要注意的一些限制性行为包括:

  • 服务质量:Phi 模型主要在英文文本上训练。英语以外的语言将体验到较差的性能。训练数据中代表性较少的英语变体可能比标准美式英语体验更差。
  • 伤害的表现与刻板印象的延续:这些模型可能会过度或不足地代表某些群体,消除某些群体的代表性,或加强贬低或负面的刻板印象。尽管进行了安全后训练,由于不同群体的代表性不同或训练数据中反映现实世界模式和社会偏见的负面刻板印象示例的普遍性,这些限制可能仍然存在。
  • 不当或冒犯性内容:这些模型可能会产生其他类型的不当或冒犯性内容,在没有针对用例的额外缓解措施的情况下,可能不适合部署到敏感场景。
  • 信息可靠性:语言模型可能会生成无意义的内容或编造听起来合理但不准确或过时的内容。
  • 代码范围有限:Phi-3 训练数据的大部分基于 Python,并使用常见包如 "typing, math, random, collections, datetime, itertools"。如果模型生成的 Python 脚本使用了其他包或其他语言的脚本,我们强烈建议用户手动验证所有 API 使用。

开发人员应应用负责任的 AI 最佳实践,并负责确保特定用例符合相关法律法规(例如隐私、贸易等)。需要考虑的重要领域包括:

  • 分配:模型可能不适合在没有进一步评估和额外去偏技术的情况下,用于可能对法律地位或资源或生活机会分配产生重大影响的场景(例如:住房、就业、信贷等)。
  • 高风险场景:开发人员应评估在可能因不公平、不可靠或冒犯性输出而造成极高成本或导致伤害的高风险场景中使用模型的适用性。这包括在准确性和可靠性至关重要的敏感或专业领域(例如:法律或健康建议)提供建议。应根据部署上下文在应用程序级别实施额外的保障措施。
  • 虚假信息:模型可能会产生不准确的信息。开发人员应遵循透明度最佳实践,并告知最终用户他们正在与 AI 系统交互。在应用程序级别,开发人员可以构建反馈机制和管道,将响应基于用例特定的上下文信息,这种技术称为检索增强生成(RAG)。
  • 有害内容生成:开发人员应评估其上下文的输出,并使用可用的安全分类器或适合其用例的自定义解决方案。
  • 滥用:其他形式的滥用,如欺诈、垃圾邮件或恶意软件制作可能是可能的,开发人员应确保其应用程序不违反适用的法律法规。

训练

模型

  • 架构:Phi-3 Mini-128K-Instruct 拥有 38 亿参数,是一个密集的仅解码器 Transformer 模型。该模型经过监督微调(SFT)和直接偏好优化(DPO)进行微调,以确保与人类偏好和安全准则的一致性。
  • 输入:文本。最适合使用聊天格式的提示。
  • 上下文长度:128K token
  • GPU:512 张 H100-80G
  • 训练时间:10 天
  • 训练数据:4.9T token
  • 输出:响应输入的生成文本
  • 日期:我们的模型在 2024 年 5 月至 6 月间训练
  • 状态:这是一个在离线数据集上训练的静态模型,截止日期为 2023 年 10 月。随着我们改进模型,可能会发布调整模型的未来版本。
  • 发布日期:2024 年 6 月。

数据集

我们的训练数据包括广泛的来源,总计 4.9 万亿 token,是以下内容的组合:

  1. 经过严格质量筛选的公开文档、精选的高质量教育数据和代码;
  2. 新创建的合成、"教科书式"数据,用于教授数学、编程、常识推理、世界通用知识(科学、日常活动、心理理论等);
  3. 涵盖各种主题的高质量聊天格式监督数据,以反映人类在不同方面的偏好,如指令遵循、真实性、诚实性和帮助性。

我们专注于可能提高模型推理能力的数据质量,并筛选公开文档以包含正确水平的知识。例如,某一天英超联赛的比赛结果对于前沿模型来说可能是好的训练数据,但我们需要删除此类信息,为小规模模型留出更多容量用于推理。有关数据的更多详细信息可以在 Phi-3 技术报告中找到。

微调

此处提供了使用 TRL 和 Accelerate 模块进行多 GPU 监督微调(SFT)的基本示例。

基准测试

我们报告了 Phi-3-Mini-128K-Instruct 在标准开源基准测试下的补全格式结果,测量模型的推理能力(常识推理和逻辑推理)。我们与 Mistral-7b-v0.1、Mixtral-8x7b、Gemma 7B、Llama-3-8B-Instruct 和 GPT-3.5 进行比较。

所有报告的数字都使用完全相同的流程生成,以确保数字具有可比性。由于评估中的选择略有不同,这些数字可能与其他发布的数字不同。

按照现在的标准,我们在温度为 0 的情况下使用少样本提示来评估模型。 提示和样本数量是 Microsoft 内部评估语言模型工具的一部分,特别是我们没有对 Phi-3 的流程进行任何优化。 更具体地说,我们不更改提示、选择不同的少样本示例、更改提示格式或对模型进行任何其他形式的优化。

每个基准测试的 k-shot 示例数量如下所列。

类别 基准测试 Phi-3-Mini-128K-Ins Gemma-7B Mistral-7B Mixtral-8x7B Llama-3-8B-Ins GPT3.5-Turbo-1106
流行综合基准 AGI Eval <br>5-shot 39.5 42.1 35.1 45.2 42 48.4
MMLU <br>5-shot 69.7 63.6 61.7 70.5 66.5 71.4
BigBench Hard <br>3-shot 72.1 59.6 57.3 69.7 51.5 68.3
语言理解 ANLI <br>7-shot 52.3 48.7 47.1 55.2 57.3 58.1
HellaSwag <br>5-shot 70.5 49.8 58.5 70.4 71.1 78.8
推理 ARC Challenge <br>10-shot 85.5 78.3 78.6 87.3 82.8 87.4
BoolQ <br>0-shot 77.1 66 72.2 76.6 80.9 79.1
MedQA <br>2-shot 56.4 49.6 50 62.2 60.5 63.4
OpenBookQA <br>10-shot 78.8 78.6 79.8 85.8 82.6 86
PIQA <br>5-shot 80.1 78.1 77.7 86 75.7 86.6
GPQA <br>0-shot 29.7 2.9 15 6.9 32.4 29.9
Social IQA <br>5-shot 74.7 65.5 74.6 75.9 73.9 68.3
TruthfulQA (MC2) <br>10-shot 64.8 52.1 53 60.1 63.2 67.7
WinoGrande <br>5-shot 71.0 55.6 54.2 62 65 68.8
事实知识 TriviaQA <br>5-shot 57.8 72.3 75.2 82.2 67.7 85.8
数学 GSM8K CoTT <br>8-shot 85.3 59.8 46.4 64.7 77.4 78.1
代码生成 HumanEval <br>0-shot 60.4 34.1 28.0 37.8 60.4 62.2
MBPP <br>3-shot 70.0 51.5 50.8 60.2 67.7 77.8
平均 66.4 56.0 56.4 64.4 65.5 70.3

长上下文:Phi-3 Mini-128K-Instruct 支持 128K 上下文长度,因此该模型能够处理多种长上下文任务,包括长文档/会议摘要、长文档问答。

基准测试 Phi-3 Mini-128K-Instruct Mistral-7B Mixtral 8x7B LLaMA-3-8B-Instruct
GovReport 25.3 4.9 20.3 10.3
QMSum 21.9 15.5 20.6 2.9
Qasper 41.6 23.5 26.6 8.1
SQuALITY 24.1 14.7 16.2 25
SummScreenFD 16.8 9.3 11.3 5.1
平均 25.9 13.6 19.0 10.3

我们在下表中更详细地查看了 100 个公开基准数据集中的不同类别:

类别 Phi-3-Mini-128K-Instruct Gemma-7B Mistral-7B Mixtral 8x7B Llama-3-8B-Instruct GPT-3.5-Turbo
流行综合基准 60.6 59.4 56.5 66.2 59.9 67.0
推理 69.4 60.3 62.8 68.1 69.6 71.7
语言理解 57.5 57.6 52.5 66.1 63.2 67.7
代码生成 61.0 45.6 42.9 52.7 56.4 70.4
数学 51.6 35.8 25.4 40.3 41.1 52.8
事实知识 35.8 46.7 49.8 58.6 43.1 63.4
多语言 56.4 66.5 57.4 66.7 66.6 71.0
鲁棒性 61.1 38.4 40.6 51.0 64.5 69.3

总体而言,仅有 38 亿参数的模型在语言理解和推理能力方面达到了与更大模型相似的水平。然而,它仍然根本上受到其规模的限制,无法完成某些任务。该模型根本没有能力存储太多的世界知识,例如在 TriviaQA 上的低性能可以看出。然而,我们相信这种弱点可以通过将 Phi-3-Mini 与搜索引擎结合来解决。

跨平台支持

ONNX Runtime 现在支持跨平台和硬件的 Phi-3 mini 模型。

优化的 phi-3 模型也以 ONNX 格式发布,可在各种设备和平台上使用 ONNX Runtime 在 CPU 和 GPU 上运行,包括服务器平台、Windows、Linux 和 Mac 桌面以及移动 CPU,并为每个目标采用最适合的精度。Windows 桌面 GPU(AMD、Intel 和 NVIDIA)支持 DirectML GPU 加速。

除了 DML 之外,ONNX Runtime 还为各种设备(CPU、GPU 和移动端)上的 Phi3 mini 提供跨平台支持。

以下是我们添加的一些优化配置:

  1. ONNX 模型(int4 DML):通过 AWQ 量化为 int4
  2. ONNX 模型(fp16 CUDA)
  3. ONNX 模型(int4 CUDA):通过 RTN 量化为 int4
  4. ONNX 模型(int4 CPU 和移动端):通过 RTN 量化为 int4

软件

硬件

请注意,默认情况下,Phi-3 Mini-128K-Instruct 模型使用 flash attention,这需要特定类型的 GPU 硬件才能运行。我们在以下 GPU 类型上进行了测试:

  • NVIDIA A100
  • NVIDIA A6000
  • NVIDIA H100

如果您想在以下硬件上运行模型:

  • NVIDIA V100 或更早代的 GPU:调用 AutoModelForCausalLM.from_pretrained() 时传入 attn_implementation="eager"
  • 在 GPU、CPU 和移动端上进行优化推理:使用 ONNX 模型 128K

许可证

该模型采用 MIT 许可证授权。

商标

本项目可能包含项目、产品或服务的商标或徽标。Microsoft 商标或徽标的授权使用受 Microsoft 商标与品牌指南的约束并必须遵循该指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用受该第三方政策的约束。

数据摘要

https://huggingface.co/microsoft/Phi-3-mini-128k-instruct/blob/main/data_summary_card.md

onnx-community/Phi-3-mini-128k-instruct-ONNX

作者 onnx-community

↓ 1 ♥ 0

创建时间: 2026-02-10 17:17:01+00:00

更新时间: 2026-02-10 18:20:49+00:00

在 Hugging Face 上查看

文件 (31)

.gitattributes
README.md
chat_template.jinja
config.json
generation_config.json
onnx/model.onnx ONNX
onnx/model.onnx_data
onnx/model.onnx_data_1
onnx/model.onnx_data_2
onnx/model.onnx_data_3
onnx/model.onnx_data_4
onnx/model.onnx_data_5
onnx/model.onnx_data_6
onnx/model.onnx_data_7
onnx/model_fp16.onnx ONNX
onnx/model_fp16.onnx_data
onnx/model_fp16.onnx_data_1
onnx/model_fp16.onnx_data_2
onnx/model_fp16.onnx_data_3
onnx/model_q4.onnx ONNX
onnx/model_q4.onnx_data
onnx/model_q4.onnx_data_1
onnx/model_q4f16.onnx ONNX
onnx/model_q4f16.onnx_data
onnx/model_q4f16.onnx_data_1
onnx/model_quantized.onnx ONNX
onnx/model_quantized.onnx_data
onnx/model_quantized.onnx_data_1
onnx/model_quantized.onnx_data_2
tokenizer.json
tokenizer_config.json