モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama-3.1-Nemotron-Nano-4B-v1.1 GGUFモデル
Llama-3.1-Nemotron-Nano-4B-v1.1は、大規模言語モデル(LLM)で、nvidia/Llama-3.1-Minitron-4B-Width-Baseを派生元としています。このモデルは、モデルの精度と効率を向上させ、推論やチャットなどのタスクに適しています。
✨ 主要特性
モデル生成詳細
このモデルは、llama.cpp のコミット 92ecdcc0
を使用して生成されました。
超低ビット量子化(IQ-DynamicGate、1 - 2ビット)
最新の量子化方法では、超低ビットモデル(1 - 2ビット)に対して「精度適応型量子化」を導入しています。このアプローチは、層ごとの戦略を用いて、極限のメモリ効率を維持しながら精度を保持します。
ベンチマークコンテキスト
すべてのテストは、Llama-3-8B-Instruct を使用して行われました。
- 標準のパープレキシティ評価パイプライン
- 2048トークンのコンテキストウィンドウ
- すべての量子化で同じプロンプトセット
方法
- 動的精度割り当て
- 最初と最後の25%の層 → IQ4_XS(選択された層)
- 真ん中の50% → IQ2_XXS/IQ3_S(効率を向上)
- 重要コンポーネントの保護
- 埋め込み層と出力層はQ5_Kを使用
- 標準の1 - 2ビット量子化と比較して、エラー伝播を38%削減
量子化性能比較(Llama-3-8B)
量子化 | 標準PPL | DynamicGate PPL | ΔPPL | 標準サイズ | DGサイズ | Δサイズ | 標準速度 | DG速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
これらのモデルを使用するタイミング
- GPU VRAMにモデルを収める場合
- メモリに制約のあるデプロイメント
- 1 - 2ビットの誤差を許容できるCPUやエッジデバイス
- 超低ビット量子化の研究
適切なモデル形式の選択
モデル形式の選択は、ハードウェア能力とメモリ制約に依存します。
BF16(Brain Float 16) - BF16アクセラレーションが利用可能な場合に使用
- 高速な計算を目的とした16ビット浮動小数点数形式で、良好な精度を維持します。
- FP32と同様のダイナミックレンジを提供し、メモリ使用量が少ないです。
- ハードウェアがBF16アクセラレーションをサポートしている場合に推奨(デバイスの仕様を確認)。
- FP32と比較して、メモリ使用量を削減した高性能推論に最適。
F16(Float 16) - BF16よりも広くサポートされている
- 16ビット浮動小数点数形式で、高い精度を持ち、多くのデバイスでサポートされています。
- BF16よりも値の範囲が狭いですが、推論には一般的に十分です。
量子化モデル(Q4_K、Q6_K、Q8など) - CPUと低VRAM推論用
量子化は、モデルサイズとメモリ使用量を削減しながら、可能な限り精度を維持します。
超低ビット量子化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
これらのモデルは、極限のメモリ効率を追求しており、低電力デバイスや大規模デプロイメントに適しています。
モデル形式選択の概要表
モデル形式 | 精度 | メモリ使用量 | デバイス要件 | 最適な使用ケース |
---|---|---|---|---|
BF16 | 最高 | 高 | BF16対応のGPU/CPU | メモリを削減した高速推論 |
F16 | 高 | 高 | FP16対応のデバイス | BF16が利用できない場合のGPU推論 |
Q4_K | 中低 | 低 | CPUまたは低VRAMデバイス | メモリに制約のある環境に最適 |
Q6_K | 中 | 中程度 | メモリが多いCPU | 量子化されたままで精度が良い |
Q8_0 | 高 | 中程度 | 十分なVRAMを持つCPUまたはGPU | 量子化モデルの中で最も精度が高い |
IQ3_XS | 非常に低 | 非常に低 | 超低メモリデバイス | 極限のメモリ効率と低精度 |
Q4_0 | 低 | 低 | ARMまたは低メモリデバイス | llama.cppがARMデバイス用に最適化 |
📦 インストール
このセクションでは、モデルのインストールに関する情報は提供されていません。
💻 使用例
基本的な使用法
「Reasoning On」の例
import torch
import transformers
model_id = "nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1"
model_kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"}
tokenizer = transformers.AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
tokenizer=tokenizer,
max_new_tokens=32768,
temperature=0.6,
top_p=0.95,
**model_kwargs
)
# Thinking can be "on" or "off"
thinking = "on"
print(pipeline([{"role": "system", "content": f"detailed thinking {thinking}"}, {"role": "user", "content": "Solve x*(sin(x)+2)=0"}]))
「Reasoning Off」の例
import torch
import transformers
model_id = "nvidia/Llama-3.1-Nemotron-Nano-4B-v1"
model_kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"}
tokenizer = transformers.AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
tokenizer=tokenizer,
max_new_tokens=32768,
do_sample=False,
**model_kwargs
)
# Thinking can be "on" or "off"
thinking = "off"
print(pipeline([{"role": "system", "content": f"detailed thinking {thinking}"}, {"role": "user", "content": "Solve x*(sin(x)+2)=0"}]))
「Reasoning Off」で事前にアシスタントの応答を設定する例
import torch
import transformers
model_id = "nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1"
model_kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"}
tokenizer = transformers.AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
# Thinking can be "on" or "off"
thinking = "off"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
tokenizer=tokenizer,
max_new_tokens=32768,
do_sample=False,
**model_kwargs
)
print(pipeline([{"role": "system", "content": f"detailed thinking {thinking}"}, {"role": "user", "content": "Solve x*(sin(x)+2)=0"}, {"role":"assistant", "content":"<think>\n</think>"}]))
高度な使用法
vLLMサーバーをツールコールサポートで起動する例
#!/bin/bash
CWD=$(pwd)
PORT=5000
git clone https://huggingface.co/nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1
docker run -it -p $PORT:$PORT -v $CWD/nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1:/model vllm/vllm-openai:v0.6.6 --model /model --port $PORT
📚 詳細ドキュメント
含まれるファイルと詳細
Llama-3.1-Nemotron-Nano-4B-v1.1-bf16.gguf
:モデルの重みがBF16形式で保存されています。モデルを別の形式に再量子化する場合や、デバイスがBF16アクセラレーションをサポートしている場合に使用します。Llama-3.1-Nemotron-Nano-4B-v1.1-f16.gguf
:モデルの重みがF16形式で保存されています。デバイスがFP16をサポートしている場合、特にBF16が利用できない場合に使用します。Llama-3.1-Nemotron-Nano-4B-v1.1-bf16-q8_0.gguf
:出力層と埋め込み層はBF16のままで、他のすべての層がQ8_0に量子化されています。デバイスがBF16をサポートしており、量子化バージョンが必要な場合に使用します。Llama-3.1-Nemotron-Nano-4B-v1.1-f16-q8_0.gguf
:出力層と埋め込み層はF16のままで、他のすべての層がQ8_0に量子化されています。Llama-3.1-Nemotron-Nano-4B-v1.1-q4_k.gguf
:出力層と埋め込み層がQ8_0に量子化され、他のすべての層がQ4_Kに量子化されています。メモリが制限されたCPU推論に適しています。Llama-3.1-Nemotron-Nano-4B-v1.1-q4_k_s.gguf
:最も小さいQ4_Kバリアントで、精度を犠牲にしてメモリ使用量を削減しています。非常に低メモリの設定に最適です。Llama-3.1-Nemotron-Nano-4B-v1.1-q6_k.gguf
:出力層と埋め込み層がQ8_0に量子化され、他のすべての層がQ6_Kに量子化されています。Llama-3.1-Nemotron-Nano-4B-v1.1-q8_0.gguf
:完全にQ8に量子化されたモデルで、精度が高いですが、より多くのメモリを必要とします。Llama-3.1-Nemotron-Nano-4B-v1.1-iq3_xs.gguf
:IQ3_XS量子化が適用され、極限のメモリ効率を追求しています。超低メモリデバイスに最適です。Llama-3.1-Nemotron-Nano-4B-v1.1-iq3_m.gguf
:IQ3_M量子化が適用され、中程度のブロックサイズで精度を向上させています。低メモリデバイスに適しています。Llama-3.1-Nemotron-Nano-4B-v1.1-q4_0.gguf
:純粋なQ4_0量子化が適用され、ARMデバイス用に最適化されています。低メモリ環境に最適です。
モデルのテストについて
もしこれらのモデルが役に立った場合は、「いいね」をクリックしていただけると助かります。また、量子対応のセキュリティチェックを備えたAIパワードのネットワークモニターアシスタントのテストにもご協力いただけると幸いです。
テスト方法
- AIアシスタントのタイプを選択:
TurboLLM
(GPT-4o-mini)HugLLM
(Hugginfaceオープンソース)TestLLM
(実験的なCPU専用)
テスト内容
- 小規模なオープンソースモデルを用いたAIネットワークモニタリングの限界を追求:
- ライブネットワークサービスに対する関数呼び出し
- 以下のタスクを処理できる最小のモデルサイズを検討:
- 自動化されたNmapスキャン
- 量子対応チェック
- ネットワークモニタリングタスク
他のアシスタント
- TurboLLM:gpt-4o-miniを使用し、カスタムコマンドプロセッサの作成、リアルタイムネットワーク診断、セキュリティ監査、ペネトレーションテストなどのタスクを実行します。
- HugLLM:最新のオープンソースモデルを使用し、Hugging Face推論API上で動作します。
テストできるコマンドの例
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a comprehensive security audit on my server"
"Create a cmd processor to .. (what ever you want)"
🔧 技術詳細
モデルアーキテクチャ
- アーキテクチャタイプ:密なデコーダーのみのTransformerモデル
- ネットワークアーキテクチャ:Llama 3.1 Minitron Width 4B Base
入力
- 入力タイプ:テキスト
- 入力形式:文字列
- 入力パラメータ:一次元(1D)
- 入力に関連するその他のプロパティ:最大131,072トークンのコンテキスト長
出力
- 出力タイプ:テキスト
- 出力形式:文字列
- 出力パラメータ:一次元(1D)
- 出力に関連するその他のプロパティ:最大131,072トークンのコンテキスト長
モデルバージョン
1.1(2025年5月20日)
ソフトウェア統合
- ランタイムエンジン:NeMo 24.12
- 推奨ハードウェアマイクロアーキテクチャ互換性:
- NVIDIA Hopper
- NVIDIA Ampere
📄 ライセンス
このモデルの使用は、NVIDIA Open Model License によって管理されています。追加情報については、Llama 3.1 Community License Agreement を参照してください。このモデルはLlamaを使用して構築されています。
モデル開発者:NVIDIA モデル作成日:2024年8月から2025年5月の間で学習 データの新鮮さ:事前学習データのカットオフは2023年6月です。



