使い方・開発 中級
GGUF
GGUF
手元の PC で LLM を動かすときによく使われる、モデルを1つのファイルにまとめる形式です。量子化されたモデルの配布に広く使われ、llama.cpp などで読み込めます。
別の呼び方GGUFファイル、llama.cpp形式
例Hugging Face から Q4 の GGUF をダウンロードして、ノート PC の Ollama で動かしてみた。
詳しく
GGUF は、LLM の重みや設定をひとまとめにして保存するファイル形式です。拡張子は .gguf で、ローカル環境で AI を動かす人にとっては、最もよく目にする形式の一つです。llama.cpp という、個人の PC でも LLM を動かせるようにするソフトの開発の中から生まれました。
特徴
- 1ファイルで完結:モデルの重みに加えて、言葉を分解する辞書(トークナイザー)の情報や、モデルの構造に関する設定がファイル内に収められています。ファイルを1つ置けば動かせるので扱いが簡単です。
- 量子化に対応:重みを少ないビット数で保存する形式が用意されており、同じモデルでも「Q4_K_M」「Q8_0」のように、軽さと品質の異なる版が作られます。
- CPU でも動かせる:GPU がない PC でも、時間はかかりますが動かせます。GPU とメモリの両方を併用して、載り切らない分を CPU 側で処理することもできます。
具体例
Hugging Face などの配布サイトで、気になるオープンウェイトモデルの名前に「GGUF」を付けて検索すると、有志や公式が変換した版が見つかります。自分の PC のメモリに収まる大きさ(ファイルサイズが目安になります)を選んでダウンロードし、llama.cpp や Ollama、LM Studio などのツールで開くだけで、チャットができます。
選び方・注意点
- ファイルサイズより少し余裕のあるメモリが必要です。文脈が長くなるほど、追加のメモリが要ります。
- 数字が小さい版ほど軽い一方、品質は下がります。まず中程度の版から試すのが無難です。
- 配布元を確認してください。誰でも変換して公開できるため、信頼できる提供元か、元のモデルのライセンスを守っているかを見ましょう。ライセンス条件は変換後も元のモデルに従います。
- 新しいモデルは、ソフトの対応が遅れると読み込めないことがあります。ソフト側を更新してみてください。
- 画像も扱えるモデルでは、画像用の部分が別ファイルになっていることがあります。
関連する考え方
GGUF は主にローカル実行向けの形式で、サーバーで大量のリクエストをさばく場面では別の形式が使われることが多いです。ファイルの軽さを生み出す技術は量子化、実際に動かすソフトは推論サーバーやローカル LLM のツール群に当たります。
あわせて知りたい言葉
- 量子化モデルの重みを、16ビットなどから8ビット・4ビットといった少ないビット数で表すことで、モデルのサイズと必要なメモリを減らす手法です。手元の PC でモデルを動かすときによく使われます。
- ローカルLLMクラウドの API を使わず、自分の PC やサーバーで LLM を動かすことです。データを外部に送らずに済み、利用量に応じた API 料金もかかりません。ただし動かせるのは、手元の機材に収まる大きさのモデルが中心です。
- オープンウェイト学習済みモデルの重み(パラメータ)が公開され、ダウンロードして自分の環境で動かせるモデルのことです。データを外部に出さずに使える、自由に追加学習できるといった利点があります。
- 推論サーバー学習済みのモデルを読み込み、API として外部からの質問に答えられるようにするソフトウェアです。vLLM が代表例で、多数のリクエストを効率よく同時にさばく工夫が詰まっています。
- トークナイザー文章を、モデルが扱う最小単位であるトークンに分割し、番号に変換する部品です。モデルごとに分け方が違うため、同じ日本語でもトークン数や料金が変わることがあります。