Llama 3.1 Nemotron 70B Instruct HF GGUF
モデル概要
モデル特徴
モデル能力
使用事例
license: llama3.1 language:
- en inference: false fine-tuning: false tags:
- nvidia
- llama3.1 datasets:
- nvidia/HelpSteer2 base_model: meta-llama/Llama-3.1-70B-Instruct pipeline_tag: text-generation library_name: transformers
Llama-3.1-Nemotron-70B-Instruct-HF GGUF モデル
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 |
キー:
- PPL = パープレキシティ (低いほど良い)
- Δ PPL = 標準から DynamicGate への変化率
- 速度 = 推論時間 (CPU avx2, 2048 トークンコンテキスト)
- サイズの違いは混合量子化のオーバーヘッドを反映
主な改善点:
- 🔥 IQ1_M は 43.9% のパープレキシティ削減 (27.46 → 15.41)
- 🚀 IQ2_S はパープレキシティを 36.9% 削減しながら、サイズは 0.2GB のみ増加
- ⚡ IQ1_S は 1 ビット量子化でも 39.7% の精度向上を維持
トレードオフ:
- すべてのバリアントでサイズがわずかに増加 (0.1-0.3GB)
- 推論速度はほぼ同等 (<5% の差)
これらのモデルを使用する場合
📌 GPU VRAM にモデルを収める場合
✔ メモリ制約のあるデプロイメント
✔ 1-2 ビットの誤差が許容される CPU およびエッジデバイス
✔ 超低ビット量子化の研究
適切なモデルフォーマットの選択
適切なモデルフォーマットは、ハードウェアの能力とメモリ制約によって異なります。
BF16 (Brain Float 16) – BF16 アクセラレーションが利用可能な場合に使用
- 高速な計算を可能にする 16 ビット浮動小数点フォーマットで、良好な精度を維持。
- FP32 と同様のダイナミックレンジを提供しつつ、メモリ使用量を削減。
- BF16 アクセラレーションをサポートするハードウェアに推奨 (デバイスの仕様を確認)。
- FP32 と比べてメモリフットプリントを削減した高性能推論に最適。
📌 BF16 を使用する場合:
✔ ハードウェアが BF16 をネイティブサポート (例: 新しい GPU、TPU)。
✔ より高い精度が必要で、メモリも節約したい場合。
✔ モデルを別のフォーマットに再量子化する予定がある場合。
📌 BF16 を避ける場合:
❌ ハードウェアが BF16 をサポートしていない (FP32 にフォールバックし、遅くなる可能性あり)。
❌ BF16 最適化がない古いデバイスとの互換性が必要な場合。
F16 (Float 16) – BF16 よりも広くサポート
- 16 ビット浮動小数点の高精度フォーマットだが、BF16 よりも値の範囲が狭い。
- FP16 アクセラレーションをサポートするほとんどのデバイス (多くの GPU や一部の CPU) で動作。
- BF16 よりも数値精度はやや低いが、一般的に推論には十分。
📌 F16 を使用する場合:
✔ ハードウェアが FP16 をサポートしているが、BF16 はサポートしていない場合。
✔ 速度、メモリ使用量、精度のバランスが必要な場合。
✔ GPU や FP16 計算に最適化されたデバイスで実行する場合。
📌 F16 を避ける場合:
❌ デバイスが ネイティブ FP16 をサポートしていない (期待よりも遅くなる可能性あり)。
❌ メモリ制約がある場合。
量子化モデル (Q4_K, Q6_K, Q8 など) – CPU および低 VRAM 推論用
量子化により、モデルサイズとメモリ使用量を削減しつつ、可能な限り精度を維持。
- 低ビットモデル (Q4_K) → メモリ使用量を最小限に抑えるが、精度は低め。
- 高ビットモデル (Q6_K, Q8_0) → 精度が向上するが、メモリ使用量も増加。
📌 量子化モデルを使用する場合:
✔ CPU で推論を実行し、最適化されたモデルが必要な場合。
✔ デバイスの VRAM が少なく、フル精度モデルをロードできない場合。
✔ 合理的な精度を保ちつつ、メモリフットプリントを削減したい場合。
📌 量子化モデルを避ける場合:
❌ 最大の精度が必要な場合 (フル精度モデルの方が適している)。
❌ ハードウェアに高精度フォーマット (BF16/F16) を扱う十分な VRAM がある場合。
超低ビット量子化 (IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0)
これらのモデルは極端なメモリ効率を実現し、低電力デバイスやメモリが重要な制約となる大規模デプロイメントに最適。
-
IQ3_XS: 超低ビット量子化 (3 ビット) で極端なメモリ効率。
- 使用例: Q4_K でも大きすぎる超低メモリデバイスに最適。
- トレードオフ: 高ビット量子化と比べて精度が低い。
-
IQ3_S: 最大のメモリ効率を実現する小さなブロックサイズ。
- 使用例: IQ3_XS が過度に攻撃的すぎる低メモリデバイスに最適。
-
IQ3_M: IQ3_S よりも精度が向上する中程度のブロックサイズ。
- 使用例: IQ3_S が制限すぎる低メモリデバイスに適している。
-
Q4_K: 4 ビット量子化でブロックごとの最適化により精度向上。
- 使用例: Q6_K が大きすぎる低メモリデバイスに最適。
-
Q4_0: 純粋な 4 ビット量子化で、ARM デバイスに最適化。
- 使用例: ARM ベースのデバイスや低メモリ環境に最適。
要約表: モデルフォーマット選択
モデルフォーマット | 精度 | メモリ使用量 | デバイス要件 | 最適な使用例 |
---|---|---|---|---|
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 デバイスに最適化 |
含まれるファイルと詳細
Llama-3.1-Nemotron-70B-Instruct-HF-bf16.gguf
- モデル重みを BF16 で保持。
- モデルを別のフォーマットに再量子化したい場合に使用。
- デバイスが BF16 アクセラレーションをサポートしている場合に最適。
Llama-3.1-Nemotron-70B-Instruct-HF-f16.gguf
- モデル重みを F16 で保持。
- FP16 をサポートするデバイス、特に BF16 が利用できない場合に使用。
Llama-3.1-Nemotron-70B-Instruct-HF-bf16-q8_0.gguf
- 出力層と埋め込み層は BF16 のまま。
- 他のすべてのレイヤーは Q8_0 に量子化。
- デバイスが BF16 をサポートし、量子化バージョンが必要な場合に使用。
Llama-3.1-Nemotron-70B-Instruct-HF-f16-q8_0.gguf
- 出力層と埋め込み層は F16 のまま。
- 他のすべてのレイヤーは Q8_0 に量子化。
Llama-3.1-Nemotron-70B-Instruct-HF-q4_k.gguf
- 出力層と埋め込み層は Q8_0 に量子化。
- 他のすべてのレイヤーは Q4_K に量子化。
- メモリが限られた CPU 推論に適している。
Llama-3.1-Nemotron-70B-Instruct-HF-q4_k_s.gguf
- 最小の Q4_K バリアントで、精度を犠牲にしてメモリ使用量を削減。
- 非常に低メモリ環境に最適。
Llama-3.1-Nemotron-70B-Instruct-HF-q6_k.gguf
- 出力層と埋め込み層は Q8_0 に量子化。
- 他のすべてのレイヤーは Q6_K に量子化。
Llama-3.1-Nemotron-70B-Instruct-HF-q8_0.gguf
- 完全に Q8 量子化されたモデルで、より高い精度を提供。
- より多くのメモリを必要とするが、高精度。
Llama-3.1-Nemotron-70B-Instruct-HF-iq3_xs.gguf
- IQ3_XS 量子化で、極端なメモリ効率を実現。
- 超低メモリデバイスに最適。
Llama-3.1-Nemotron-70B-Instruct-HF-iq3_m.gguf
- IQ3_M 量子化で、中程度のブロックサイズにより精度向上。
- 低メモリデバイスに適している。
Llama-3.1-Nemotron-70B-Instruct-HF-q4_0.gguf
- 純粋な Q4_0 量子化で、ARM デバイスに最適化。
- 低メモリ環境に最適。
- より高い精度が必要な場合は IQ4_NL を推奨。
🚀 これらのモデルが役立つ場合
❤ 役に立ったら「いいね」をクリックしてください!
量子対応セキュリティチェックを備えたAI ネットワークモニターアシスタントのテストに協力してください:
👉 無料ネットワークモニター
💬 テスト方法:
- チャットアイコンをクリック (ページ右下)
- AI アシスタントタイプを選択:
TurboLLM
(GPT-4-mini)FreeLLM
(オープンソース)TestLLM
(実験的 CPU 専用)
テスト内容
小型オープンソースモデルの限界に挑戦し、以下を実現:
- ライブネットワークサービスに対する関数呼び出し
- モデルをどれだけ小さくできるかの検証:
- 自動化された Nmap スキャン
- 量子対応チェック
- Metasploit 統合
🟡 TestLLM – 現在の実験モデル (llama.cpp を 6 CPU スレッドで実行):
- ✅ ゼロコンフィギュレーション設定
- ⏳ 30 秒のロード時間 (推論は遅いが API コストなし)
- 🔧 協力者募集! エッジデバイス AI に興味があれば協力しましょう!
その他のアシスタント
🟢 TurboLLM – gpt-4-mini を使用:
- リアルタイムネットワーク診断
- 自動化されたペネトレーションテスト (Nmap/Metasploit)
- 🔑 無料ネットワークモニターエージェントをダウンロード してトークンを増やす
🔵 HugLLM – オープンソースモデル (≈8B パラメータ):
- TurboLLM の 2 倍のトークン
- AI によるログ分析
- 🌐 Hugging Face Inference API で実行
💡 テスト用 AI コマンド例:
"ウェブサイトの SSL 証明書情報を教えて"
"サーバーが量子安全暗号を使用しているか確認して"
"Nmap 脆弱性テストを実行して"
モデル概要
説明:
Llama-3.1-Nemotron-70B-Instruct は、NVIDIA がカスタマイズした大規模言語モデルで、ユーザークエリに対する LLM 生成応答の有用性を向上させます。
このモデルは Arena Hard で 85.0、AlpacaEval 2 LC で 57.6、GPT-4-Turbo MT-Bench で 8.98 を達成し、これらは LMSys Chatbot Arena Elo を予測する指標として知られています。
2024 年 10 月 1 日現在、このモデルは 3 つの自動アライメントベンチマーク (AlpacaEval 2 LC の検証済みタブ) で #1 を獲得し、GPT-4o や Claude 3.5 Sonnet などの強力なフロンティアモデルを上回っています。
2024 年 10 月 24 日現在、このモデルは ChatBot Arena リーダーボード で Elo スコア 1267(+-7)、ランク 9、スタイル制御ランク 26 を記録しています。
このモデルは、初期ポリシーとして Llama-3.1-70B-Instruct モデルを使用し、RLHF (具体的には REINFORCE)、Llama-3.1-Nemotron-70B-Reward、および HelpSteer2-Preference プロンプト でトレーニングされました。
Llama-3.1-Nemotron-70B-Instruct-HF は Llama-3.1-Nemotron-70B-Instruct から変換され、HuggingFace Transformers コードベースでサポートされています。評価結果は Llama-3.1-Nemotron-70B-Instruct の NeMo-Aligner での評価結果とわずかに異なる場合があることに注意してください。
無料のホスト型推論は build.nvidia.com で試せます - OpenAI 互換の API インターフェースを備えています。
詳細は論文 https://arxiv.org/abs/2410.01257 を参照してください - プレビューとして、このモデルは特別なプロンプティングや追加の推論トークンなしで How many r in strawberry?
という質問に正しく答えられます:
甘い質問ですね!
「strawberry」の「R」の数を数えましょう:
1. S
2. T
3. R
4. A
5. W
6. B
7. E
8. R
9. R
10. Y
「strawberry」には **3 つの「R」** があります。
注: このモデルは、一般的なドメインの指示追従における有用性を向上させるための技術のデモンストレーションです。数学などの専門ドメインでの性能は調整されていません。
利用規約
このモデルにアクセスすることで、ライセンス、利用ポリシー、および Meta のプライバシーポリシー の LLama 3.1 の利用規約に同意したものとみなされます。
評価指標
2024 年 10 月 1 日現在、Llama-3.1-Nemotron-70B-Instruct は Arena Hard、AlpacaEval 2 LC (検証済みタブ)、および MT Bench (GPT-4-Turbo) で最高の性能を発揮しています。
モデル | Arena Hard | AlpacaEval | MT-Bench | 平均応答長 |
---|---|---|---|---|
詳細 | (95% CI) | 2 LC (SE) | (GPT-4-Turbo) | (MT-Bench の文字数) |
Llama-3.1-Nemotron-70B-Instruct | 85.0 (-1.5, 1.5) | 57.6 (1.65) | 8.98 | 2199.8 |
Llama-3.1-70B-Instruct | 55.7 (-2.9, 2.7) | 38.1 (0.90) | 8.22 | 1728.6 |
Llama-3.1-405B-Instruct | 69.3 (-2.4, 2.2) | 39.3 (1.43) | 8.49 | 1664.7 |
Claude-3-5-Sonnet-20240620 | 79.2 (-1.9, 1.7) | 52.4 (1.47) | 8.81 | 1619.9 |
GPT-4o-2024-05-13 | 79.3 (-2.1, 2.0) | 57.5 (1.47) | 8.74 | 1752.2 |
使用方法:
HuggingFace Transformers ライブラリを使用して、2 つ以上の 80GB GPU (NVIDIA Ampere 以降) と少なくとも 150GB の空きディスク容量があれば、このモデルを使用できます。
このコードは Transformers v4.44.0、torch v2.4.0、および 2 つの A100 80GB GPU でテストされていますが、meta-llama/Llama-3.1-70B-Instruct
をサポートするセットアップであれば、このモデルもサポートされます。問題が発生した場合は、pip install -U transformers
を実行してみてください。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r in strawberry?"
messages = [{"role": "user", "content": prompt}]
tokenized_message = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt", return_dict=True)
response_token_ids = model.generate(tokenized_message['input_ids'].cuda(),attention_mask=tokenized_message['attention_mask'].cuda(), max_new_tokens=4096, pad_token_id = tokenizer.eos_token_id)
generated_tokens =response_token_ids[:, len(tokenized_message['input_ids'][0]):]
generated_text = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)[0]
print(generated_text)
# モデルカードの上部にある応答を参照
参考文献:
- NeMo Aligner
- HelpSteer2-Preference
- HelpSteer2
- Introducing Llama 3.1: Our most capable models to date
- Meta's Llama 3.1 Webpage
- Meta's Llama 3.1 Model Card
モデルアーキテクチャ:
アーキテクチャタイプ: Transformer
ネットワークアーキテクチャ: Llama 3.1
入力:
入力タイプ: テキスト
入力形式: 文字列
入力パラメータ: 1 次元 (1D)
入力に関するその他のプロパティ: 最大 128k トークン
出力:
出力タイプ: テキスト
出力形式: 文字列
出力パラメータ: 1 次元 (1D)
出力に関するその他のプロパティ: 最大 4k トークン
ソフトウェア統合:
サポートされるハードウェアマイクロアーキテクチャ互換性:
- NVIDIA Ampere
- NVIDIA Hopper
- NVIDIA Turing
サポートされるオペレーティングシステム: Linux
モデルバージョン:
v1.0
トレーニング & 評価:
アライメント手法
- NeMo Aligner で実装された REINFORCE
データセット:
データ収集方法
- [ハイブリッド: 人間、合成]
ラベリング方法
- [人間]
リンク:
プロパティ (数量、データセット説明、センサー):
- 21,362 のプロンプト応答で、モデルを人間の好みに合わせてより有用、事実に基づき、一貫性があり、複雑さや冗長性に基づいてカスタマイズ可能にするために構築。
- 20,324 のプロンプト応答がトレーニングに、1,038 が検証に使用。
推論:
エンジン: Triton
テストハードウェア: H100, A100 80GB, A100 40GB
倫理的考慮事項:
NVIDIA は、信頼できる AI は共有の責任であると考え、幅広い AI アプリケーションの開発を可能にするポリシーとプラクティスを確立しています。 利用規約に従ってダウンロードまたは使用する場合、開発者はサポートモデルチームと協力して、このモデルが関連業界と使用事例の要件を満たし、予期しない製品の誤用に対処することを確認する必要があります。 このモデルの倫理的考慮事項の詳細については、Model Card++ の説明可能性、バイアス、安全性とセキュリティ、およびプライバシーのサブカードを参照してください。 セキュリティの脆弱性または NVIDIA AI に関する懸念はこちらから報告してください。
セキュリティの脆弱性または NVIDIA AI に関する懸念はこちらから報告してください。
引用
このモデルが役立つ場合は、以下の研究を引用してください
@misc{wang2024helpsteer2preferencecomplementingratingspreferences,
title={HelpSteer2-Preference: Complementing Ratings with Preferences},
author={Zhilin Wang and Alexander Bukharin and Olivier Delalleau and Daniel Egert and Gerald Shen and Jiaqi Zeng and Oleksii Kuchaiev and Yi Dong},
year={2024},
eprint={2410.01257},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2410.01257},
}



