はじめに
LLMって、どれも同じようなもんやろ?
そう思っているあなた、甘いです。
白に200色あるように、Hugging Faceを見渡せば200種類以上のLLMが存在します。
Qwen3.8-27B-TurboFCFusion-735-882-Here-Uncen-NEO-CODER-MAX-IQ2_M.gguf
こんな呪文のようなファイルを見かけたことはありませんか?
一見するとただの記号の羅列ですが、この表記の中に「モデルの血統」「規模」「調整方法」「精度」「ファイル形式」などの情報がぎっしり詰まっています。
この記事では、LLMの表記に含まれる各要素の意味を紐解いていきます。
ファイル表記の解剖図
モデルファミリー
Qwen はモデルファミリー(ベースとなるシリーズ名)を表しています。
開発企業やオープンソースプロジェクトごとに固有の名前(Llama, Mistral, Gemmaなど)が付けられています。
世代・バージョン
3 / 3.5 / 3.8 / v0.1 はモデルの世代やバージョンを表しています。
数字が大きいほど、アップデートが進んだ新しいモデルであることを示します。
パラメータ規模
7B / 27B / 70B はモデルのパラメータ規模を表しています。
Bは「Billion(10億)」の略で、27Bなら「約270億パラメータ」の規模であることを意味します。
MoE(Mixture of Experts)構造
8x7B は「Expertの数 × 各Expertの規模」を表しています。
複数の専門家(Expert)モデルを組み合わせるMoE構造を採用しており、総パラメータ数に対して推論時の計算量を抑えられる特徴があります。
モデルの調整傾向・用途
Base
Base は事前学習(Pre-training)直後の素のベースモデルを表しています。
特定のタスク用に調整されていないため、プロンプトの続きを補完する動作に特化しています。
Instruct / Chat
Instruct や Chat は指示チューニング(Instruction Tuning)や会話向け調整が施されたモデルを表しています。
ユーザーの命令に従ったり対話形式で返答したりすることができます。
Coder
Coder はプログラミングコードの生成や補完、解説に特化して微調整されたモデルを表しています。
Vision / VL / mmproj
Vision や VL(Vision-Language)は画像理解やマルチモーダル対応を表しています。
mmproj はテキストモデルと画像モデルを繋ぐ「Multimodal Projector」用の別ファイルを指すことがあります。
Reasoning
Reasoning は数学や論理パズル、複雑な問題解決などの推論能力を重点的に強化・調整されたモデルを表しています。
Uncen / Uncensored
Uncen や Uncensored は、安全フィルターやアライメント(拒否反応)を意図的に緩和・解除したモデルを表しています。
過度な自己規制による無応答を減らし、指示に忠実に従わせる目的でコミュニティで作成されます。
Merge / Fusion / FC
Merge や Fusion は、複数の異なるモデルや微調整重みを合成(マージ)したモデルを表しています。
FC は Function Calling(外部ツールや関数の呼び出し能力)の強化を指すことがあります。
Turbo / MAX / NEO
Turbo(高速化・効率化)、MAX(最高性能・機能拡張版)、NEO(新構造・派生版)などは、ベースモデルからのチューニンググレードやバリエーションを表しています。
調整・ファインチューニング手法
SFT
SFT(Supervised Fine-Tuning)は正解データセットを用いた教師あり微調整を表しています。
DPO
DPO(Direct Preference Optimization)は人間の好みに合わせた出力を学習させる選好最適化手法の一種を表しています。
RLHF / GRPO
RLHF(Reinforcement Learning from Human Feedback)や GRPO(Group Relative Policy Optimization)は強化学習を用いてモデルの出力品質や安全性を向上させる調整手法を表しています。
LoRA
LoRA(Low-Rank Adaptation)は元の重みを固定したまま軽量な追加パラメータのみを学習させる手法、あるいはその差分重みファイルを指します。
データ精度・浮動小数点表記
FP32
FP32(32-bit Floating Point)は一般的な単精度浮動小数点を表しています。
精度は最高ですが、メモリ消費量が非常に大きくなります。
FP16 / BF16
FP16 や BF16(Brain Floating Point 16)は16-bitの半精度浮動小数点を表しています。
現在のLLM学習や標準的な推論で最も広く使われている精度です。
FP8
FP8(8-bit Floating Point)は8-bit浮動小数点を表しています。
精度低下を最小限に抑えつつメモリ消費を半減させる最新の軽量化表現です。
軽量化・量子化表記
Q4 / Q5
Q4 や Q5 はそれぞれ4-bit系、5-bit系の整数量子化(Quantization)を表しています。
ビット数が小さいほど軽量・高速になりますが、精度が若干低下します。
Q4_K_M / Q5_K_M
Q4_K_M や Q5_K_M は「K-quants」と呼ばれる重要度に応じた量子化方式のバリエーションを表しています(_MはMediumサイズバランス型)。
IQ2_S
IQ2_S は「I-Quants(Importance Matrix Quantization)」と呼ばれる重要度行列を用いた高精度な量子化方式表記で、2-bit相当の極小サイズ(_SはSmall)を表しています。
_S / _M / _L (量子化サブバリエーション)
Q4_K_M や IQ2_S などの末尾についている _S(Small)、_M(Medium)、_L(Large)は、同じビット数の中でも重要部分の保持量やサイズバランスの階級を表しています。
ファイル形式・分割構造
GGUF
GGUF はllama.cppなどで利用される、CPU環境やローカル環境での推論に最適化された単一ファイル形式を表しています。
safetensors
safetensors はHugging Face標準の安全で高速なモデル重み保存形式を表しています。
従来(PyTorchの .bin など)のように不審なコードが実行されるリスクを防ぎます。
00001-of-00004
00001-of-00004 は大容量なモデル重みファイルが複数に分割されている際(この例では全4ファイル中1つ目)のインデックスを表しています。
vocab
vocab はトークナイザーが扱う単語辞書(Vocabulary)に関連するファイルや設定を表しています。
アーキテクチャ・拡張機能
mtp
mtp(Multi-Token Prediction)は一度の推論ステップで複数のトークンを予測する特殊なアーキテクチャや生成効率化技術を表しています。
主要な量子化(Quantization)方式・用語集
モデルを軽量化して一般的なグラフィックボードやMacBookで動かすために、さまざまな「量子化方式」が開発されています。モデル名に含まれる主要な量子化用語を整理しておきましょう。
| 用語 | 概要 | 特徴 |
|---|---|---|
| GPTQ | Generalized Post-Training Quantization | GPU推論に最適化された代表的な量子化方式。主にvLLMやAutoGPTQで利用される。 |
| AWQ | Activation-aware Weight Quantization | アクティベーション(特定の重要なパラメータ)を保護しながら量子化する方式。精度劣化が少ない。 |
| EXL2 | ExLlamaV2 Quantization | ExLlamaV2ライブラリ向けの量子化方式。任意精度(例: 3.5bit等)に細かく設定でき、非常に高速。 |
| GGUF (K-quants / I-quants) | GPT-Generated Unified Format | llama.cpp発の規格。層ごとにビット数を変えるK-quantsや、重要度行列を使うI-quantsで高画質・高精度な量子化を実現。 |
| Unsloth / BitsAndBytes | NF4 / INT8 Quantization | 学習時やファインチューニング時にVRAM消費を格段に抑えるための量子化技術(例: QLoRA等)。 |
おわりに
LLMって200種類あんねん
そう言いたくなるほど、現在のLLMエコシステムは細分化され、用途や実行環境に応じた多様なモデルが日々生み出されています。
一見難解に見えるモデル名やファイル名ですが、構成要素を1つずつ紐解いていけば、そのモデルが「どんな目的で」「どのくらい軽量化されていて」「どのようなファイル形式なのか」を正確に読み取ることができます。
Hugging FaceやGitHubで呪文のようなモデル名に出会ったときは、ぜひこの記事を思い出して解読してみてください。