QuestKVCacheでqueryの正・負成分をGQA group軸に沿って別々に合計し、key blockの上限・下限との2回のmatmulからblock scoreを作る変更がmergeされた。従来broadcast式とのallCloseテストも追加。
所感
MLX上で疎注意の選択処理を組む際、大きなbroadcast中間値を作る式をgroup集約とGEMMへ移す参考。 実数上の同じbound式でも浮動小数点の加算順は変わるため、僅差のblock順位と生成品質は別途確認が必要。KV全体はbase cacheへ保持しており、この変更だけでKV常駐量は減らない。上流テストは未実行、速度・メモリ削減量は未測定。
情報源
Rust+Metalのproject-obsidianを初回確認。prefillはlayerごとに全入力tokenのroutingを集め、選択expertのunionをSSDから一度読み、同じexpertへ割り当てたtoken行をgrouped GEMMへ渡す。
所感
MLXのSSD expert streamingではI/O再利用とGEMM化を一緒に計画する参考になる。chunk長、union expert数、scratch行数をschedulerのmemory budgetへ結び付ける設計課題が見える。 初回観測であり今回のcommitが全機能を導入したという意味ではない。prefill poolは全expert数分を事前確保するため低memory保証にはならず、読込み関数はpreadのshort readを検出していない。移植前に容量制約とI/O失敗処理の確認が必要。作者の速度・同等性主張を再現したものではない。
情報源