Together AI a open-sourcé OSCAR cette semaine — un système de quantization de cache KV 2-bit qui rend enfin le 2-bit utilisable pour le serving long-context. L'acronyme expand à Offline Spectral Covariance-Aware Rotation, et le move technique clé c'est de dériver les matrices de rotation des statistiques d'*attention* empiriques plutôt que des distributions d'activations brutes. L'INT2 naïf et QuaRot-INT2 appliquaient des rotations Hadamard génériques qui ignoraient ce que l'attention calcule réellement ; OSCAR utilise la covariance query CQ pour le path key (parce que l'erreur d'attention-logit dépend de `tr((K − K̂)Qᵀ Q (K − K̂)ᵀ)`, pas de l'erreur de reconstruction), et la covariance value pondérée par score CS pour le path value. La rotation composite `RK = UQ · HHad · Pbr` c'est des eigenvectors query + Hadamard + bit-reversal permutation, engineered pour que l'erreur de quantization atterrisse dans des directions perceptuellement non-importantes.
Les chiffres méritent le release. Mémoire cache KV coupée d'~8×. Decode speedup 1,84-3,08× à 100K contexte pour single requests, throughput job-level jusqu'à 7,83× à batch size 32. Gap d'accuracy vs BF16 moyenné sur AIME25, GPQA-Diamond, HumanEval, LiveCodeBench et MATH500 : Qwen3-4B-Thinking −3,78 points, Qwen3-8B −1,42, Qwen3-32B **−0,02**, GLM-4.7-FP8 (358B) **+0,27**. Le pattern est le bon — le gap d'accuracy se ferme quand les modèles scalent up, ce qui est ce qu'on veut d'un quantizer production-grade. Long-context où ça matter le plus : RULER-NIAH sur Qwen3-8B à 128K contexte, OSCAR hit **45,0%** vs **0,0%** de QuaRot-INT2. Les méthodes 2-bit précédentes ne peuvent littéralement pas faire needle-in-haystack à long contexte ; OSCAR peut. Testé à 16K/32K/64K/128K avec génération jusqu'à 32K tokens. Modèles : Qwen3-4B-Thinking, Qwen3-8B, Qwen3-32B, GLM-4.7-FP8 (358B), MiniMax-M2.7.
Intégration système : OSCAR ship built dans SGLang avec full paged KV-cache et compat prefix-cache. Le layout mixed-precision garde BF16 pour le sink d'attention (premiers 64 tokens) et la fenêtre récente (derniers 256 tokens), avec INT2 pour l'historique entre les deux. Des kernels Triton fusés gèrent rotation, clipping et quantization à l'écriture ; dequantization et inverse-rotation à la lecture. La rotation value se fait absorber dans les weights de projection offline, donc il y a zéro coût runtime pour cette moitié du système. Les rotations pre-computed vivent à ModelScope RotationZoo donc la plupart des builders peuvent clone-and-serve sans rouler la pass de calibration eux-mêmes. Repository : github.com/FutureMLS-Lab/OSCAR — flag que l'article ne mentionne pas la licence explicitement, les builders devraient checker avant usage commercial.
Lundi matin : si tu serves du long-context Qwen3, GLM-4.7 ou MiniMax-M2 en production et que tu butes sur le plafond mémoire KV-cache, OSCAR est un drop-in test pour les deployments SGLang. La réduction mémoire 8× à un coût d'accuracy quasi-zéro sur les modèles 32B+ c'est les bonnes unit economics pour la cost-pressure-at-scale (la même cost pressure qui a poussé Microsoft à swapper Claude Code pour Copilot CLI plus tôt cette semaine). Limitations honnêtes : la calibration per-layer est requise (pas une rotation universelle unique), le sink buffer BF16 est load-bearing (Table 5 montre que l'accuracy dégrade fortement sans), le path kernel Triton veut dire que l'intégration vLLM et TensorRT-LLM n'est pas là encore, et l'article ne divulgue pas sous quelle licence le code ship. Pour les builders sur vLLM, c'est le primitif architectural à porter — l'idée de rotation attention-aware est reproductible depuis le paper indépendamment de l'implémentation SGLang.
