模型概述
模型特點
模型能力
使用案例
🚀 Phi-3-Mini-4K-Instruct模型
本項目提供了Phi-3-Mini-4K-Instruct的GGUF格式文件。Phi-3-Mini-4K-Instruct是一個參數為38億的輕量級、最先進的開源模型,它基於Phi-3數據集進行訓練,該數據集包含合成數據和經過篩選的公開網站數據,注重高質量和強推理能力。該模型屬於Phi-3家族的Mini版本,有4K和128K兩種變體,分別代表其支持的上下文長度(以標記為單位)。該模型經過了後訓練過程,包括監督微調(SFT)和直接偏好優化(DPO),以確保精確遵循指令並具備強大的安全措施。在常識、語言理解、數學、代碼、長上下文和邏輯推理等基準測試中,Phi-3 Mini-4K-Instruct在參數少於130億的模型中表現出色。
資源與技術文檔
- Phi-3微軟博客
- Phi-3技術報告
- Azure AI Studio上的Phi-3
- Hugging Face上的Phi-3
- Phi-3 ONNX: 4K 和 128K
🚀 快速開始
本倉庫提供了Phi-3 Mini-4K-Instruct模型的GGUF文件。以下是不同量化方法的文件信息:
名稱 | 量化方法 | 位數 | 大小 | 使用場景 |
---|---|---|---|---|
Phi-3-mini-4k-instruct-q4.gguf | Q4_K_M | 4 | 2.2 GB | 中等,平衡質量 - 推薦 |
Phi-3-mini-4k-instruct-fp16.gguf | 無 | 16 | 7.2 GB | 最小質量損失 |
📦 安裝指南
下載GGUF文件
- 安裝Hugging Face CLI
pip install huggingface-hub>=0.17.1
- 登錄Hugging Face
huggingface-cli login
- 下載GGUF模型
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-q4.gguf --local-dir . --local-dir-use-symlinks False
使用Ollama
- 安裝Ollama
curl -fsSL https://ollama.com/install.sh | sh
- 運行phi3模型
ollama run phi3
從Modelfile
構建
假設你已經下載了GGUF文件,以下是如何在Ollama中使用它們:
- 獲取Modelfile
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Modelfile_q4 --local-dir /path/to/your/local/dir
- 構建Ollama模型 使用Ollama CLI創建模型,命令如下:
ollama create phi3 -f Modelfile_q4
- 運行phi3模型 現在你可以使用以下命令在Ollama中運行Phi-3-Mini-4k-Instruct模型:
ollama run phi3 "Your prompt here"
將 "Your prompt here" 替換為你想要用於生成模型響應的實際提示。
使用Llamafile
假設你已經下載了GGUF文件,以下是如何在Llamafile中使用GGUF模型:
- 下載Llamafile-0.7.3
wget https://github.com/Mozilla-Ocho/llamafile/releases/download/0.7.3/llamafile-0.7.3
- 使用聊天格式提示運行模型
<|user|>
How to explain Internet for a medieval knight?<|end|>
<|assistant|>
./llamafile-0.7.3 -ngl 9999 -m Phi-3-mini-4k-instruct-q4.gguf --temp 0.6 -p "<|user|>\nHow to explain Internet for a medieval knight?\n<|end|>\n<|assistant|>"
- 使用聊天界面運行
./llamafile-0.7.3 -ngl 9999 -m Phi-3-mini-4k-instruct-q4.gguf
你的瀏覽器應該會自動打開並顯示一個聊天界面。(如果沒有打開,只需打開瀏覽器並訪問 http://localhost:8080)
在Python中運行
- 安裝llama-cpp-python
! CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
- 運行模型
from llama_cpp import Llama
llm = Llama(
model_path="./Phi-3-mini-4k-instruct-q4.gguf", # GGUF文件路徑
n_ctx=4096, # 最大序列長度 - 注意,更長的序列長度需要更多資源
n_threads=8, # CPU線程數,根據你的系統和性能進行調整
n_gpu_layers=35, # 卸載到GPU的層數,如果你有GPU加速可用。如果你的系統沒有GPU加速,則設置為0。
)
prompt = "How to explain Internet to a medieval knight?"
# 簡單推理示例
output = llm(
f"<|user|>\n{prompt}<|end|>\n<|assistant|>",
max_tokens=256, # 生成最多256個標記
stop=["<|end|>"],
echo=True, # 是否回顯提示
)
print(output['choices'][0]['text'])
💻 使用示例
基礎用法
由於訓練數據的性質,Phi-3-Mini-4K-instruct模型最適合使用以下聊天格式的提示。你可以按照以下通用模板將提示作為問題提供:
<|user|>
Question<|end|>
<|assistant|>
例如:
<|user|>
How to explain Internet for a medieval knight?<|end|>
<|assistant|>
模型將在 "<|assistant|>" 之後生成文本。在少樣本提示的情況下,提示可以格式化為以下形式:
<|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|>
📚 詳細文檔
預期用途
主要用例
該模型旨在用於英語的商業和研究用途。該模型適用於以下應用場景:
- 內存/計算資源受限的環境
- 低延遲場景
- 強推理(特別是數學和邏輯)
- 長上下文
我們的模型旨在加速語言和多模態模型的研究,作為生成式AI功能的構建塊。
使用用例考慮因素
我們的模型並非專門為所有下游用途設計或評估。開發人員在選擇用例時應考慮語言模型的常見限制,並在特定下游用例中使用之前評估和減輕準確性、安全性和公平性問題,特別是在高風險場景中。開發人員應瞭解並遵守與其用例相關的適用法律或法規(包括隱私、貿易合規法等)。本模型卡片中的任何內容均不應被解釋為或視為對模型發佈所依據的許可證的限制或修改。
負責任的AI考慮因素
與其他語言模型一樣,Phi系列模型可能會以不公平、不可靠或冒犯性的方式運行。需要注意的一些限制行為包括:
- 服務質量:Phi模型主要在英語文本上進行訓練。非英語語言的性能會較差。訓練數據中代表性較少的英語變體的性能可能比標準美式英語差。
- 危害的呈現和刻板印象的延續:這些模型可能會過度或不足地呈現某些人群,抹去某些群體的代表性,或強化貶低或負面的刻板印象。儘管進行了安全後訓練,但由於不同群體的代表性水平不同或訓練數據中反映現實世界模式和社會偏見的負面刻板印象示例的普遍性,這些限制可能仍然存在。
- 不適當或冒犯性內容:這些模型可能會產生其他類型的不適當或冒犯性內容,這可能使其在沒有針對特定用例的額外緩解措施的情況下不適合用於敏感上下文。
- 信息可靠性:語言模型可以生成無意義的內容或編造聽起來合理但不準確或過時的內容。
- 代碼範圍有限:Phi-3的大部分訓練數據基於Python,並使用常見的包,如 "typing, math, random, collections, datetime, itertools"。如果模型生成使用其他包的Python腳本或其他語言的腳本,我們強烈建議用戶手動驗證所有API的使用。
開發人員應應用負責任的AI最佳實踐,並負責確保特定用例符合相關法律法規(如隱私、貿易等)。需要考慮的重要領域包括:
- 分配:在沒有進一步評估和額外去偏技術的情況下,模型可能不適用於對法律地位、資源分配或生活機會(如住房、就業、信貸等)有重大影響的場景。
- 高風險場景:開發人員應評估在高風險場景中使用模型的適用性,在這些場景中,不公平、不可靠或冒犯性的輸出可能代價極高或導致傷害。這包括在敏感或專業領域提供建議,其中準確性和可靠性至關重要(如法律或健康建議)。應根據部署上下文在應用程序級別實施額外的保障措施。
- 錯誤信息:模型可能會產生不準確的信息。開發人員應遵循透明度最佳實踐,並告知最終用戶他們正在與AI系統交互。在應用程序級別,開發人員可以構建反饋機制和管道,將響應基於特定用例的上下文信息,這種技術稱為檢索增強生成(RAG)。
- 有害內容的生成:開發人員應根據上下文評估輸出,並使用適用於其用例的可用安全分類器或自定義解決方案。
- 濫用:其他形式的濫用,如欺詐、垃圾郵件或惡意軟件生產可能是可能的,開發人員應確保其應用程序不違反適用的法律法規。
訓練
模型
- 架構:Phi-3 Mini有38億個參數,是一個密集的僅解碼器Transformer模型。該模型使用監督微調(SFT)和直接偏好優化(DPO)進行微調,以確保與人類偏好和安全指南保持一致。
- 輸入:文本。最適合使用聊天格式的提示。
- 上下文長度:4K標記
- GPU:512個H100-80G
- 訓練時間:7天
- 訓練數據:3.3T標記
- 輸出:對輸入的生成文本
- 日期:我們的模型在2024年2月至4月之間進行訓練。
- 狀態:這是一個基於截止日期為2023年10月的離線數據集訓練的靜態模型。隨著我們改進模型,可能會發布調優模型的未來版本。
數據集
我們的訓練數據包括各種來源,總計33萬億個標記,是以下數據的組合:
- 經過嚴格質量篩選的公開可用文檔、選定的高質量教育數據和代碼;
- 為教授數學、編碼、常識推理、世界常識(科學、日常活動、心理理論等)而新創建的合成“教科書式”數據;
- 涵蓋各種主題的高質量聊天格式監督數據,以反映人類在指令遵循、真實性、誠實性和有用性等不同方面的偏好。
軟件
許可證
該模型根據MIT許可證授權。
商標
本項目可能包含項目、產品或服務的商標或標誌。對微軟商標或標誌的授權使用須遵守並必須遵循微軟商標和品牌指南。在本項目的修改版本中使用微軟商標或標誌不得造成混淆或暗示微軟的贊助。任何第三方商標或標誌的使用須遵守這些第三方的政策。



