🚀 Phi-4-mini-instruct模型
Phi-4-mini-instruct是一個輕量級的開源模型,它基於合成數據和經過篩選的公開網站數據構建,尤其注重高質量、富含推理的數據。該模型屬於Phi-4模型家族,支持128K的令牌上下文長度。模型經過了增強處理,結合了監督微調(SFT)和直接偏好優化(DPO),以支持精確的指令遵循和強大的安全措施。
🚀 快速開始
模型信息
屬性 |
詳情 |
模型類型 |
Phi-4-mini-instruct是基於合成數據和公開網站數據構建的輕量級開源模型,屬於Phi-4模型家族,支持128K令牌上下文長度。 |
訓練數據 |
合成數據和經過篩選的公開網站數據,重點是高質量、富含推理的數據。 |
相關鏈接
Phi-4模型版本
✨ 主要特性
- 多語言支持:支持多種語言的處理。
- 推理能力:具備強大的推理能力。
- 代碼生成:能夠生成代碼。
- 函數調用:支持函數調用功能。
- 聊天完成:可完成高質量的聊天對話。
- 內存高效:內存使用效率高。
- 低延遲:響應速度快。
- 128K上下文:支持128K的令牌上下文長度。
💻 使用示例
聊天格式
這種格式用於一般對話和指令:
<|system|>Insert System Message<|end|><|user|>Insert User Message<|end|><|assistant|>
支持工具的函數調用格式
當用戶希望模型根據給定工具提供函數調用時,使用此格式。用戶應在系統提示中定義可用工具,並用 <|tool|>
和 <|/tool|>
標記包裹。工具必須使用結構化的JSON轉儲以JSON格式指定。
<|system|>
You are a helpful assistant with some tools.
<|tool|>
[
{
"name": "get_weather_updates",
"description": "Fetches weather updates for a given city using the RapidAPI Weather API.",
"parameters": {
"city": {
"description": "The name of the city for which to retrieve weather information.",
"type": "str",
"default": "London"
}
}
}
]
<|/tool|>
<|end|>
<|user|>
What is the weather like in Paris today?
<|end|>
<|assistant|>
📚 詳細文檔
Unsloth錯誤修復
更新(2025年3月1日)
應用所有 Unsloth 修復後,推理穩定性得到了改善。
編號 |
修復內容 |
修復原因 |
1 |
更改填充標籤 |
舊的填充標籤可能導致訓練問題。 |
2 |
從聊天模板中移除 {% else %}{{ eos_token }} |
防止額外的EOS令牌降低推理性能。 |
3 |
將EOS替換為 <|end|> |
避免潛在的推理故障。 |
4 |
將 unk_token 從EOS更改為 � |
防止未知令牌破壞推理。 |
Phi 4 Mini函數調用測試
如果您有時間,非常感謝您能測試我的Phi-4-Mini-Instruct演示👉 免費網絡監控器。
💬 點擊聊天圖標(主頁和儀表盤頁面右下角)。然後在LLM類型之間切換,Phi-4-Mini-Instruct被稱為TestLLM:TurboLLM -> FreeLLM -> TestLLM。
測試內容
我正在使用小型開源模型對我的網絡監控服務進行函數調用實驗。我關注的問題是“模型可以多小還能正常工作”。
- 🟡 TestLLM – 使用phi-4-mini-q4_0.gguf、llama.cpp在CPU虛擬機的6個線程上運行Phi-4-mini-instruct(加載大約需要15秒。推理速度相當慢,一次只能處理一個用戶提示,仍在努力擴展!)。如果您感興趣,我很樂意分享其工作原理。
- 🟢 TurboLLM – 使用gpt-4o-mini,速度快。注意:由於OpenAI模型價格昂貴,令牌有限,但您可以登錄或下載免費網絡監控代理以獲取更多令牌,或者使用TestLLM。
- 🔵 HugLLM – 運行開源Hugging Face模型,速度快,運行小型模型(≈8B),因此質量較低,可獲得2倍的令牌(取決於Hugging Face API的可用性)。
Phi-4-mini-instruct GGUF模型
選擇正確的模型格式
選擇正確的模型格式取決於您的硬件能力和內存限制。
BF16(腦浮點16) – 如果有BF16加速支持則使用
- 一種16位浮點格式,專為更快的計算而設計,同時保持良好的精度。
- 提供與FP32相似的動態範圍,但內存使用更低。
- 如果您的硬件支持BF16加速(請檢查設備規格),建議使用。
- 與FP32相比,適用於高性能推理且內存佔用減少。
📌 使用BF16的情況:
- ✔ 您的硬件具有原生BF16支持(例如,較新的GPU、TPU)。
- ✔ 您希望在節省內存的同時獲得更高的精度。
- ✔ 您計劃將模型重新量化為另一種格式。
📌 避免使用BF16的情況:
- ❌ 您的硬件不支持BF16(可能會回退到FP32並運行較慢)。
- ❌ 您需要與缺乏BF16優化的舊設備兼容。
F16(浮點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)。
模型格式選擇總結表
模型格式 |
精度 |
內存使用 |
設備要求 |
最佳用例 |
BF16 |
最高 |
高 |
支持BF16的GPU/CPU |
高速推理且內存佔用減少 |
F16 |
高 |
高 |
支持FP16的設備 |
當BF16不可用時的GPU推理 |
Q4_K |
低 |
非常低 |
CPU或低顯存設備 |
內存受限環境的最佳選擇 |
Q6_K |
中低 |
低 |
內存較多的CPU |
量化模型中準確性較好的選擇 |
Q8 |
中 |
中等 |
有足夠顯存的CPU或GPU |
量化模型中準確性最高的選擇 |
包含的文件及詳情
phi-4-mini-bf16.gguf
- 模型權重以BF16保存。
- 如果您想將模型重新量化為不同的格式,請使用此文件。
- 如果您的設備支持BF16加速,效果最佳。
phi-4-mini-f16.gguf
- 模型權重以F16存儲。
- 如果您的設備支持FP16,尤其是在沒有BF16支持的情況下使用。
phi-4-mini-bf16-q8.gguf
- 輸出和嵌入保持在BF16。
- 所有其他層量化為Q8_0。
- 如果您的設備支持BF16且需要量化版本,請使用此文件。
phi-4-mini-f16-q8.gguf
- 輸出和嵌入保持在F16。
- 所有其他層量化為Q8_0。
phi-4-mini-q4_k_l.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q4_K。
- 適用於內存有限的CPU推理。
phi-4-mini-q4_k_m.gguf
- 與Q4_K類似。
- 是低內存CPU推理的另一個選擇。
phi-4-mini-q4_k_s.gguf
- 最小的Q4_K變體,以犧牲準確性為代價減少內存使用。
- 適用於極低內存設置。
phi-4-mini-q6_k_l.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q6_K。
phi-4-mini-q6_k_m.gguf
- 中等範圍的Q6_K量化模型,性能平衡。
- 適用於內存適中的基於CPU的推理。
phi-4-mini-q8.gguf
- 完全Q8量化的模型,準確性更好。
- 需要更多內存,但提供更高的精度。
📄 許可證
本項目採用MIT許可證。
致謝
感謝 Bartowski 上傳imartix並在量化方面給予的指導,使我能夠生成這些gguf文件。
感謝 Unsloth 修復了許多模型的錯誤。
感謝您的支持!🙌