Granite 3.3 8b Instruct GGUF
モデル概要
モデル特徴
モデル能力
使用事例
pipeline_tag: text-generation inference: false license: apache-2.0 library_name: transformers tags:
- language
- granite-3.3 base_model:
- ibm-granite/granite-3.3-8b-base
granite-3.3-8b-instruct GGUFモデル
IQ-DynamicGateによる超低ビット量子化(1-2ビット)
最新の量子化手法では、精度適応型量子化を導入し、ベンチマークで実証されたLlama-3-8Bの改善を達成しました。このアプローチでは、レイヤーごとの戦略を使用して精度を維持しながら、極めてメモリ効率の良いモデルを実現しています。
ベンチマーク概要
すべてのテストは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より広くサポート
- BF16よりダイナミックレンジは狭いが高精度な16ビット浮動小数点
- 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: ARMデバイス向けに最適化された純粋な4ビット量子化
- 使用例: 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デバイス向けに最適化 |
含まれるファイルと詳細
granite-3.3-8b-instruct-bf16.gguf
- モデル重みをBF16で保持
- 別のフォーマットに再量子化する場合に使用
- デバイスがBF16アクセラレーションをサポートしている場合に最適
granite-3.3-8b-instruct-f16.gguf
- モデル重みをF16で保持
- FP16をサポートするがBF16が利用できないデバイスに使用
granite-3.3-8b-instruct-bf16-q8_0.gguf
- 出力&埋め込み層はBF16のまま
- 他のすべてのレイヤーはQ8_0に量子化
- BF16をサポートしつつ量子化版が必要な場合に使用
granite-3.3-8b-instruct-f16-q8_0.gguf
- 出力&埋め込み層はF16のまま
- 他のすべてのレイヤーはQ8_0に量子化
granite-3.3-8b-instruct-q4_k.gguf
- 出力&埋め込み層はQ8_0に量子化
- 他のすべてのレイヤーはQ4_Kに量子化
- メモリが限られたCPU推論に適している
granite-3.3-8b-instruct-q4_k_s.gguf
- 最小のQ4_Kバリアント、精度を犠牲にしてメモリ使用量を削減
- 非常に低メモリ環境に最適
granite-3.3-8b-instruct-q6_k.gguf
- 出力&埋め込み層はQ8_0に量子化
- 他のすべてのレイヤーはQ6_Kに量子化
granite-3.3-8b-instruct-q8_0.gguf
- 完全にQ8量子化されたモデルで、より高い精度を提供
- より多くのメモリが必要だが、より高い精度を提供
granite-3.3-8b-instruct-iq3_xs.gguf
- IQ3_XS量子化、極めてメモリ効率が高いように最適化
- 超低メモリデバイスに最適
granite-3.3-8b-instruct-iq3_m.gguf
- IQ3_M量子化、より良い精度のための中程度のブロックサイズを提供
- 低メモリデバイスに適している
granite-3.3-8b-instruct-q4_0.gguf
- ARMデバイス向けに最適化された純粋なQ4_0量子化
- 低メモリ環境に最適
- より良い精度が必要な場合はIQ4_NLを推奨
🚀 これらのモデルが役立つ場合
❤ 役に立った場合は「いいね」をクリックしてください!
量子対応セキュリティチェックを備えたAI駆動ネットワークモニターアシスタントのテストに協力してください:
👉 無料ネットワークモニター
💬 テスト方法:
- チャットアイコンをクリック(どのページの右下にもあります)
- AIアシスタントタイプを選択:
TurboLLM
(GPT-4-mini)FreeLLM
(オープンソース)TestLLM
(実験的CPUのみ)
テスト中の内容
AIネットワーク監視のための小型オープンソースモデルの限界に挑戦しています:
- ライブネットワークサービスに対する関数呼び出し
- 以下の処理をしながらモデルをどこまで小さくできるか:
- 自動化されたNmapスキャン
- 量子対応チェック
- Metasploit統合
🟡 TestLLM – 現在の実験モデル(6 CPUスレッド上のllama.cpp):
- ✅ ゼロコンフィギュレーション設定
- ⏳ 30秒のロード時間(推論は遅いがAPIコストなし)
- 🔧 協力者募集! エッジデバイスAIに興味があれば、協力しましょう!
他のアシスタント
🟢 TurboLLM – gpt-4-miniを使用:
- リアルタイムネットワーク診断
- 自動化されたペネトレーションテスト(Nmap/Metasploit)
- 無料ネットワークモニターエージェントをダウンロードしてより多くのトークンを取得
🔵 HugLLM – オープンソースモデル(≈80億パラメータ):
- TurboLLMより2倍多いトークン
- AI駆動ログ分析
- 🌐 Hugging Face推論APIで実行
💡 テストするAIコマンドの例:
"私のウェブサイトのSSL証明書情報を教えて"
"サーバーが通信に量子安全暗号を使用しているか確認して"
"簡単なNmap脆弱性テストを実行して"
Granite-3.3-8B-Instruct
モデル概要: Granite-3.3-8B-Instructは、80億パラメータの128Kコンテキスト長言語モデルで、推論能力と指示追従能力が向上するようにファインチューニングされています。Granite-3.3-8B-Baseを基盤として構築され、AlpacaEval-2.0やArena-Hardなどの汎用性能ベンチマークで大幅な向上を示し、数学、コーディング、指示追従の改善を実現しています。<think></think>と<response></response>タグを通じて構造化された推論をサポートし、内部思考と最終出力を明確に分離します。このモデルは、許諾ライセンスデータと精選された合成タスクの慎重にバランスされた組み合わせでトレーニングされています。
- 開発者: Graniteチーム、IBM
- ウェブサイト: Graniteドキュメント
- リリース日: 2025年4月16日
- ライセンス: Apache 2.0
対応言語: 英語、ドイツ語、スペイン語、フランス語、日本語、ポルトガル語、アラビア語、チェコ語、イタリア語、韓国語、オランダ語、中国語。ただし、ユーザーはこれら12言語以外の言語に対してもこのGraniteモデルをファインチューニングできます。
想定用途: このモデルは一般的な指示追従タスクを処理するように設計されており、ビジネスアプリケーションを含むさまざまなドメインのAIアシスタントに統合できます。
機能
- 思考
- 要約
- テキスト分類
- テキスト抽出
- 質問応答
- 検索拡張生成(RAG)
- コード関連タスク
- 関数呼び出しタスク
- 多言語ダイアログユースケース
- 中間埋め込み
- 長文書/会議要約、長文書QAなどの長文コンテキストタスク
生成: これはGranite-3.3-8B-Instructモデルを使用する簡単な例です。
以下のライブラリをインストール:
pip install torch torchvision torchaudio
pip install accelerate
pip install transformers
次に、ユースケースに関連するセクションからスニペットをコピーします。
from transformers import AutoModelForCausalLM, AutoTokenizer, set_seed
import torch
model_path="ibm-granite/granite-3.3-8b-instruct"
device="cuda"
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map=device,
torch_dtype=torch.bfloat16,
)
tokenizer = AutoTokenizer.from_pretrained(
model_path
)
conv = [{"role": "user", "content":"一般的な家庭用品をより持続可能でユーザーフレンドリーに再設計してください。変更点とその利点を説明してください。"}]
input_ids = tokenizer.apply_chat_template(conv, return_tensors="pt", thinking=True, return_dict=True, add_generation_prompt=True).to(device)
set_seed(42)
output = model.generate(
**input_ids,
max_new_tokens=8192,
)
prediction = tokenizer.decode(output[0, input_ids["input_ids"].shape[1]:], skip_special_tokens=True)
print(prediction)
出力例
- thinking=True
<think>このプロンプトに対処するために、一般的な家庭用品であるプラスチック製の水ボトルに焦点を当てます。目標は、より持続可能でユーザーフレンドリーにすることです。提案する変更点とその利点は以下の通りです:
1. **材料**: プラスチックを生分解性またはリサイクル可能な材料(ガラスや植物由来プラスチック(PLA))に置き換えます。
2. **デザイン**: 簡単に補充と清掃ができるモジュール式デザインを導入します。
3. **機能性**: 浄化のための組み込み水フィルターを組み込みます。
4. **耐久性**: 堅牢な構造によりボトルの寿命を延ばします。
5. **ユーザーフレンドリー性**: 簡単に開閉できるキャップメカニズムを簡素化します。
これらの変更により、プラスチック廃棄物を大幅に削減し、リサイクルを促進し、清潔な飲料水へのアクセスを確保し、全体的なユーザー体験を向上させます。
次に、各変更点とその利点を構造化された形式で詳細に説明します。</think>
<response>### 持続可能性とユーザーフレンドリー性のためのプラスチック水ボトルの再設計
#### 1. 材料: 生分解性またはリサイクル可能な代替品
**変更**: 従来のPETプラスチックからガラスや植物由来プラスチック(ポリ乳酸 - PLA)への移行。
**利点**:
- **持続可能性**: ガラスとPLAは生分解性または高度にリサイクル可能で、プラスチック汚染を大幅に削減します。
- **健康**: PETとは異なり、これらの材料は水に化学物質を溶出せず、より安全な消費を保証します。
#### 2. 補充と清掃のためのモジュール式デザイン
**変更**: 再利用可能な外装内に着脱可能で交換可能な内側ライナーを実装。
**利点**:
- **ユーザーフレンドリー性**: ユーザーは簡単に内側ライナーを取り外して徹底的に清掃でき、細菌繁殖のリスクを減らします。
- **持続可能性**: 外装はそのままで、再利用を促進し、内側ライナーは摩耗時に交換またはリサイクルできます。
#### 3. 組み込み水フィルター
**変更**: ボトルキャップに取り外し可能で交換可能な水フィルターを統合。
**利点**:
- **アクセシビリティ**: どの水源(蛇口、川など)からでも直接清潔な飲料水を提供し、追加の濾過装置の必要性を排除します。
- **健康**: 汚染物質、細菌、不純物を除去し、安全な水分補給を保証します。
- **持続可能性**: 再利用可能な容器内に浄化ソリューションを提供することで、使い捨てプラスチックボトルの使用を減らします。
#### 4. 耐久性の向上
**変更**: 外装と内側ライナーの両方に高品質で耐久性のある材料と堅牢な製造技術を使用。
**利点**:
- **長寿命**: より堅牢な設計によりボトルの寿命が延び、交換頻度が減少します。
- **コスト効率**: 初期コストは高いかもしれませんが、交換頻度の減少による長期的な節約で経済的です。
- **持続可能性**: 廃棄頻度が低いため、環境への影響が軽減されます。
#### 5. 簡素化されたキャップメカニズム
**変更**: スポーツボトルキャップにヒントを得たワンタッチで簡単に開閉できるキャップデザインを採用。
**利点**:
- **ユーザーフレンドリー性**: 特に子供、高齢者、または手の器用さに限界のある人々に有益です。
- **便利さ**: 水に素早くアクセスできることで、より頻繁な水分補給を促し、より健康的な習慣を促進します。
### 結論
この再設計された水ボトルは、プラスチック使用と廃棄物を最小限に抑えることで主要な持続可能性の懸念に対処し、改善された機能性、耐久性、アクセシビリティを通じてユーザーフレンドリー性も向上させます。生分解性材料、モジュール式デザイン、組み込みフィルター、堅牢な構造、そして簡単なキャップメカニズムを統合することで、ボトルは環境フットプリントを減らすだけでなく、優れたユーザー体験を提供します。</response>
- thinking=False
再設計アイテム: プラスチックボトル(例: 水または飲料ボトル)
再設計コンセプト: エコフレンドリーでモジュール式、多機能な再利用可能ボトル
変更点:
1. 材料: 従来のプラスチックを食品グレードでBPAフリーのステンレススチールやガラスなどのリサイクル可能な材料に置き換えます。これらの材料は耐久性があり、無毒で、寿命が長く、廃棄物を減らします。
2. モジュール式デザイン: ユーザーがニーズに応じてボトルをカスタマイズできるモジュール式デザインを導入します。これには交換可能なキャップ、口金サイズ、持ち運び用ループが含まれます。ユーザーは必要に応じて追加モジュールを購入でき、異なる目的のために完全に新しいボトルを購入する必要性を減らすことで、より持続可能なアプローチを促進します。
3. 統合フィルター: 不純物を除去し水の味を改善する組み込みの洗浄可能で再利用可能なフィルターを組み込みます。これにより、使い捨てフィルターやボトル入り水の必要性がなくなり、さらにプラスチック廃棄物を減らします。
4. スマートキャップ: デジタルディスプレイと温度センサーを内蔵したスマートキャップを開発します。この機能により、ユーザーは毎日の水分摂取量を追跡し、水分補給目標を設定し、飲料の温度を監視できます。スマートキャップは、リマインダーや進捗追跡などの追加機能のためにモバイルアプリと同期できます。
5. 清掃しやすいデザイン: ボトルに広口と滑らかな内面を確保し、メンテナンスを簡単にし、定期的な使用を促します。届きにくい場所用のブラシを含め、清掃を簡単にします。
6. 折り畳み構造: 使用時にボトルの体積を減らす折り畳み式デザインを実装し、携帯性と収納性を向上させます。
利点:
1. 持続可能性: リサイクル可能な材料を使用しプラスチック廃棄物を減らすことで、この再設計ボトルはより持続可能なライフスタイルに大きく貢献します。モジュール式デザインと再利用可能フィルターも使い捨てプラスチック消費を最小限に抑えます。
2. ユーザーフレンドリー: スマートキャップ、清掃しやすいデザイン、折り畳み構造により、ボトルは便利でユーザーフレンドリーです。ユーザーはニーズに合わせてボトルをカスタマイズでき、全体的により良い体験を保証します。
3. より健康的な選択肢: 食品グレードでBPAフリーの材料と統合フィルターを使用することで、消費される飲料が有害な化学物質や不純物から解放され、より健康的なライフスタイルを促進します。
4. コスト効率: 初期投資は高いかもしれませんが、使い捨てプラスチックボトルと使い捨てフィルターの購入を減らすことによる長期的な節約で、この再利用可能ボトルはコスト効率的な選択肢です。
5. 水分補給を促進: スマートキャップの水分補給追跡や温度監視などの機能は、ユーザーが水分を摂取し、より健康的な習慣を身につける動機付けになります。
プラスチックボトルという一般的な家庭用品を再設計することで、個人と環境の両方に利益をもたらす、より持続可能でユーザーフレンドリー、健康意識の高い代替品を作成できます。
評価結果: