transformersのllama.cpp量子化(GGUF)対応とは?対応quant・読み込み方法・対応デバイスを一次情報で解説(2026年9月22日)
Hugging Face が transformers で llama.cpp 形式の GGUF 量子化モデルを直接読み込む機能を発表(2026年9月22日)。対応 quant は Q4_K_M・Q5_K_M・Q6_K・BF16、読み込みは from_pretrained に gguf_file を渡すだけ、パック推論は現時点で MPS のみです。必要バージョン・コードの形・制限を一次情報で整理します。
結論から言うと、Hugging Face transformers で llama.cpp 形式の GGUF 量子化モデルを直接読み込めるようになりました(2026年9月22日)。対応 quant は Q4_K_M・Q5_K_M・Q6_K・BF16 で、from_pretrained に gguf_file を渡すだけです。以下、読み込み方法と対応デバイスを一次情報の出典付きで解説します。
対応している llama.cpp quant の種類と推奨
公式ブログに記載がある GGUF バリアントは BF16・Q6_K・Q5_K_M・Q4_K_M の 4 種類で、Q4_K_M がローカル推論の実用的な出発点とされています(出典: Hugging Face 公式ブログ、2026年9月23日取得)。表の値はモデル例 unsloth/Qwen3.5-4B-GGUF のファイルサイズです。Q4_K_M のようなバリアントはテンソル精度を混在させ、大部分を 4 ビット重みとしつつ、センシティブなテンソルはより高精度で保持すると説明されています。
- BF16: 8.42 GB(非量子化のリファレンス)/Q6_K: 3.53 GB(より小さいバリアントより高精度)/Q5_K_M: 3.14 GB(サイズと精度の中間)/Q4_K_M: 2.74 GB(ローカル推論の実用的な出発点)。いずれも unsloth/Qwen3.5-4B-GGUF の値(出典: Hugging Face 公式ブログ、2026年9月23日取得)
- 推奨手順: まず Q4_K_M から始め、メモリに余裕があれば Q5_K_M や Q6_K を試す。その他の量子化タイプは Hub の GGUF ドキュメントを参照するよう案内されています
必要なバージョン: transformers は次回リリースまで main
必要なバージョンは、transformers が次回リリースまでは main、kernels は互換バージョン(ベンチマーク環境では 0.17.0)、PyTorch は ggml-quantization カーネルの公開済みビルドが対応するバージョン(通常は最新 2 つの PyTorch リリース)です(出典: Hugging Face 公式ブログ、2026年9月23日取得)。インストールは pip install -U "git+https://github.com/huggingface/transformers.git" kernels。ベンチマーク環境は MacBook Pro M2 Max・32 GB 統合メモリ・PyTorch 2.12.1 で、比較対象の llama.cpp はリリース b10200・llama-bench ビルド 5f55650a7 です。
- transformers: 次回リリースまでは main を使用(pip install -U "git+https://github.com/huggingface/transformers.git" kernels、出典: Hugging Face 公式ブログ、2026年9月23日取得)
- kernels: 互換バージョンが必要。ベンチマーク環境では kernels 0.17.0(出典: Hugging Face 公式ブログ、2026年9月23日取得)
- PyTorch: 公開済みの ggml-quantization カーネルビルドが対応するバージョン。通常は最新 2 つの PyTorch リリースで、ベンチマーク環境は 2.12.1(出典: Hugging Face 公式ブログ、2026年9月23日取得)
読み込みのコード: from_pretrained に gguf_file を渡すだけ
読み込みは AutoTokenizer.from_pretrained(model_id, gguf_file=filename) と AutoModelForCausalLM.from_pretrained(model_id, gguf_file=filename) の形で、追加設定は不要です(出典: Hugging Face 公式ブログ、2026年9月23日取得)。model_id は "unsloth/Qwen3.5-4B-GGUF"、filename は "Qwen3.5-4B-Q4_K_M.gguf" の例が示されています。Metal 上で重みがパックされたままの場合、ggml の Metal レイヤーカーネルが自動で読み込まれ、attention 実装として ggml-org/ggml-attn が使われます。カーネルが取得できない場合は警告付きで "sdpa" にフォールバックし、attn_implementation="sdpa" での明示指定も可能です。
OpenAI 互換 API でのサーブの形も公式に示されています。pip install -U "transformers[serving] @ git+https://github.com/huggingface/transformers.git" kernels の後、transformers serve "unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf" と実行し、Base URL は http://localhost:8000/v1。引数の形式は <model_id>:<filename>.gguf で、--reasoning オプションは off・on・auto(デフォルトは auto)です(出典: Hugging Face 公式ブログ、2026年9月23日取得)。
微調整などで重みを使いやすくするデ量子化(dequantize)の例も示されています。quantization_config=GgufConfig(dequantize=True) を指定し、dtype=torch.bfloat16 で読み込む形です。この形式は GGUF を dequantize で取り込む従来の道で、パック推論とは別の選択肢として位置づけられています(出典: Hugging Face 公式ブログ、2026年9月23日取得)。
対応デバイス: パック推論パスは現時点で MPS のみ
パック推論パスは現時点で MPS のみで、必要要件には Apple Silicon Mac が明記されています(出典: Hugging Face 公式ブログ、2026年9月23日取得)。使うカーネルは ggml-quantization・ggml-norm・ggml-attn・ggml-gated-delta-net の ggml 系 4 種と、topk(transformers-community 独自の Metal 実装)が挙げられています。CUDA・ROCm のパックカーネル対応については記事に記載がなく、対応時期は公式未公表です。
- アーキテクチャ対応: パックローダーは現状 Qwen3.5 の dense と MoE(互換のある Qwen3.5/3.8 チェックポイントを含む)のみ。他アーキテクチャの対応は比較的容易で順次拡張予定と公式が書いています(出典: Hugging Face 公式ブログ、2026年9月23日取得)
- パディング・バッチング: 未完成。パディングなし入力はマスク最適化の恩恵を受ける一方、パディング付きバッチはその短縮ができず性能が落ちうる。MPS 上の generate_batch への拡張が予定されています(出典: Hugging Face 公式ブログ、2026年9月23日取得)
- フォールバック: 互換量子化カーネルが無い環境ではモデルをデ量子化してフォールバックし、メモリ使用量が増えます(出典: Hugging Face 公式ブログ、2026年9月23日取得)
性能の比較には注意点が明記されています。transformers 側の測定には prefill が含まれ、llama-bench はデコードのみ(tg128)で、条件は同一ではありません(出典: Hugging Face 公式ブログ、2026年9月23日取得)。また generate の改善として、不要な attention マスクの早期削除(PR #48814)と停止判定の非同期遅延(PR #47975)が挙げられ、GGUF 以外の全 transformers モデルにも効果があるとされています。
よくある質問
Q. transformers で llama.cpp の量子化(GGUF)モデルを読み込むにはどうしますか?
A. model_id と gguf_file を指定して AutoModelForCausalLM.from_pretrained を呼ぶだけです。例では model_id "unsloth/Qwen3.5-4B-GGUF"、filename "Qwen3.5-4B-Q4_K_M.gguf" を使い、追加設定は不要。OpenAI 互換サーブなら transformers serve "<model_id>:<filename>.gguf" で、Base URL は http://localhost:8000/v1 です(Hugging Face 公式ブログ、2026年9月23日取得)。
Q. 対応している llama.cpp quant の種類と互換性は?
A. 公式ブログに記載があるバリアントは BF16・Q6_K・Q5_K_M・Q4_K_M の 4 種類です(モデル例: unsloth/Qwen3.5-4B-GGUF)。パックローダーが対応するアーキテクチャは現状 Qwen3.5 の dense と MoE のみで、他アーキテクチャは順次拡張予定。それ以外の量子化タイプは Hub の GGUF ドキュメントの参照が案内されています(Hugging Face 公式ブログ、2026年9月23日取得)。
Q. NVIDIA GPU(CUDA)でも使えますか?
A. パック推論パスは現時点で MPS のみで、必要要件には Apple Silicon Mac が明記されています。CUDA・ROCm 用のパックカーネルへの言及は記事になく、対応時期は公式未公表です。CUDA 環境では GGUF を dequantize で読み込む形が引き続き示されていますが、動作範囲は公式ドキュメントでの確認が必要です(Hugging Face 公式ブログ、2026年9月23日取得)。
関連ガイド
AI コーディングツールの料金改定(2026年9月20日) — GitHub Copilot・Cursor・Claude Code の最新料金比較と変更点
AI コーディングツールの料金改定を2026年9月時点で比較。GitHub Copilot(無料〜月額39ドル)、Cursor(無料〜月額40ドル)、Claude Code(API課金・Max月額100ドル〜200ドル)、VS Code(無料)の各プランを公式情報から解説します。個人開発者から組織導入まで、予算計画に役立つ料金情報をまとめました。
関連記事
2026年10月26日GAのCopilot assisted permissionsとは?権限モードと設定
GitHub Copilot の 3 つ目の権限モード「Assisted permissions」が 2026年10月26日に一般提供(GA)。LLM がコマンド実行・ファイルパス・URL のリクエストを評価し、明らかに安全なものは自動で通し、それ以外は手動承認にします。CLI・Copilot app・VS Code での有効化手順と、Enterprise 管理者による Allow All のブロック設定を公式情報で解説します。
Cursor Agent SDKとは?2026年10月20日GAの作り方とdeployを解説
Cursor が Agent SDK を 2026年10月20日に一般提供(GA)しました。エージェントをフォルダで定義し、init・dev・deploy・eval の各コマンドで開発から展開まで行えます。トリガーは GitHub の PR・コメント・CI と Slack・webhook・cron に対応。作り方と deploy の手順を一次情報で解説します。
TorchTPU・TorchNeuronとは?PyTorchのTPU・Trainium対応を一次情報で解説(2026年10月20日)
Hugging Face が TorchTPU と TorchNeuron を公開し、PyTorch が Google TPU と AWS Trainium のネイティブデバイスになりました。device_map="tpu" / "neuron" の指定方法、pip install torch-tpu / torch-neuronx、上位 100 テキスト生成モデルの 89% 対応、Kernels Hub の速度数値(ViT 2.4 倍・Qwen3-30B-A3B 21.5 倍)を一次情報で解説します。
GitHub Public monitoringとは?データレジデンシー環境のシークレット監視とtriage・API追加を一次情報で解説(2026年10月22日)
GitHub は 2026年10月22日、GitHub Enterprise Cloud のデータレジデンシー環境で、公開リポジトリに漏洩したシークレットを監視する Public monitoring を公開プレビューで提供開始しました。10月23日には triage・validity check・REST API・エンタープライズ webhook を追加。対象ライセンス、前提のドメイン検証、有効化の手順を一次情報で解説します。
PyTorch 2.15のMPSバックエンド強化とは?FP8対応とMoEデコード高速化を一次情報で解説(2026年10月20日)
PyTorch 2.15 の MPS バックエンド強化は、Apple Silicon(Mac)で FP8(torch.float8_e4m3fn)が使えるようになった更新です。MoE モデルのデコードが 5〜6.5 倍速くなり、動画 VAE デコードのメモリ使用量は 270 GiB から 8 GiB に減りました。必要要件と試し方を一次情報で解説します。
CopilotのEagerness設定とは?インライン補完の積極性を4段階で調整する新機能を一次情報で解説(2026年10月27日)
VS Code の公式ブログで 2026年10月27日、GitHub Copilot のインライン補完の積極性を選べる「Eagerness」設定が紹介されました。Auto / Low / Medium / High の 4 つの選択肢、使うための条件、Low と High の効果の数値(Medium 比)を一次情報で解説します。
この記事は AI が一次ソースを読んで執筆しました。数値と日付は出典に記した公式情報の執筆時点の値です。誤りを見つけたら訂正の窓口へお知らせください。確認のうえ本文を直し、訂正履歴に残します。編集方針