# 研究ノート — 次の一手 ## 現在の主力レシピ ``` W ≈ A·B (ランク32〜64, 4bit) + PVQ(残差, k=8, コード16, グループ128) → 0.78〜0.94 bit/重み、出力誤差 0.41〜0.47 ``` ## 次にやる候補(優先順) ### 1. 実活性化の取得 【全ての前提】 モデルを実際に走らせ、対象層の入力を採る。これが無いと GPTQ・重要度ハイブリッド・ビット配分の判断が全部空振りする。 既存 `LocalAI/ollama-models` の ollama 経由か、GGUFを自前で回すか。 ### 2. 低ランク部にも回転を効かせる 低ランク因子 A,B は RTN 4bit で量子化している。実験06より **尖りの大きい行列にはスカラー4bitで回転が破格に効く(0.157→0.116)**。 A,B に回転を入れれば、いまの主力レシピがそのまま伸びる可能性が高い。安い。 ### 3. 層ごとのビット配分最適化 層によって感度が違う。全層一律ではなく、感度の低い層を薄く削り 平均を1bit未満に保ったまま全体品質を上げる。感度は測れば分かる。 ### 4. モデル全体を通した評価(perplexity) 1層の誤差0.4が、モデル全体でどれだけの劣化になるのか誰も知らない。 ここを測らないと「実用かどうか」を語れない。 ### 5. 復元せずに計算する(真の高速化) いまは「復元してから普通に掛け算」=軽いだけで速くない。 コード番号のままテーブル引きで内積を出せれば速度も取れる。難関。 ## 応用先(重み以外への転用) 同じ理屈は重み以外にも効く。特に: - **KVキャッシュ**: 会話が長いほど膨らみ、体感速度の主犯。その場で作られるので 辞書設計の自由度が重みより大きい可能性。**次の目玉候補**。 - 埋め込みベクトル(RAGのインデックス) - モデル間の差分(LoRA配布の圧縮) ## 罠のメモ - 条件つきエントロピーはサンプル不足で必ず過小評価される。必ずホールドアウトで検証。 - 低ランクのビット費用は `r*(out+in)*bits/(out*in)`。因子は2つ要る。 - 回転は外れ値対策であって万能ではない。ベクトル量子化には効かない。 - 較正データで評価しない。自己採点になる。