量子化アルゴリズム
量子化アルゴリズムとは、コンピューターにおける「量子化」(一定の間隔で区切られた数値に変換)を行うためのアルゴリズムの総称です。用途などに応じて様々な手法が考案されています。
人工知能でよく使われるやつ 編集
- PTQ (Post-Training Quantization)
学習済みモデルを後処理で量子化。追加学習不要。 モバイル推論、軽量化の第一歩
- QAT (Quantization-Aware Training)
学習中に量子化をシミュレーション。精度劣化が少ない。 高精度が必要なモデル
- GPTQ (Gradient Post-Training Quantization)
勾配情報を使って誤差を最小化するPTQ。 大規模言語モデル (LLM)
- AWQ (Activation-aware Weight Quantization)
活性値分布を考慮して重みを量子化。 LLM推論の高速化
- SmoothQuant
活性値と重みをスケーリングして外れ値を平滑化。 Transformer系モデル
- RPTQ (Round-to-Nearest PTQ)
単純な丸めだが実装容易。 組込み向け
- KV Cache Quantization
LLMのKVキャッシュを低ビット化。 長文推論の省メモリ化
- FP8 Quantization
8bit浮動小数点表現。NVIDIA Hopper世代GPUで標準化。 高性能GPUでの学習・推論
- INT4 / INT3 Quantization
超低ビット化。 メモリ削減大だが精度劣化リスクあり。 実験的、省リソース環境
- SINQ (Sinkhorn-Normalized Quantization)
行列をSinkhorn正規化しつつ量子化。 AWQより高速・高精度。 最新のLLM推論最適化
信号処理・音声圧縮でよく使われるやつ 編集
- Uniform Quantization(均一量子化)
最も基本的。入力範囲を等間隔に分割。 PCM音声や古典的デジタル通信で利用。
- Non-Uniform Quantization(非均一量子化)
人間の感覚特性に合わせて分割幅を変える。 代表例: μ-law, A-law companding(電話音声圧縮で標準化)。
- Vector Quantization (VQ)
信号をベクトル単位でクラスタリングし、代表ベクトルに置き換える。 音声符号化(CELP系コーデック)、画像圧縮(VQベースの古典方式)で利用。
- Delta Modulation (ΔM)
信号の差分を1bitで表現する方式。古典的な低帯域音声通信で利用。
- Adaptive Differential PCM (ADPCM)
差分を可変ステップで量子化。電話音声やVoIPで長く使われた。
画像圧縮でよく使われるやつ 編集
- Scalar Quantization
JPEGのDCT係数を整数に丸める処理。
- Dead-Zone Quantization
小さい値をゼロにまとめる方式。MPEGやH.264/HEVCで利用。
- Lloyd-Max Quantizer
最適な量子化境界を統計的に決定する方式。JPEG2000などで応用。
その他 編集
- Fixed-Point Quantization
浮動小数点を固定小数点に変換。組込み制御やDSPで必須。
- Logarithmic Quantization
値の対数を取ってから量子化。広いダイナミックレンジを効率的に表現。