github.devotd.
新着推論・サービング

srkrz23/vramkit — 重みと KV キャッシュの二本立て VRAM 圧縮

srkrz23/vramkit は、無損失の重みコーデックと、K と V に異なる量子化軸を適用する KV キャッシュ圧縮を実装した Python リポジトリ。

リポジトリ情報srkrz23/vramkit ↗

Lossless-verified VRAM compression for LLM inference: a weight codec (-27% mean / -33% best vs 4-bit on real Qwen weights, beats zstd, lossless) + drop-in PyTorch KV-cache compression (int8 ~2x near-lossless, outlier-aware int4 at cos-sim 0.999). ROCm/CUDA/MPS/CPU.

スター
★ 1
フォーク
0
言語
Python
原文を見る ↗GitHub で見る ↗

srkrz23/vramkit は、LLM 推論において重みと KV キャッシュをそれぞれ圧縮してメモリ使用量を減らす Python リポジトリだ。FACTS には別途のリリースバージョンは示されていない。README は ROCm、CUDA、MPS、CPU 対応を示している。統合メモリを使うノート PC でより大きなモデルを取り扱うためのアプローチだが、実際に適用できる範囲は提示された計測と実装に限って考えるべきだ。

重みコーデックは 32 ビットのレンジコーダと 2 次元適応コンテキストモデルを使う。README によれば、Qwen2.5-0.5B の self_attn.o_proj(int4) は無損失で重みあたり 2.676 ビットを記録した。これは生の 4 ビットより 33.1% 低く、zstd-19 の 2.717 ビットよりも低い。全テンソルの平均は 2.92 ビットで、4 ビットに対して 27% 減少したと記されている。KV キャッシュはキーをチャネルごと、値をトークンごとに量子化する。README は基準 perplexity 約 18 において int8 の 2 倍圧縮と 0.1% の損失を報告する。同じメモリ条件のトークン別方式は 4.6% の損失、int4 キーは 25.6% の損失だと示している。

これらの数値はすべて著者が Apple Silicon ノート PC で計測したものであり、FACTS には独立した検証結果が示されていない。著者は、先の版ではコサイン類似度で品質を評価していたという誤りを自ら訂正したと述べている。リポジトリにはテストディレクトリも継続的インテグレーションの設定もない。したがって、ベンチマークの数値は再現と追加の検証を要する著者報告として捉えるのが妥当だ。