GGUFのファイルはどれを選ぶか|Macで動かすときに見るところ

ggufで検索して配布元のページを開くと、同じモデルの名前で20個近いファイルが並んでいます。容量はいちばん小さいものといちばん大きいもので5倍以上違い、どれを落とせばよいのかがその場では判断できません。ここでは名前に並ぶ記号の意味と、機械のメモリからの逆算、選び方で失敗する型を順に整理します。結論を先に書くと、見るべきは容量ではなく、1つの重みが何ビットになるかです。

この形式が1つにまとめているもの

GGUFは、量子化した重みを1つのファイルに収める形式です。日本語の解説では次のように紹介されています。

GGUF は、量子化された AI モデルの保存形式です。画像生成では、通常のモデルより容量が小さくなるものが多く、ダウンロードしやすいのが特徴です。 出典: lab.ict-yorozu.com

配布元の技術文書では、もう1つの性質が説明されています。重みだけを収める形式と違い、GGUFは重みと、決まった形の付帯情報の両方を収めます。読み込む側が別のファイルを探しに行かなくて済むため、1つのファイルを渡せば動く形になります。この形式は、llama.cppという推論の仕組みを作った開発者の手によるもので、PyTorchのような枠組みで作られたモデルを変換して使う経路が用意されています。

手元のMacで使う道具の側も、この形式を前提にしているものが多くあります。配布元の文書では、llama.cpp、LM Studio、GPT4All、Ollamaでの使い方がそれぞれ案内されています。

手元で使うときの3つのメリット

  • 1つのファイルで完結する。設定ファイルや語彙の表を別に集める工程が要らない
  • 容量が小さい。精度を落とした段を選べば、元の重みの4分の1近くまで下がる
  • 読み込みが速い。素早い読み込みと書き出しのために設計された形式であると明記されている

3つ目は、日常の使い勝手に直結します。モデルはメモリから降りる設定になっていることが多く、間を置くと読み込みが再び発生します。読み込みの速い形式であることは、その待ち時間の短さにそのまま出ます。

ファイル名に並ぶ記号の読み方

配布されているファイルの名前は、モデルの名前と量子化の種類の組み合わせで決まっています。種類の部分は、1つの重みが平均で何ビットになるかを表しています。配布元が公開している主な種類と、1つの重みあたりのビット数は次のとおりです。

種類 1つの重みあたり 特徴
Q6_K 6.5625ビット 16の塊をまとめた単位で扱う。精度の落ち幅が小さい
Q5_K 5.5ビット 8の塊をまとめた単位。1つの塊は32の重み
Q4_K 4.5ビット 8の塊をまとめた単位。容量と品質の釣り合いを取る位置
Q3_K 3.4375ビット 16の塊をまとめた単位。落ち幅が目に見え始める
Q2_K 2.625ビット 最も小さい塊単位の種類。用途を選ぶ
IQ4_XS 4.25ビット 重要度の行列を使う。同じビット数でも品質が変わる
IQ3_S 3.44ビット 重要度の行列を使う3ビット台の種類
IQ2_XXS 2.06ビット 重要度の行列を使う2ビット台の種類
IQ1_S 1.56ビット 1ビット台。極端に小さくしたい場合に限る

Iで始まる種類は、どの重みが大事かを表す行列を使って割り当てを変えています。そのため、同じビット数でもIの付かない種類と品質が違います。数字だけを横に並べて比べると、この差を見落とします。

どの段を選ぶかは、機械のメモリから逆算する

選ぶ順序を間違えると、落とし直しを何度も繰り返します。品質の高い段から選ぶのではなく、機械に載る範囲を先に決めます。

目安として、Googleが公開しているGemma 4の推論時のメモリ要件が参考になります。16ビットのまま動かす場合と、8ビット、4ビットに落とした場合で次のように変わります。

パラメータ規模 16ビット 8ビット 4ビット
12B 26.7GB 13.4GB 6.7GB
31B 69.9GB 34.9GB 17.5GB

この表には注意が添えられています。数値は静的な重みを読み込むための分だけで、文脈のために動的に増える領域は含まれていません。文脈を長く取るほど、この上に積み上がります。16GBの機械で4ビットの12Bを選んだ場合、重みの分は6.7GBで収まりますが、文脈をいっぱいに使えば余裕は残りません。

実務での順序は次のようになります。機械のメモリから、重みに使ってよい量を決める。その量に収まる段を表から選ぶ。同じビット数の候補が複数あれば、重要度の行列を使う種類を優先する。この3段で、候補は1つか2つに絞られます。

選び方で失敗する5つの型

配布元のページで迷ったときに起きやすい失敗は、次の5つに分かれます。

1つ目は、容量だけを見て選ぶことです。同じ容量でも種類が違えば品質が変わります。見るのは容量ではなく、1つの重みあたりのビット数です。

2つ目は、いちばん小さい段を選ぶことです。1ビット台や2ビット台は、極端に容量を抑えたい場合の選択肢で、日常の仕事に使うと答えの筋が通らなくなります。容量が半分になっても、確認の手間が倍になれば損をします。

3つ目は、機械のメモリぎりぎりの段を選ぶことです。重みが載っても、文脈の領域が足りずに処理が遅くなります。2GBから3GB程度は文脈と他の作業のために残しておくと、動かしながら別の仕事を続けられます。

4つ目は、道具が対応していない種類を選ぶことです。種類は増え続けているため、新しい種類は道具の側が追いついていない場合があります。落とす前に、使う予定の道具の文書で対応している種類を確かめると無駄な待ち時間が出ません。

5つ目は、複数の段を落として比べたまま消し忘れることです。3つの段を並べるだけで20GBを超えることがあります。比べる前に置き場所を1か所にまとめておくと、片付けが楽になります。

旧い名前を選んでしまう問題

一覧には、いまはあまり使われていない種類も並んだままになっています。配布元の表では、Q8_0、Q8_1、Q5_0、Q5_1、Q4_0、Q4_1が旧来の方式として区分され、現在は広く使われていないと明記されています。

これらは塊の単位が32の重みで、後から入った塊をまとめる方式より割り当てが粗くなります。名前の見た目が似ているため、Q4_0とQ4_Kを取り違える失敗が起きます。数字の後ろが0か1なら旧来の方式、Kが付いていれば塊をまとめる方式、Iが先頭に付いていれば重要度の行列を使う方式。この3つの区別だけ覚えておけば、取り違えを避けられます。

新しい種類として、4ビットの別方式や、3値で表す方式も表に載っています。用途が限られるため、日常の作業ではKが付く種類とIで始まる種類の中から選ぶ形で足ります。

探し方と、中身を確かめる方法

配布元では、この形式のファイルを持つモデルだけを絞り込む仕組みが用意されています。形式を示す札で一覧を絞ると、変換済みのモデルだけが並びます。自分の手元にある重みを変換したい場合の道具も公開されています。

落とす前に中身を確かめる手段もあります。配布元の画面には付帯情報と重みの情報を見る仕組みがあり、名前、形、精度を確認できます。名前から判断が付かないときは、この画面で精度の欄を見るのが確実です。遠くに置かれたファイルを読み取る部品も公開されていて、自分の仕組みの中で判定を組むこともできます。

ファイル名を手掛かりに探す作業そのものが、Macの側では手間になります。落としたファイルが増えると、どれがどの段なのかを名前だけで見分けるのが難しくなります。日本語を含むファイル名の扱いや、画面の表示言語の範囲は道具によって違うため、対応言語の一覧のような資料で先に確かめておくと迷いが減ります。

同じモデルの段を比べるときの進め方

どの段で足りるかは、作業の種類によって変わります。落とす前に机の上で決めきるのは難しいため、比べる手順を先に用意しておくと早く着きます。

まず、自分の仕事から代表的な依頼を5件選んで、文章として書き出します。ファイル名から中身を推測させるもの、日本語の文を要約させるもの、日本語の指示をコマンドに直させるものを混ぜておくと、段の差が出やすくなります。

次に、候補を2つに絞って落とします。4ビット台と5ビット台のように、隣り合う段を選ぶのが要点です。離れた段を比べると差が大きすぎて、どこが境目なのかが分かりません。同じ依頼を両方に投げて、答えを横に並べます。

見るのは、正しさだけではありません。返ってくるまでの時間、途中で止まらないか、同じ依頼を3回投げたときに答えが揺れないか。この3つを合わせて見ると、実務で使える段が決まります。片方で足りるなら、もう片方は消します。比べ終わったファイルを残しておくと、次に落とすときの空きを圧迫します。

置き場所を先に決める

落としたファイルは、使う道具によって置かれる場所が違います。Ollamaを使う場合、macOSでの既定は ~/.ollama/models です。起動ディスクの空きが心細い場合は、環境変数 OLLAMA_MODELS に別のディレクトリを指定して外付けのドライブへ移せます。

画面のあるアプリを使う場合は、そのアプリの設定の中で置き場所を指定します。どちらの経路でも、アプリ本体とは別にモデルのための空き容量が要るという点は変わりません。公式の説明でも、モデルの実体は数十GBから数百GBの規模になるとされています。

置き場所を2か所以上に分けると、同じファイルを二重に落とす事故が起きます。1か所に決めて、そこだけを見る運用にしておくほうが確実です。

形式が長く残るかどうか

この形式が使われ続ける見込みは、種類の増え方から読み取れます。表に載る種類は世代を重ねて増えており、重要度の行列を使う方式や、新しいビット配分の方式が後から加わっています。古い種類も残したまま新しい種類を足す形なので、いま落としたファイルが読めなくなる心配は小さいです。

一方で、選ぶべき種類は変わります。数年前に標準だった種類が、いまは旧来の方式として区分されています。長く残るのは形式のほうで、種類の選び方は定期的に見直す対象だと考えておくと、判断を間違えません。

ファイルが増えてから出てくる別の問題

段を選び終えて動き始めると、次に出てくるのはファイルを扱う手間です。落とした本体、比べるために取った別の段、変換の途中で出た中間のファイルが、同じフォルダに混ざります。

名前で見分けようとして、フォルダを開き、パスをコピーし、ターミナルに貼り、一覧を取り、その一覧を画面に貼る。この往復が1件あたり6回発生します。中身を確かめるために別の画面を開けば、さらに増えます。

この形は、片付けの手順を工夫しても変わりません。変わるのは配置のほうです。フォルダとターミナルとAIが同じ窓にある作りであれば、いま見ているフォルダがそのまま対象になり、貼り付けの工程が消えます。どの操作がこの形で成立するかはできることのページに並んでいます。他の道具がこの部分をどう扱っているかを横に並べたい場合は他のファイル管理との比較が近い資料です。費用の考え方は道具によって違うので、料金の条件とよくある質問を先に読んでおくと見積りが立てやすくなります。

よくある質問

GGUFのファイルはどの種類を選べばよいですか?

機械のメモリから逆算する順序が確実です。重みに使ってよい量を先に決め、その量に収まる段を選びます。日常の仕事で使うなら、1つの重みあたり4ビット台から5ビット台の範囲が釣り合いの取れた位置です。同じビット数の候補が複数あれば、重要度の行列を使う種類を優先してください。

Q4_0とQ4_Kは何が違いますか?

扱う塊の単位が違います。配布元の表では、数字の後ろが0か1の種類は旧来の方式として区分され、現在は広く使われていないと明記されています。Kが付く種類は塊をまとめた単位で扱い、同じ4ビット台でも割り当てが細かくなります。名前が似ているため取り違えに注意してください。

容量が小さいほうを選んで問題はありませんか?

1ビット台や2ビット台は、極端に容量を抑えたい場合の選択肢です。日常の仕事に使うと答えの筋が通らなくなり、確認の手間が増えます。容量が半分になっても確認が倍になれば損をするため、まずは4ビット台から試して、足りなければ上げる順序をおすすめします。

落としたファイルはどこに置かれますか? 移せますか?

Ollamaを使う場合、macOSでの既定は ~/.ollama/models です。環境変数 OLLAMA_MODELS に別のディレクトリを指定すれば外付けのドライブへ移せます。画面のあるアプリを使う場合は、そのアプリの設定で指定します。置き場所を2か所以上に分けると二重に落とす事故が起きるため、1か所に決めてください。

記事一覧へ戻る