🚀 Mistral-NeMo-Minitron-8B-Instruct
Mistral-NeMo-Minitron-8B-Instruct 是一個用於文本生成任務的模型,可處理角色扮演、檢索增強生成和函數調用等多種任務。它在文本生成方面具有高效、準確的特點,能為用戶提供優質的文本回復。
🚀 快速開始
Mistral-NeMo-Minitron-8B-Instruct 是一個用於各種文本生成任務(包括角色扮演、檢索增強生成和函數調用)生成回覆的模型。它是 nvidia/Mistral-NeMo-Minitron-8B-Base 的微調版本,該基礎模型是使用 我們的大語言模型壓縮技術 從 Mistral-NeMo 12B 中剪枝和蒸餾而來。該模型使用 NeMo Aligner 通過多階段監督微調(SFT)和基於偏好的對齊技術進行訓練。有關對齊技術的詳細信息,請參考 Nemotron-4 340B 技術報告。該模型支持 8192 個標記的上下文長度。
你可以在 build.nvidia.com 上試用此模型。
模型開發者:NVIDIA
模型訓練時間:Mistral-NeMo-Minitron-8B-Instruct 於 2024 年 8 月至 2024 年 9 月期間進行訓練。
✨ 主要特性
- 廣泛的任務支持:可處理角色扮演、檢索增強生成和函數調用等多種文本生成任務。
- 長上下文支持:支持 8192 個標記的上下文長度。
- 先進的訓練技術:採用多階段 SFT 和基於偏好的對齊技術進行訓練。
📚 詳細文檔
許可證
NVIDIA 開放模型許可證
模型架構
Mistral-NeMo-Minitron-8B-Instruct 使用的模型嵌入大小為 4096,有 32 個注意力頭,MLP 中間維度為 11520,總共 40 層。此外,它使用了分組查詢注意力(GQA)和旋轉位置嵌入(RoPE)。
屬性 |
詳情 |
架構類型 |
Transformer 解碼器(自迴歸語言模型) |
網絡架構 |
Mistral-NeMo |
提示格式
我們建議使用以下提示模板,該模板用於對模型進行微調。如果不使用該模板,模型可能無法達到最佳性能。
<extra_id_0>System
{系統提示}
<extra_id_1>User
{提示內容}
<extra_id_1>Assistant\n
- 注意,提示末尾應添加換行符
\n
。
- 建議使用
<extra_id_1>
作為停止標記。
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("nvidia/Mistral-NeMo-Minitron-8B-Instruct")
model = AutoModelForCausalLM.from_pretrained("nvidia/Mistral-NeMo-Minitron-8B-Instruct")
messages = [
{
"role": "system",
"content": "You are a friendly chatbot who always responds in the style of a pirate",
},
{"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(tokenized_chat, stop_strings=["<extra_id_1>"], tokenizer=tokenizer)
print(tokenizer.decode(outputs[0]))
高級用法
你也可以使用 pipeline
,但需要手動創建一個分詞器對象並將其分配給管道。
from transformers import AutoTokenizer
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("nvidia/Mistral-NeMo-Minitron-8B-Instruct")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="nvidia/Mistral-NeMo-Minitron-8B-Instruct")
pipe(messages, max_new_tokens=64, stop_strings=["<extra_id_1>"], tokenizer=tokenizer)
🔧 技術細節
評估結果
類別 |
基準測試 |
樣本數 |
Mistral-NeMo-Minitron-8B-Instruct |
通用 |
MMLU |
5 |
70.4 |
|
MT Bench (GPT4-Turbo) |
0 |
7.86 |
數學 |
GMS8K |
0 |
87.1 |
推理 |
GPQA |
0 |
31.5 |
代碼 |
HumanEval |
0 |
71.3 |
|
MBPP |
0 |
72.5 |
指令遵循 |
IFEval |
0 |
84.4 |
工具使用 |
BFCL v2 Live |
0 |
67.6 |
AI 安全措施
Mistral-NeMo-Minitron-8B-Instruct 模型經過了 AI 安全評估,包括通過三種不同方法進行的對抗性測試:
- Garak:一種自動化的大語言模型漏洞掃描器,用於探測常見弱點,包括提示注入和數據洩露。
- AEGIS:一個內容安全評估數據集和基於大語言模型的內容安全分類器模型,遵循人類與大語言模型交互中 13 類關鍵風險的廣泛分類法。
- 人工內容紅隊測試:利用人類對模型的回覆進行交互和評估。
侷限性
該模型在最初從互聯網抓取的包含有毒語言和社會偏見的數據上進行訓練。因此,模型可能會放大這些偏見並返回有毒回覆,尤其是在使用有毒提示時。即使提示本身不包含任何明確的冒犯性內容,模型也可能生成不準確的答案、遺漏關鍵信息或包含無關或冗餘的文本,從而產生社會不可接受或不良的文本。如果不使用推薦的提示模板,這個問題可能會更加嚴重。如果你打算在代理工作流中使用此模型,請確保導入的包來自可信來源,以確保端到端的安全性。
倫理考量
NVIDIA 認為可信 AI 是一項共同責任,我們已經制定了政策和實踐,以支持廣泛的 AI 應用開發。當按照我們的服務條款下載或使用該模型時,開發者應與內部模型團隊合作,確保該模型滿足相關行業和用例的要求,並解決不可預見的產品濫用問題。有關該模型倫理考量的更多詳細信息,請參閱 模型卡片++。請 在此 報告安全漏洞或 NVIDIA AI 相關問題。
⚠️ 重要提示
該模型在含有毒語言和社會偏見的數據上訓練,可能會放大這些問題,使用時需注意。不使用推薦提示模板可能會加重問題。若在代理工作流中使用,要確保導入包來自可信源。
💡 使用建議
建議使用推薦的提示模板以獲得模型的最佳性能,並使用 <extra_id_1>
作為停止標記。