OPTIC:Gemma 4 層別埋め込みの極限圧縮(層間潜在ベクトル量子化による層別埋め込みの極限圧縮)

Gemma 4 E2B / E4B では、各単語に対して各層ごとに個別の「層別埋め込み」(PLE)が割り当てられており、E4B ではパラメータの 35.2% を占め、BF16 で 5.64 GB を消費します。OPTIC では、各単語に対してすべての層で共有される1組の量子化コードのみを保存し、各層では小さなアフィンデコーダを用いて復元します。コードブックとデコーダは、保存されたベクトルそのものではなく、PLE出力投影部における誤差に基づいてフィッティングされます。

Gemma 4 E2B / E4B では、各単語に対して各層ごとに個別の「層別埋め込み」(PLE)が割り当てられており、E4B ではパラメータの 35.2% を占め、BF16 で 5.64 GB を消費します。OPTIC では、各単語に対してすべての層で共有される1組の量子化コードのみを保存し、各層では小さなアフィンデコーダを用いて復元します。コードブックとデコーダは、保存されたベクトルそのものではなく、PLE出力投影部における誤差に基づいてフィッティングされます。

いいね 14 · コードスター数 5

理由

  • 著者によると、約 100 倍の圧縮率で、BF16 の E4B は 7 個のベンチマークにおいて 97.8% の性能を維持しており、6種類の従来手法の中で最も強力な積層量子化では 66.3% の維持にとどまります。公式の W4A16(4 ビット重み)バージョンでも同様の圧縮で 96.9% の性能を維持します。
  • より極端な圧縮率でも数値が示されています:594 倍で 90.5%、1002 倍で 84.1% を維持し、1002 倍時には E4B の PLE は 5.6 MB のみとなります(著者報告)。
  • メモリを節約しつつ、速度低下はほぼありません:README によると、RTX 4090 1枚、固定 1 GiB KV キャッシュの環境で、BF16 重みのメモリ使用量は 29.7% 減少、W4A16 では 43.1% 減少し、所要時間は最大 0.40% / 0.69% 増加します。vLLM で報告されたモデルメモリは 15.3 GiB から約 10 GiB に減少します。
  • エッジデバイスへの展開に直接関連:Gemma 4 の E シリーズはもともと小容量メモリデバイス向けであり、埋め込みテーブルはその中で最も場所を取り、かつ通常の量子化で圧縮するのが最も難しい部分です。

使い方

  • コード:github.com/VILA-Lab/optic(Apache-2.0);圧縮成果物:Hugging Face zcahjl3/gemma-4-E4B-it-OPTIC-100x(apache-2.0、単一の compressed_ple.npz)。初回実行時に、指定バージョンの Gemma 4 E4B 元モデルとともに自動的にダウンロードされます。
  • Python 3.12 と CUDA グラフィックカードが必要です。README によると、24 GiB のメモリで BF16 E4B の短い生成を実行できます:pip install -r requirements-inference.txt && pip install -e . の後、python examples/generate.py --prompt "…" を実行し、--image を追加すると画像とテキストの質問応答が可能になります。
  • vLLM(ドキュメントでは 0.19.1 が必要):PLE_OPTIC_ARTIFACT をダウンロードした npz ファイルに指定し、通常通り vllm serve google/gemma-4-E4B-it を実行します。リポジトリでインストールされたプラグインが読み込み時に密な PLE テーブルを置き換えます。既に読み込まれたモデルでも install_compact_ple(model, artifact) を使用して統合できます。
  • 論文の再現:ple-eval evaluate --gpus 0 --run-id optic-e4b で 7 個のベンチマークを実行します。独自の圧縮バージョンのフィッティングについては docs/fitting.md を参照してください。

リスク

  • 層別埋め込みを備えた Gemma 4 E2B / E4B などのモデルのみを対象としており、その他の重みは圧縮されません。公開されているのは E4B BF16 の 100 倍圧縮成果物のみであり、E2B やより高い圧縮率については自分でフィッティングする必要があります。
  • vLLM 環境下では、圧縮 PLE はテンソル並列 1 のみサポートされています。メモリと速度の数値は RTX 4090 1枚でのみ測定されており、すべて著者による報告です。

編集注:「100 倍」とは埋め込みテーブル自体を指しており、モデル全体ではありません。全体のメモリ節約は約3割です。

開く · コード · Hugging Face 論文ページ

Hugging Face Daily Papers

最新の AI ニュースを見る