Quanto: Optimum向けのPyTorch量子化バックエンド
Quanto: a PyTorch quantization backend for Optimum
Quantoは、大規模言語モデル(LLM)を消費者向けデバイスにデプロイする際に重要な、モデルのメモリ使用量を削減し、int8やfloat8などの低ビット幅データ型での最適化を可能にするPyTorch量子化バックエンドである。 quantoは、Eagerモードでの全機能利用、CUDAやMPSを含むあらゆるデバイスへの対応、量子化・非量子化スタブの自動挿入、量子化演算の自動挿入、floatモデルから動的・静的量子化モデルへのシームレスなワークフロー、PyTorch互換のシリアライゼーション、CUDAデバイスでの高速行列乗算(int8-int8、fp16-int4、bf16-int8、bf16-int4)、int2、int4、int8、float8の重み、int8およびfloat8の活性化をサポートする。LLMに特化した最近の量子化手法とは異なり、quantoは線形量子化やグループ別量子化などのシンプルな量子化スキームに適応可能な量子化プリミティブを提供することを目指している。 quantoはpipパッケージとして利用可能で、Hugging Face Transformersライブラリと統合されており、`from_pretrained`メソッドに`QuantoConfig`を渡すことでモデルを量子化できる。float8精度には互換性のあるハードウェアが必要であり、MPSデバイスではエラーが発生する可能性がある。 quantoはデバイスに依存せず、CPU/GPU/MPSで動作し、`torch.compile`とも互換性がある。また、`openai/whisper-large-v3`のような音声モデルの量子化も可能である。
QuantoはHugging Face Transformersとネイティブ統合されたPyTorch量子化バックエンドであり、LLMのメモリ削減とエッジデバイスへのデプロイを容易にする点が重要。Hugging Faceエコシステムとの親和性が高く、LLMの消費者向けデプロイ需要が高まる中で、基盤ツールとしての投資価値がある。ただし、具体的な企業の資金調達や製品ローンチなどのインパクトのある事象は含まれていないため、長期的な技術トレンドとしての注目にとどまる。