🚀 Mistral-NeMo-Minitron-8B-Instruct
Mistral-NeMo-Minitron-8B-Instructは、ロールプレイ、検索拡張生成、関数呼び出しなど、様々なテキスト生成タスクの応答生成に使用されるモデルです。これは、nvidia/Mistral-NeMo-Minitron-8B-Baseをファインチューニングしたバージョンで、Mistral-NeMo 12Bから独自のLLM圧縮技術を用いて剪定および蒸留されています。このモデルは、NeMo Alignerを使用した多段階のSFTと嗜好ベースのアライメント技術で学習されています。アライメント技術の詳細については、Nemotron-4 340B Technical Reportを参照してください。このモデルは、8,192トークンのコンテキスト長をサポートしています。
このモデルをbuild.nvidia.comで試すことができます。
モデル開発者: NVIDIA
モデルの学習期間: Mistral-NeMo-Minitron-8B-Instructは、2024年8月から9月の間に学習されました。
🚀 クイックスタート
このモデルを使用するには、以下の手順に従ってください。
✨ 主な機能
- 様々なテキスト生成タスクに対応しています。
- 8,192トークンのコンテキスト長をサポートしています。
- 多段階のSFTと嗜好ベースのアライメント技術で学習されています。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
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]))
高度な使用法
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)
📚 ドキュメント
プロンプトフォーマット
以下のプロンプトテンプレートを使用することをおすすめします。このテンプレートは、モデルをファインチューニングする際に使用されたものです。このテンプレートを使用しない場合、モデルの性能が最適ではない可能性があります。
<extra_id_0>System
{system prompt}
<extra_id_1>User
{prompt}
<extra_id_1>Assistant\n
- プロンプトの末尾には改行文字
\n
を追加する必要があります。
<extra_id_1>
を停止トークンとして使用することをおすすめします。
評価結果
カテゴリ |
ベンチマーク |
ショット数 |
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モデルは、以下の3つの異なる方法による敵対的テストを含むAIセキュリティ評価を受けています。
- Garak:一般的な脆弱性(プロンプトインジェクションやデータ漏洩など)を調査する自動LLM脆弱性スキャナーです。
- AEGIS:コンテンツセーフティ評価データセットとLLMベースのコンテンツセーフティ分類器モデルで、人間とLLMの相互作用における13カテゴリの重大なリスクの広範な分類法に準拠しています。
- 人間によるコンテンツレッドチーミング:人間がモデルの応答を評価することで行われます。
制限事項
このモデルは、元々インターネットから収集された、有害な言語や社会的バイアスを含むデータで学習されています。したがって、このモデルはそれらのバイアスを増幅し、特に有害なプロンプトを与えられた場合には有害な応答を返す可能性があります。また、このモデルは不正確な回答を生成したり、重要な情報を省略したり、関連性のないまたは冗長なテキストを含んだりすることがあり、プロンプト自体に明らかな不快な内容が含まれていなくても、社会的に受け入れられないまたは望ましくないテキストを生成する可能性があります。推奨されるプロンプトテンプレートを使用しない場合、この問題はさらに悪化する可能性があります。このモデルをエージェントワークフローで使用する場合は、インポートするパッケージが信頼できるソースからのものであることを検証し、エンドツーエンドのセキュリティを確保してください。
倫理的な考慮事項
NVIDIAは、信頼できるAIは共同の責任であると考えており、幅広いAIアプリケーションの開発を可能にするためのポリシーと慣行を確立しています。当社のサービス利用規約に従ってこのモデルをダウンロードまたは使用する場合、開発者は自社のモデルチームと協力して、このモデルが関連する業界やユースケースの要件を満たし、予期しない製品の誤用に対応できるようにする必要があります。このモデルの倫理的な考慮事項の詳細については、Model Card++を参照してください。セキュリティの脆弱性やNVIDIA AIに関する懸念事項は、こちらから報告してください。
🔧 技術詳細
Mistral-NeMo-Minitron-8B-Instructは、モデル埋め込みサイズが4096、アテンションヘッドが32、MLP中間次元が11520、合計40層で構成されています。また、Grouped-Query Attention (GQA) とRotary Position Embeddings (RoPE) を使用しています。
アーキテクチャタイプ: Transformer Decoder (Auto-regressive Language Model)
ネットワークアーキテクチャ: Mistral-NeMo
📄 ライセンス
NVIDIA Open Model License