license_name: qwen-research
license_link: https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct/blob/main/LICENSE
language:
- en
pipeline_tag: image-text-to-text
tags:
- multimodal
library_name: transformers
Qwen2.5-VL-3B-Instruct GGUFモデル
これらのファイルはimatrixファイルと最新のllama.cppビルドを使用して構築されています。このモデルでビジョン機能を使用するには、llama.cppのフォークを使用する必要があります。
llama.cppでQwen 2.5 VL Instructを使用する方法
llama.cpp
でQwen 2.5 VLの実験的サポートを利用するには、以下の手順に従ってください:
注意:現在メインブランチではこのモデルのビジョン機能はサポートされていません
-
最新のllama.cppフォークをクローン:
git clone https://github.com/HimariO/llama.cpp.qwen2vl.git
cd llama.cpp.qwen2vl
git checkout qwen25-vl-20250404
-
Llama.cppをビルド:
通常通りllama.cppをビルド:https://github.com/ggml-org/llama.cpp#building-the-project
ビルドが完了したら、./llama.cpp.qwen2vl/build/bin/llama-qwen2-vl-cliを選択したフォルダにコピーします。
- Qwen 2.5 VL ggufファイルをダウンロード:
https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/tree/main
mmprojが名前に含まれていないggufファイルを選択
例:https://huggingface.co/Mungert/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/Qwen2.5-VL-3B-Instruct-q8_0.gguf
このファイルを選択したフォルダにコピー。
- Qwen 2.5 VL mmprojファイルをダウンロード
https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/tree/main
mmprojが名前に含まれるファイルを選択
例:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/Qwen2.5-VL-3B-Instruct-mmproj-f16.gguf
このファイルを選択したフォルダにコピー。
- 画像をggufファイルと同じフォルダにコピーするか、適切にパスを変更します。
以下の例では、ggufファイル、画像、llama-qwen2vl-cliが同じフォルダにあります。
例画像:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/car-1.jpg
このファイルを選択したフォルダにコピー。
- CLIツールを実行:
選択したフォルダから:
llama-qwen2vl-cli -m Qwen2.5-VL-3B-Instruct-q8_0.gguf --mmproj Qwen2.5-VL-3B-Instruct-mmproj-f16.gguf -p "この画像を説明してください。" --image ./car-1.jpg
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にモデルを収める
✔ メモリ制約のある展開
✔ CPUおよびエッジデバイス(1-2ビットのエラーが許容される場合)
✔ 超低ビット量子化の研究