OpenAIのパラメータ・ゴルフ・チャレンジに取り組んでいます(可能な限り最高のLLMを訓練し、16MBに収める必要あり)。リーダーボードでTop-3を狙います。
量子化の工夫:固定のパーセンタイルによるINT8クリッピングではなく、各重み行ごとに5つのクリップ値を探索し、復元のMSEが最も低いものを採用します。量子化時間は5倍になります(合計約0.7秒)が、BPBの改善がはっきり測定できます。
```python _GPTQ_CLIP_QS = [0.9999, 0.9995, 0.999, 0.998, 0.995]
def quantize_float_tensor(t): best_mse, best_q, best_s = float("inf"), None, None for clip_q in _GPTQ_CLIP_QS: clip = torch.quantile(t.abs(), clip_q) scale = clip / 127.0 q = (t / scale).round().clamp(-128, 127).to(torch.int8) recon = q.float() * scale mse = float((t - recon).pow(2).mean()) if mse < best_mse: best_mse, best_q, best_s = mse, q, scale return best_q, best_s ```
また、この条件では深さより幅のほうが効くことも分かりました。16Mから24Mのパラメータに増やしても、訓練ステップはわずか約3.6%減るだけです。
[リンク] [コメント]




