🚀 Nemotron-Mini-4B-Instruct
Nemotron-Mini-4B-Instructは、ロールプレイ、検索拡張生成、関数呼び出しのための応答を生成するモデルです。蒸留、プルーニング、量子化によって最適化された小型言語モデル(SLM)で、高速化とデバイス上での展開に適しています。このモデルは、nvidia/Minitron-4B-Baseをファインチューニングしたもので、Nemotron-4 15Bから独自のLLM圧縮技術を用いてプルーニングと蒸留を行っています。この命令型モデルは、英語でのロールプレイ、RAG QA、関数呼び出しに最適化されており、4,096トークンのコンテキスト長をサポートしています。また、このモデルは商用利用が可能です。
🚀 クイックスタート
このモデルは、ロールプレイ、検索拡張生成、関数呼び出しの応答生成に最適化された小型言語モデルです。以下の手順や使用例を参考に、モデルを使い始めましょう。
build.nvidia.com でこのモデルを試すことができます。
NVIDIA ACE](https://developer.nvidia.com/ace) でこのモデルを使用する詳細については、このブログ記事 と このデモビデオ を参照してください。これらの資料では、モデルをビデオゲームに統合する方法が紹介されています。また、NVIDIA AI Inference Manager (AIM) SDK 用のモデルチェックポイントは ここ からダウンロードできます。
✨ 主な機能
- ロールプレイ、検索拡張生成、関数呼び出しの応答生成に最適化
- 蒸留、プルーニング、量子化による高速化とデバイス上での展開に適した小型言語モデル
- 4,096トークンのコンテキスト長をサポート
- 商用利用可能
📚 ドキュメント
モデル開発者
NVIDIA
モデルの訓練期間
Nemotron-Mini-4B-Instructは、2024年2月から2024年8月の間に訓練されました。
ライセンス
NVIDIA Community Model License
モデルアーキテクチャ
Nemotron-Mini-4B-Instructは、モデル埋め込みサイズ3072、32のアテンションヘッド、MLP中間次元9216を使用しています。また、Grouped-Query Attention (GQA) と Rotary Position Embeddings (RoPE) も使用しています。
- アーキテクチャタイプ:Transformer Decoder (自己回帰型言語モデル)
- ネットワークアーキテクチャ:Nemotron-4
プロンプト形式
モデルのファインチューニングに使用された以下のプロンプトテンプレートの使用を推奨します。このテンプレートを使用しないと、モデルの性能が最適に発揮されない可能性があります。
シングルターン
<extra_id_0>System
{system prompt}
<extra_id_1>User
{prompt}
<extra_id_1>Assistant\n
ツール使用
<extra_id_0>System
{system prompt}
<tool> ... </tool>
<context> ... </context>
<extra_id_1>User
{prompt}
<extra_id_1>Assistant
<toolcall> ... </toolcall>
<extra_id_1>Tool
{tool response}
<extra_id_1>Assistant\n
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("nvidia/Nemotron-Mini-4B-Instruct")
model = AutoModelForCausalLM.from_pretrained("nvidia/Nemotron-Mini-4B-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, max_new_tokens=128)
print(tokenizer.decode(outputs[0]))
高度な使用法
pipeline
を使用することもできますが、トークナイザーオブジェクトを作成し、手動でパイプラインに割り当てる必要があります。
from transformers import AutoTokenizer
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("nvidia/Nemotron-Mini-4B-Instruct")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="nvidia/Nemotron-Mini-4B-Instruct")
pipe.tokenizer = tokenizer
pipe(messages)
AIセキュリティ対策
Nemotron-Mini-4B-Instructモデルは、3つの異なる方法による敵対的テストを含むAIセキュリティ評価を受けています。
- Garak:一般的な脆弱性(プロンプトインジェクションやデータ漏洩など)を探す自動LLM脆弱性スキャナーです。
- AEGIS:コンテンツセキュリティ評価データセットとLLMベースのコンテンツセキュリティ分類モデルで、人間とLLMの相互作用における13カテゴリの重大なリスクの広範な分類体系に準拠しています。
- 人間によるコンテンツレッドチーミング:モデルの応答に対する人間の相互作用と評価を利用しています。
制限事項
このモデルは、元々インターネットから収集された有毒な言語や社会的バイアスを含むデータで訓練されています。そのため、特に有毒なプロンプトが与えられた場合、これらのバイアスを増幅し、有毒な応答を返す可能性があります。また、プロンプト自体に明らかな不快な内容が含まれていなくても、モデルは不正確な回答を生成したり、重要な情報を省略したり、無関係または冗長なテキストを含んだりして、社会的に受け入れられないまたは望ましくないテキストを生成する可能性があります。推奨されるプロンプトテンプレートを使用しないと、この問題が悪化する可能性があります。
倫理的な考慮事項
NVIDIAは、信頼できるAIは共同の責任であると考えており、幅広いAIアプリケーションの開発を可能にするためのポリシーと実践を確立しています。利用規約に従ってダウンロードまたは使用する場合、開発者は自社のモデルチームと協力して、このモデルが関連する業界やユースケースの要件を満たし、予期しない製品の誤用に対応するようにする必要があります。このモデルの倫理的な考慮事項の詳細については、Model Card++ を参照してください。セキュリティの脆弱性やNVIDIA AIに関する懸念事項は、ここ から報告してください。
📄 ライセンス
NVIDIA Community Model License