Codebook ロスレス LLM 圧縮: インデックス化された重みをビット単位で汎用パックすることで RAM を10〜25%以上削減

Reddit r/LocalLLaMA / 2026/3/14

💬 オピニオンIdeas & Deep AnalysisTools & Practical UsageModels & Research

要点

  • LLMの層ウェイトに存在する一意な値の数を調査し、fp16は16ビットである一方、実際には約12〜13ビットの値が効果的に必要であることを発見し、再利用可能な冗長性が示唆された。
  • インデックス化された重みをコードブックのような方式でビット単位にパックすることにより、推論速度の低下を伴うものの RAM 使用量を約10〜25%削減でき、テストでは速度が概ね半分程度まで低下した。
  • この手法は P2200(5 GB)GPU や CPU を含むデバイスでテストされ、32 GB MI50 への拡張が進行中で、ロスあり/バランス型のバリアントも検討された。
  • 本研究は概念実証コードベースを含む物語として提示され、リポジトリと付随の解説を読者に確認してもらうことを促し、モデルのコンパクトさを測る新しい指標のアイデアを提起している。

それで私は自分自身に問いを投げかけました(そして私に代わってコーディングモデルにいくつかの部品を作ってもらいました).. LLM の層の値について話すとき、実際にはいくつが一意なのでしょうか?答えは私を数週間のコーディングへと導きました。( Claude、Qwen、Gemini も含めて、そうです)

fp16 は 16ビットです。私が出会った多くのモデルは、実際には約12〜13ビットの一意の値しか使用していません… しかしそれらをブロックにパックすることで、私が試したほとんどのモデルを10〜25%圧縮できます。サイズと引換えに推論速度の一部を犠牲にすることで、より小さなカードにモデルを収めることができます。(私の例のテストでは速度は概ね半分程度に低下します)

ロス/バランス版も組み込んでいますが、まだ十分にはテストしていません。テストされているのは私の小さなP2200(5G)カードとCPUで、32G MI50 へのアップデートに取り組んでいます。

また、これがモデルの「コンパクトさ」を測る良い方法になるかもしれないと考えています。

この記事は旅の過程を語る私の物語です(ペイウォールは解除済み)、現在の概念実証コードはこちらです: https://github.com/bigattichouse/Codebook-Quantization

投稿者 /u/bigattichouse
[リンク] [コメント]