Hugging FaceのLLMをGGUF形式に変換してLM Studioで動かす手順
Hugging Faceのモデルをローカルで動かしたいけど、GGUFって何?という方向けに、自分自身の備忘録も兼ねてGGUF変換からLM Studioでの実行までを一通りまとめました。
はじめに
ローカル環境でLLMを試したい場合、LM Studio や llama.cpp などのツールを使うのが手軽です。
これらのツールでは、GGUF形式のモデルが主に使われます。
しかし、Hugging Face上のモデルは通常、
safetensorsconfig.json- tokenizer
といった Transformers形式で保存されています。
そのため、
👉 Hugging Faceのモデル → GGUF形式へ変換
というステップが必要になります。
本記事では、この変換手順と、LM Studioでの動作確認までをまとめます。
GGUFとは何か
GGUFは、llama.cpp 系の推論エンジンで使われるモデル形式です。
主な特徴:
- 単一ファイル(配布しやすい)
- 量子化済みモデルを扱いやすい
- 軽量でローカル推論に向いている
なぜ量子化するのか
量子化とは、モデルの重みを圧縮する処理です。私の場合、こちらで紹介したローカル生成AI向けの自作PCのVRAMが16GBなのでモデルによっては量子化が必要、松尾研LLMコンペでせっかく作ったLLMをローカルで動かしてみたい、という経緯がありました。
効果:
- メモリ使用量削減
- ファイルサイズ削減
- 推論速度向上(CPUでも動く)
代表的な量子化レベル:
| 方式 | 特徴 |
|---|---|
| Q2_K | 最軽量・精度低 |
| Q3_K_* | 軽量 |
| Q4_K_* | バランス(おすすめ) |
| Q5_K_* | 高品質 |
| Q6_K | かなり高品質 |
| Q8_0 | 最高品質(重い) |
全体の流れ
Hugging Faceモデル
↓
llama.cppでGGUF変換
↓
量子化(Q4_K_Mなど)
↓
GGUF完成
↓
LM Studioで読み込み
事前準備
- Google Colab(推奨)
- Hugging Faceアカウント
- HFトークン(環境変数で管理)
Notebookの使い方
以下のNotebookを使用します。
設定パラメータ
Notebookの前半で以下を設定します。
MODEL_SOURCE = "hf_transformers" # hf_transformers / local_gguf / hf_gguf
MODEL_ID = "your-model"
GGUF_REPO_ID = "your-gguf-repo"
QUANTIZATION = "Q4_K_M"
量子化方式の選択
ALLOWED_QUANTS = [
"Q2_K",
"Q3_K_S", "Q3_K_M", "Q3_K_L",
"Q4_K_S", "Q4_K_M",
"Q5_K_S", "Q5_K_M",
"Q6_K",
"Q8_0",
]
GGUF変換の実行
Notebookを順番に実行するだけでOKです。
主な処理:
-
llama.cppのビルド - Hugging Faceモデルのダウンロード
- GGUF変換
- 量子化
- Hugging Faceへアップロード(任意)
入力パターンの違い
① Hugging Face(Transformers形式)から変換
MODEL_SOURCE = "hf_transformers"
→ 最も一般的なケース
② ローカルのGGUFを再量子化
MODEL_SOURCE = "local_gguf"
→ 既存GGUFを軽量化したい場合
③ Hugging FaceのGGUFを再量子化
MODEL_SOURCE = "hf_gguf"
→ 他人のGGUFを再加工する場合
LM Studioでの使い方
GGUFファイルを用意したら、LM Studioで読み込みます。
方法は2通り:
方法1:ローカルファイルをインポート
- GGUFをダウンロード
- LM Studioにドラッグ&ドロップ
方法2:Hugging Faceから取得
- GGUFをHFにアップロードしておく
- LM Studioから取得
LM Studioでの動作結果
- 使用モデル:https://huggingface.co/kuririrn/qwen3-4b-structured-output-lora-gguf
- 量子化方式:Q4_K_S
ちゃんと実測したわけでは無いですが、1秒もかからずサクサク回答が返ってきます。スクラッチからでは無いにしても、自分が育てたLLMとおしゃべり出来るのはなんだか嬉しい。優しい町医者みたいなアドバイスを返してくれました。SFTの目的とは全く関係無い使い方なので、ぶっちゃけQwen3-4bのベースモデルで良いんですが。笑
量子化オプション毎の精度劣化の度合、モデルサイズ、推論速度が気になるところですが、次の課題にしたいと思います。
まとめ
- Hugging FaceモデルはそのままではLM Studioで使えない
- GGUFに変換することでローカル実行が可能になる
- 量子化により軽量化できる
- Notebook化しておくと再利用しやすい
参考
-
llama.cpp
GGUF変換・量子化・ローカル推論の中核ツール
https://github.com/ggerganov/llama.cpp -
Hugging Face GGUFドキュメント
GGUF形式の仕様やHubでの扱いについて
https://huggingface.co/docs/hub/gguf -
LM Studio
GGUFモデルをGUIで簡単に実行できるローカル推論ツール
https://lmstudio.ai
