许可证: mit
许可证链接: https://huggingface.co/microsoft/phi-4/resolve/main/LICENSE
语言:
- 英文
任务标签: 文本生成
标签:
- phi
- 自然语言处理
- 数学
- 代码
- 聊天
- 对话式
推理参数:
温度: 0
示例窗口:
- 消息:
- 角色: 用户
内容: 我该如何解释互联网?
库名称: transformers
phi-4 GGUF模型
选择正确的模型格式
选择合适的模型格式取决于您的硬件能力和内存限制。
BF16(Brain Float 16)– 如果支持BF16加速则使用
- 一种16位浮点格式,专为更快计算而设计,同时保持良好的精度。
- 提供与FP32相似的动态范围,但内存占用更低。
- 如果您的硬件支持BF16加速(请检查设备规格),则推荐使用。
- 与FP32相比,高性能推理的理想选择,同时减少内存占用。
📌 使用BF16如果:
✔ 您的硬件具有原生BF16支持(例如,较新的GPU、TPU)。
✔ 您希望在节省内存的同时获得更高精度。
✔ 您计划将模型重新量化为另一种格式。
📌 避免使用BF16如果:
❌ 您的硬件不支持BF16(可能会回退到FP32并运行较慢)。
❌ 您需要与缺乏BF16优化的旧设备兼容。
F16(Float 16)– 比BF16更广泛支持
- 一种16位浮点格式,高精度但数值范围比BF16小。
- 适用于大多数支持FP16加速的设备(包括许多GPU和一些CPU)。
- 数值精度略低于BF16,但通常足以满足推理需求。
📌 使用F16如果:
✔ 您的硬件支持FP16但不支持BF16。
✔ 您需要在速度、内存占用和准确性之间取得平衡。
✔ 您在GPU或其他针对FP16计算优化的设备上运行。
📌 避免使用F16如果:
❌ 您的设备缺乏原生FP16支持(可能比预期运行更慢)。
❌ 您有内存限制。
量化模型(Q4_K、Q6_K、Q8等)– 适用于CPU和低显存推理
量化减少了模型大小和内存占用,同时尽可能保持准确性。
- 低位模型(Q4_K) → 最适合最小内存占用,精度可能较低。
- 高位模型(Q6_K、Q8_0) → 更好的准确性,需要更多内存。
📌 使用量化模型如果:
✔ 您在CPU上运行推理并需要优化模型。
✔ 您的设备显存较低,无法加载全精度模型。
✔ 您希望减少内存占用,同时保持合理的准确性。
📌 避免使用量化模型如果:
❌ 您需要最高精度(全精度模型更适合)。
❌ 您的硬件有足够显存支持更高精度格式(BF16/F16)。
极低位量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
这些模型针对极致内存效率进行了优化,非常适合低功耗设备或大规模部署,其中内存是关键限制因素。
模型格式选择摘要表
模型格式 |
精度 |
内存占用 |
设备要求 |
最佳使用场景 |
BF16 |
最高 |
高 |
支持BF16的GPU/CPU |
高速推理,减少内存占用 |
F16 |
高 |
高 |
支持FP16的设备 |
GPU推理,当BF16不可用时 |
Q4_K |
中低 |
低 |
CPU或低显存设备 |
内存受限环境的最佳选择 |
Q6_K |
中 |
中等 |
内存较多的CPU |
量化模型中更好的准确性 |
Q8_0 |
高 |
中等 |
有足够显存的CPU或GPU |
量化模型中最高的准确性 |
IQ3_XS |
极低 |
极低 |
超低内存设备 |
极致内存效率,低准确性 |
Q4_0 |
低 |
低 |
ARM或低内存设备 |
llama.cpp可针对ARM设备优化 |
包含的文件及详情
phi-4-bf16.gguf
- 模型权重保留为BF16。
- 如果您想将模型重新量化为其他格式,请使用此文件。
- 如果您的设备支持BF16加速,则最佳选择。
phi-4-f16.gguf
- 模型权重存储为F16。
- 如果您的设备支持FP16,尤其是BF16不可用时使用。
phi-4-bf16-q8_0.gguf
- 输出和嵌入保持为BF16。
- 其他所有层量化为Q8_0。
- 如果您的设备支持BF16并且您想要量化版本,请使用此文件。
phi-4-f16-q8_0.gguf
- 输出和嵌入保持为F16。
- 其他所有层量化为Q8_0。
phi-4-q4_k.gguf
- 输出和嵌入量化为Q8_0。
- 其他所有层量化为Q4_K。
- 适用于CPU推理且内存有限的情况。
phi-4-q4_k_s.gguf
- 最小的Q4_K变体,以准确性为代价减少内存占用。
- 最适合极低内存配置。
phi-4-q6_k.gguf
- 输出和嵌入量化为Q8_0。
- 其他所有层量化为Q6_K。
phi-4-q8_0.gguf
- 完全Q8量化模型,提供更好的准确性。
- 需要更多内存,但提供更高精度。
phi-4-iq3_xs.gguf
- IQ3_XS量化,针对极致内存效率优化。
- 最适合超低内存设备。
phi-4-iq3_m.gguf
- IQ3_M量化,提供中等块大小以提高准确性。
- 适用于低内存设备。
phi-4-q4_0.gguf
- 纯Q4_0量化,针对ARM设备优化。
- 最适合低内存环境。
- 如需更高精度,建议使用IQ4_NL。
🚀 如果您觉得这些模型有用
请点赞 ❤。同时,如果您能测试我的网络监控助手,我将非常感激 👉 网络监控助手。
💬 点击聊天图标(主页面和仪表板页面右下角)。选择一个LLM;在LLM类型之间切换:TurboLLM -> FreeLLM -> TestLLM。
我正在测试的内容
我正在尝试针对我的网络监控服务进行函数调用。使用小型开源模型。我正在研究的问题是“模型可以小到什么程度仍然能正常工作”。
🟡 TestLLM – 使用llama.cpp在6个CPU线程的虚拟机上运行当前测试模型(加载大约需要15秒。推理速度较慢,一次只能处理一个用户提示——仍在扩展中!)。如果您感兴趣,我很乐意分享它的工作原理!
其他可用的AI助手
🟢 TurboLLM – 使用gpt-4o-mini,速度快!注意:由于OpenAI模型价格昂贵,令牌有限,但您可以登录或下载免费的网络监控代理以获取更多令牌,或者使用TestLLM。
🔵 HugLLM – 运行开源Hugging Face模型,速度快,运行小型模型(≈8B),因此质量较低,获取2倍更多令牌(取决于Hugging Face API的可用性)。
Phi-4模型卡
Phi-4技术报告
模型摘要
|
|
开发者 |
微软研究院 |
描述 |
phi-4 是一种最先进的开源模型,基于合成数据集、过滤后的公共领域网站数据以及获取的学术书籍和问答数据集的混合训练而成。这种方法的目的是确保小型但能力强的模型通过专注于高质量和高级推理的数据进行训练。
phi-4 经过了严格的增强和对齐过程,结合了监督微调和直接偏好优化,以确保精确的指令遵循和强大的安全措施。 |
架构 |
140亿参数,密集解码器专用Transformer模型 |
输入 |
文本,最适合聊天格式的提示 |
上下文长度 |
16K令牌 |
GPU |
1920 H100-80G |
训练时间 |
21天 |
训练数据 |
9.8T令牌 |
输出 |
响应输入生成的文本 |
日期 |
2024年10月 – 2024年11月 |
状态 |
静态模型,基于离线数据集训练,公开可用数据的截止日期为2024年6月及之前 |
发布日期 |
2024年12月12日 |
许可证 |
MIT |
预期用途
|
|
主要用例 |
我们的模型旨在加速语言模型的研究,作为生成式AI功能的基础构建块。它适用于需要以下条件的通用AI系统和应用(主要为英文):
1. 内存/计算受限环境。 2. 延迟受限场景。 3. 推理和逻辑。 |
超出范围的用例 |
我们的模型并非专门设计或评估用于所有下游用途,因此:
1. 开发者在选择用例时应考虑语言模型的常见限制,并在特定下游用例中使用前评估和减轻准确性、安全性和公平性,特别是高风险场景。 2. 开发者应了解并遵守适用于其用例的法律或法规(包括隐私、贸易合规法律等),包括模型对英文的关注。 3. 本模型卡中的任何内容均不应解释为对模型发布许可证的限制或修改。 |
数据概述
训练数据集
我们的训练数据是Phi-3所用数据的扩展,包括来自以下来源的多种数据:
-
经过严格质量筛选的公开可用文档、精选的高质量教育数据和代码。
-
新创建的合成“教科书式”数据,用于教授数学、编码、常识推理、世界常识(科学、日常活动、心理理论等)。
-
获取的学术书籍和问答数据集。
-
高质量的聊天格式监督数据,涵盖各种主题,反映人类在不同方面的偏好,如指令遵循、真实性、诚实和帮助性。
多语言数据约占我们总数据的8%。我们专注于可能提高模型推理能力的数据质量,并筛选公开可用文档以包含适当的知识水平。
基准数据集
我们使用OpenAI的SimpleEval和我们自己的内部基准评估phi-4
,以了解