license: apache-2.0
license_link: https://huggingface.co/Qwen/Qwen2.5-7B-Instruct/blob/main/LICENSE
language:
- en
pipeline_tag: text-generation
base_model: Qwen/Qwen2.5-7B
tags:
- chat
library_name: transformers
Qwen2.5-7B-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より広くサポート
- 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ビット量子化、ブロック単位最適化で精度向上
-
Q4_0:純粋な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デバイス向けに最適化 |
含まれるファイルと詳細
Qwen2.5-7B-Instruct-bf16.gguf
- モデル重みをBF16で保持
- 別フォーマットに再量子化したい場合に使用
- デバイスがBF16アクセラレーションをサポートしている場合に最適
Qwen2.5-7B-Instruct-f16.gguf
- モデル重みをF16で保持
- FP16をサポートするデバイス向け(BF16が利用不可の場合)
Qwen2.5-7B-Instruct-bf16-q8_0.gguf
- 出力&埋め込み層はBF16を維持
- その他レイヤーはQ8_0で量子化
- BF16対応デバイスで量子化版が必要な場合に使用
Qwen2.5-7B-Instruct-f16-q8_0.gguf
- 出力&埋め込み層はF16を維持
- その他レイヤーはQ8_0で量子化
Qwen2.5-7B-Instruct-q4_k.gguf
- 出力&埋め込み層はQ8_0で量子化
- その他レイヤーはQ4_Kで量子化
- メモリ制限のあるCPU推論に適している
Qwen2.5-7B-Instruct-q4_k_s.gguf
- 最小のQ4_Kバリアント、精度を犠牲にメモリ使用量を削減
- 極端に低メモリ環境に最適
Qwen2.5-7B-Instruct-q6_k.gguf
- 出力&埋め込み層はQ8_0で量子化
- その他レイヤーはQ6_Kで量子化
Qwen2.5-7B-Instruct-q8_0.gguf
- 完全なQ8量子化モデルで高精度を実現
- より多くのメモリが必要だが、高い精度を提供
Qwen2.5-7B-Instruct-iq3_xs.gguf
- IQ3_XS量子化、極端なメモリ効率を最適化
- 超低メモリデバイス向け
Qwen2.5-7B-Instruct-iq3_m.gguf
- IQ3_M量子化、中ブロックサイズで精度向上
- 低メモリデバイスに適している
Qwen2.5-7B-Instruct-q4_0.gguf
- 純粋なQ4_0量子化、ARMデバイス向けに最適化
- 低メモリ環境向け
- より高い精度が必要な場合はIQ4_NLを推奨
🚀 これらのモデルが役立つ場合
❤ 役に立ったら「いいね」をクリックしてください!
量子対応セキュリティチェックを備えたAIパワードネットワークモニターアシスタントのテストに協力ください:
👉 無料ネットワークモニター
💬 テスト方法:
- チャットアイコンをクリック(全ページ右下)
- AIアシスタントタイプを選択:
TurboLLM
(GPT-4-mini)
FreeLLM
(オープンソース)
TestLLM
(実験的CPU専用)
テスト内容
小型オープンソースモデルの限界に挑戦中:
- ライブネットワークサービスに対する関数呼び出し
- どのくらい小さなモデルで以下を処理できるか:
- 自動Nmapスキャン
- 量子対応チェック
- Metasploit統合
🟡 TestLLM – 現在の実験モデル(llama.cpp on 6 CPUスレッド):
- ✅ ゼロコンフィギュレーション設定
- ⏳ 30秒ロード時間(推論は遅いがAPIコスト無し)
- 🔧 協力者募集! エッジデバイスAIに興味があれば協力しましょう!
その他のアシスタント
🟢 TurboLLM – gpt-4-miniを使用:
🔵 HugLLM – オープンソースモデル(≈8Bパラメータ):
- TurboLLMより2倍多いトークン
- AI駆動ログ分析
- 🌐 Hugging Face推論APIで動作
💡 テスト用AIコマンド例:
"私のウェブサイトのSSL証明書情報を教えて"
"サーバーが量子安全暗号を使用しているか確認して"
"簡単なNmap脆弱性テストを実行して"