0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

科学と神々株式会社アドベントカレンダー 2025

LLM量子化 Day 2: なぜ量子化が必要なのか

LLMの「重さ」を感じてみよう

「7Bモデル」「13Bモデル」「70Bモデル」——LLMを調べていると、こうした表記をよく見かけます。この「B」はBillion(10億)の略で、モデルが持つパラメータ(重み)の数を表しています。

7Bモデルとは、70億個のパラメータを持つモデルのことです。

では、これが実際にどれくらいの「重さ」になるのでしょうか?

数字で見るメモリ要件

コンピュータ上で数値を扱う際、最も一般的な形式の一つがFP16(16ビット浮動小数点数)です。これは1つの数値を2バイト(16ビット)で表現します。

ここで簡単な計算をしてみましょう。

パラメータ数: 7,000,000,000(70億)
1パラメータのサイズ: 2バイト(FP16)
必要なメモリ: 7,000,000,000 × 2 = 14,000,000,000バイト = 約14GB

つまり、7Bモデルの重みを読み込むだけで14GBのメモリが必要です。

しかし、実際にモデルを動かすには、これだけでは足りません。

推論時に必要な「その他のメモリ」

LLMを実行する際、モデルの重み以外にも様々なデータがメモリを消費します。

KVキャッシュ(Key-Value Cache)

LLMは過去の会話を「覚えて」おくために、各トークンのKeyとValueを保存します。これがKVキャッシュです。コンテキスト長(会話の長さ)に比例してメモリを消費するため、長い会話になるほどメモリ使用量が増えます。

4096トークンのコンテキストを持つ7Bモデルの場合、KVキャッシュだけで2〜4GB程度のメモリを使用することがあります。

アクティベーション(中間計算結果)

推論中、各層の出力を一時的に保存する必要があります。バッチサイズ(同時に処理するリクエスト数)が大きいほど、この領域も大きくなります。

その他のバッファ

行列演算のための一時領域、トークナイザーのバッファなど、細々としたメモリ消費があります。

現実の壁:ハードウェアの限界

これらを合計すると、7Bモデルを快適に動かすには20GB以上のメモリが必要になることも珍しくありません。

ここで現実を見てみましょう。

ハードウェア 搭載メモリ 価格帯
MacBook Air M2 8-24GB(統合メモリ) 15-30万円
RTX 4090 24GB VRAM 25-30万円
A100 40GB 40GB HBM 150万円〜
A100 80GB 80GB HBM 250万円〜

一般的なノートPCやゲーミングPCでは、7Bモデルすら満足に動かせないことがわかります。13Bや70Bモデルとなると、さらに高価な機材が必要です。

量子化が解決する問題

ここで量子化の出番です。量子化は、モデルの重みを表現するビット数を減らすことで、メモリ要件を大幅に削減します。

4ビット量子化の場合

パラメータ数: 7,000,000,000(70億)
1パラメータのサイズ: 0.5バイト(4ビット)
必要なメモリ: 7,000,000,000 × 0.5 = 3,500,000,000バイト = 約3.5GB

14GBが3.5GBに——なんと75%の削減です。

これなら、一般的なノートPCでも7Bモデルを動かせる可能性が出てきます。

量子化がもたらす3つの価値

1. メモリコストの削減

上で見たように、メモリ使用量を大幅に削減できます。これにより、高価なGPUを使わずにLLMを実行できるようになります。

2. 推論速度の向上

意外かもしれませんが、量子化されたモデルは元のモデルより速く動くことがあります。

その理由は「メモリバンド幅」にあります。現代のコンピュータでは、計算速度よりもメモリとのデータ転送がボトルネックになることが多いのです。小さいモデルはメモリから素早く読み込めるため、結果として推論速度が向上します。

また、4ビット整数演算は、一部のハードウェアでは浮動小数点演算より高速に実行できます。

3. 運用コストの削減

クラウドでLLMを運用する場合、GPUインスタンスのコストは大きな負担です。

例:AWS での月額コスト概算
- A100 80GB: 約$2.5/時間 × 720時間 = 約$1,800/月
- RTX 4090相当: 約$0.8/時間 × 720時間 = 約$576/月

量子化により小さいGPUで済むようになれば、運用コストを大幅に削減できます。

でも、品質は大丈夫?

「ビット数を減らしたら、モデルの賢さも減るんじゃないの?」

これは当然の疑問です。そして、答えは「ある程度は、はい」です。

しかし、現代の量子化技術は非常に洗練されており、適切な手法を選べば、驚くほど品質を維持できます。

Llama 2 7Bでの実測例

量子化 サイズ 品質維持率*
FP16(元) 14GB 100%
8ビット 7.5GB 99%以上
4ビット (Q4_K_M) 4.0GB 95-97%
3ビット 3.5GB 85-90%
2ビット 2.5GB 70-80%

*品質維持率はPerplexity等のベンチマークに基づく概算

4ビット量子化でも95%以上の品質を維持できます。多くのユースケースでは、この程度の品質低下は気にならないレベルです。

量子化を避けるべきケース

万能に見える量子化ですが、以下のケースでは注意が必要です。

ファインチューニング予定のモデル

量子化されたモデルをファインチューニング(追加学習)することは技術的に困難です。学習を予定している場合は、元の精度を維持しておきましょう。

数値精度が重要なタスク

複雑な数学的推論や、正確な数値計算が求められるタスクでは、量子化による精度低下が問題になることがあります。

小規模モデル

1-3B程度の小さいモデルは、そもそも量子化なしでも動かせることが多いです。量子化のメリットが薄い場合は、無理に量子化する必要はありません。

Tips: 量子化前に確認すべきこと

  1. ユースケースを明確に: 何のためにLLMを使うのか?品質要件はどの程度か?
  2. ハードウェア制約を把握: 使えるメモリはどれくらいか?
  3. ベンチマークを取る: 量子化前後で、自分のタスクでの品質を比較する
  4. 段階的に試す: まずQ8_0(8ビット)から試して、必要に応じて下げていく

次回予告

Day 3では「量子化の基本原理」について解説します。16ビットの数値を4ビットにどうやって圧縮するのか、その数学的な仕組みを、難しい数式を使わずに理解していきます。


「推測するな、計測せよ」——量子化においても、この格言は非常に重要です。自分のユースケースで実際に測定して、最適な量子化レベルを見つけてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?