[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"kb-article-turboquant-comment-google-compresse-le-kv-cache-et-reinvente-l-inference-llm-fr":3,"ArticleBody_CqDZp10feShcOj5ELQ4m4x9S5imie7096k5Acsm98":115},{"article":4,"relatedArticles":86,"locale":56},{"id":5,"title":6,"slug":7,"content":8,"htmlContent":9,"excerpt":10,"category":11,"tags":12,"metaDescription":10,"wordCount":13,"readingTime":14,"publishedAt":15,"sources":16,"sourceCoverage":50,"transparency":52,"seo":55,"language":56,"featuredImage":57,"featuredImageCredit":58,"isFreeGeneration":62,"niche":63,"geoTakeaways":66,"geoFaq":75,"entities":85},"69cd1760ed904dc68ee9c869","TurboQuant : comment Google compresse le KV cache et réinvente l’inférence LLM","turboquant-comment-google-compresse-le-kv-cache-et-reinvente-l-inference-llm","L’inférence des grands modèles est aujourd’hui surtout limitée par la mémoire : le KV cache peut prendre des dizaines de Go par requête dès qu’on dépasse les millions de tokens.[6][7] Cela réduit le nombre d’utilisateurs par GPU et bloque l’augmentation des tailles de modèles ou de contexte.\n\nAvec TurboQuant, Google annonce jusqu’à 85 % de réduction de l’empreinte mémoire du KV cache (≈6× moins de mémoire), tout en conservant la précision de Gemma et Mistral sur des benchmarks de contexte long.[1][3][7] Sur GPU H100, certains calculs de logits d’attention sont jusqu’à 8× plus rapides.[3][5]\n\n💡 À retenir  \nTurboQuant déplace l’avantage vers l’algorithme : 6× moins de RAM KV, jusqu’à 8× de speedup, zéro réentraînement, sans perte mesurable de précision.[2][3][5]\n\n---\n\n## 1. Pourquoi TurboQuant est un tournant pour l’inférence LLM\n\n- Chaque nouveau token s’appuie sur le KV cache, qui stocke clés et valeurs de toutes les positions précédentes.[6]  \n- Quand le contexte passe de 8k à 1M+ tokens, ce cache devient la principale consommation de RAM GPU, parfois plus que les poids du modèle.[6][7]\n\n📊 Chiffres clés  \n- Jusqu’à 85 % de réduction du KV cache (≈6× moins de mémoire).[1][3]  \n- Compression jusqu’à 3 bits par valeur sans perte mesurable sur LongBench, RULER, L‑Eval.[3][7]  \n- Speedup jusqu’à 8× sur les logits d’attention en 4 bits sur H100.[3][7]\n\nImpact typique en production :  \n- KV cache pouvant représenter >70 % de la mémoire, forçant à limiter le contexte (ex. 64k tokens) pour tenir la charge.[6]  \n- Une compression ×6 permet de multiplier les utilisateurs simultanés ou d’augmenter fortement la fenêtre de contexte sans ajouter de GPU.[3][7]\n\nLimites des approches classiques :  \n- La quantification standard ajoute 1–2 bits de métadonnées par valeur (constantes de quantification), ce qui réduit fortement les gains.[6][8]\n\nTurboQuant contourne ces limites :  \n- Pas de fine‑tuning ni de réentraînement requis.[1][2][3]  \n- Agit comme une couche de quantification théoriquement fondée, insérée à l’inférence.[1][2]  \n- Sorties quasi identiques au modèle pleine précision sur benchmarks publics.[1][3][7]  \n- Intégration facilitée : aucun coût côté entraînement, adoption plus rapide en production.[7][8]\n\nEffet marché :  \n- Baisse des actions de fabricants de mémoire, les marchés anticipant un besoin moindre en HBM pour le même trafic LLM.[6][7]  \n- L’optimisation logicielle redevient un levier majeur face à la course au hardware.\n\n---\n\n## 2. Sous le capot : PolarQuant, QJL et la compression extrême du KV cache\n\nTurboQuant est une famille de méthodes de quantification vectorielle pour compresser KV cache et vecteurs de recherche sémantique.[1][3][8] Deux briques centrales : PolarQuant (compression principale) et QJL (correction d’erreur).\n\n\u003Cdiv class=\"mermaid-diagram not-prose my-6\" role=\"img\" aria-label=\"Diagram\">\n\u003Csvg id=\"diagram-1775215274578\" width=\"100%\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" class=\"flowchart\" style=\"max-width: 1503.53125px;\" viewBox=\"0 0 1503.53125 119\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\">\u003Cstyle>#diagram-1775215274578{font-family:system-ui,-apple-system,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1775215274578 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1775215274578 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1775215274578 .error-icon{fill:#552222;}#diagram-1775215274578 .error-text{fill:#552222;stroke:#552222;}#diagram-1775215274578 .edge-thickness-normal{stroke-width:1px;}#diagram-1775215274578 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1775215274578 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1775215274578 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1775215274578 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1775215274578 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1775215274578 .marker{fill:#333333;stroke:#333333;}#diagram-1775215274578 .marker.cross{stroke:#333333;}#diagram-1775215274578 svg{font-family:system-ui,-apple-system,sans-serif;font-size:16px;}#diagram-1775215274578 p{margin:0;}#diagram-1775215274578 .label{font-family:system-ui,-apple-system,sans-serif;color:#333;}#diagram-1775215274578 .cluster-label text{fill:#333;}#diagram-1775215274578 .cluster-label span{color:#333;}#diagram-1775215274578 .cluster-label span p{background-color:transparent;}#diagram-1775215274578 .label text,#diagram-1775215274578 span{fill:#333;color:#333;}#diagram-1775215274578 .node rect,#diagram-1775215274578 .node circle,#diagram-1775215274578 .node ellipse,#diagram-1775215274578 .node polygon,#diagram-1775215274578 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-1775215274578 .rough-node .label text,#diagram-1775215274578 .node .label text,#diagram-1775215274578 .image-shape .label,#diagram-1775215274578 .icon-shape .label{text-anchor:middle;}#diagram-1775215274578 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1775215274578 .rough-node .label,#diagram-1775215274578 .node .label,#diagram-1775215274578 .image-shape .label,#diagram-1775215274578 .icon-shape .label{text-align:center;}#diagram-1775215274578 .node.clickable{cursor:pointer;}#diagram-1775215274578 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-1775215274578 .arrowheadPath{fill:#333333;}#diagram-1775215274578 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-1775215274578 .flowchart-link{stroke:#333333;fill:none;}#diagram-1775215274578 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1775215274578 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-1775215274578 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1775215274578 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-1775215274578 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-1775215274578 .cluster text{fill:#333;}#diagram-1775215274578 .cluster span{color:#333;}#diagram-1775215274578 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:system-ui,-apple-system,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-1775215274578 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-1775215274578 rect.text{fill:none;stroke-width:0;}#diagram-1775215274578 .icon-shape,#diagram-1775215274578 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1775215274578 .icon-shape p,#diagram-1775215274578 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-1775215274578 .icon-shape .label rect,#diagram-1775215274578 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1775215274578 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1775215274578 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1775215274578 .node .neo-node{stroke:#9370DB;}#diagram-1775215274578 [data-look=\"neo\"].node rect,#diagram-1775215274578 [data-look=\"neo\"].cluster rect,#diagram-1775215274578 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-1775215274578 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-1775215274578 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1775215274578 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 :root{--mermaid-font-family:system-ui,-apple-system,sans-serif;}\u003C\u002Fstyle>\u003Cg>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpolygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fpolygon>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cg class=\"root\">\u003Cg class=\"clusters\">\u003C\u002Fg>\u003Cg class=\"edgePaths\">\u003Cpath d=\"M156.609,47L160.776,47C164.943,47,173.276,47,180.943,47C188.609,47,195.609,47,199.109,47L202.609,47\" id=\"diagram-1775215274578-L_A_B_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTU2LjYwOTM3NSwieSI6NDd9LHsieCI6MTgxLjYwOTM3NSwieSI6NDd9LHsieCI6MjA2LjYwOTM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M420.734,47L424.901,47C429.068,47,437.401,47,445.068,47C452.734,47,459.734,47,463.234,47L466.734,47\" id=\"diagram-1775215274578-L_B_C_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NDIwLjczNDM3NSwieSI6NDd9LHsieCI6NDQ1LjczNDM3NSwieSI6NDd9LHsieCI6NDcwLjczNDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M730.734,47L734.901,47C739.068,47,747.401,47,755.068,47C762.734,47,769.734,47,773.234,47L776.734,47\" id=\"diagram-1775215274578-L_C_D_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NzMwLjczNDM3NSwieSI6NDd9LHsieCI6NzU1LjczNDM3NSwieSI6NDd9LHsieCI6NzgwLjczNDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M965.344,47L969.51,47C973.677,47,982.01,47,989.677,47C997.344,47,1004.344,47,1007.844,47L1011.344,47\" id=\"diagram-1775215274578-L_D_E_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6OTY1LjM0Mzc1LCJ5Ijo0N30seyJ4Ijo5OTAuMzQzNzUsInkiOjQ3fSx7IngiOjEwMTUuMzQzNzUsInkiOjQ3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M1220.844,47L1225.01,47C1229.177,47,1237.51,47,1245.177,47C1252.844,47,1259.844,47,1263.344,47L1266.844,47\" id=\"diagram-1775215274578-L_E_F_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_F_0\" data-points=\"W3sieCI6MTIyMC44NDM3NSwieSI6NDd9LHsieCI6MTI0NS44NDM3NSwieSI6NDd9LHsieCI6MTI3MC44NDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003C\u002Fg>\u003Cg class=\"edgeLabels\">\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_E_F_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"nodes\">\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-A-0\" data-look=\"classic\" transform=\"translate(82.3046875, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-74.3046875\" y=\"-27\" width=\"148.609375\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-44.3046875, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"88.609375\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Vecteurs KV\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-B-1\" data-look=\"classic\" transform=\"translate(313.671875, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-107.0625\" y=\"-27\" width=\"214.125\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-77.0625, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"154.125\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Rotation PolarQuant\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-C-3\" data-look=\"classic\" transform=\"translate(600.734375, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-130\" y=\"-39\" width=\"260\" height=\"78\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-100, -24)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"200\" height=\"48\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Quantification haute qualité\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-D-5\" data-look=\"classic\" transform=\"translate(873.0390625, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-92.3046875\" y=\"-27\" width=\"184.609375\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-62.3046875, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"124.609375\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Erreur résiduelle\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1118.09375, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-102.75\" y=\"-27\" width=\"205.5\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-72.75, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"145.5\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Correction QJL 1 bit\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-F-9\" data-look=\"classic\" transform=\"translate(1383.1875, 47)\">\u003Crect class=\"basic label-container\" style=\"fill:#22c55e !important\" x=\"-112.34375\" y=\"-27\" width=\"224.6875\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"color:#fff !important\" transform=\"translate(-82.34375, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"164.6875\" height=\"24\">\u003Cdiv style=\"color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\">\u003Cspan style=\"color:#fff !important\" class=\"nodeLabel \">\u003Cp>KV compressé 3-4 bits\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cdefs>\u003Cfilter id=\"diagram-1775215274578-drop-shadow\" height=\"130%\" width=\"130%\">\u003CfeDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002FfeDropShadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Cdefs>\u003Cfilter id=\"diagram-1775215274578-drop-shadow-small\" height=\"150%\" width=\"150%\">\u003CfeDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002FfeDropShadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Ctext x=\"1498.53125\" y=\"114\" text-anchor=\"end\" fill=\"#6b7280\" stroke=\"#ffffff\" stroke-width=\"3\" paint-order=\"stroke\" font-size=\"11\" font-family=\"system-ui, sans-serif\" opacity=\"0.7\">coreprose.com\u003C\u002Ftext>\u003C\u002Fsvg>\n\u003C\u002Fdiv>\n\n### PolarQuant : des « boîtes » standard sans surcoût\n\n- Applique une rotation aléatoire aux vecteurs mémoire pour homogénéiser statistiquement chaque sous‑bloc.[1][3]  \n- Permet d’utiliser un quantificateur standard haute qualité indépendamment sur chaque partie du vecteur.[1][7]  \n- La majorité des bits encode norme et direction principales.\n\nIdée clé :  \n- Transformer les vecteurs pour qu’ils rentrent dans des « boîtes » de taille identique.  \n- Supprime le besoin de stocker des constantes de quantification par bloc.[5][6]  \n- L’information de normalisation est portée par la transformation elle‑même, ce qui donne une compression réelle du KV cache.[6][8]\n\n💡 À retenir  \nPolarQuant remplace une multitude de petites métadonnées coûteuses par une transformation globale peu chère en calcul et neutre en précision.[1][6][8]\n\n### QJL : corriger l’erreur résiduelle avec 1 bit\n\n- Après la compression principale, il reste une petite erreur de quantification.  \n- QJL (Quantized Johnson–Lindenstrauss) utilise 1 bit résiduel par composante pour corriger cette erreur et supprimer les biais, en préservant les distances utiles aux scores d’attention.[1][3]\n\nMécanisme :  \n- Projette l’erreur dans un espace réduit, puis ne garde que le signe de la projection (+1\u002F−1), soit 1 bit sans surcoût mémoire significatif.[1]  \n- Un estimateur spécial combine une requête haute précision avec ces données compressées pour calculer des scores d’attention fidèles, même à 3 bits par valeur.[1][3]\n\n⚡ Effet combiné  \n- PolarQuant + QJL atteignent 3–4 bits par valeur avec des performances proches du 16–32 bits sur Gemma, Mistral, Llama‑3.1‑8B.[3][7][8]  \n- TurboQuant est open source et sera présenté à l’ICLR 2026, ce qui renforce sa crédibilité académique et sa probable standardisation dans l’écosystème LLM.[1][2][8]\n\n---\n\n## 3. Impacts business et usages concrets\n\nRéduire par six la mémoire KV et accélérer certains calculs par huit change directement :  \n- Latence (réponse plus rapide à contexte long).[2][3][5]  \n- Capacité (plus d’utilisateurs, modèles plus grands sur le même hardware).[3][7]\n\nConséquences :  \n- Fenêtres de contexte beaucoup plus longues tout en restant interactives.[2][3]  \n- Agents capables de suivre des historiques de centaines de milliers de tokens sans découpage agressif.[3][7]\n\n💼 Cas d’usage prioritaires  \n- RAG à grande échelle : index vectoriels plus denses, contextes agrégés plus longs.[1][7][8]  \n- Assistants internes multi‑documents (ERP, CRM, code) conservant des mois d’historique.[3][7]  \n- Services temps réel (support, copilots développeur) où coût par requête et latence sont critiques.[4][5]\n\nSur les coûts et le déploiement :  \n- Plus d’utilisateurs servis sur la même flotte de GPU.[4][5][7]  \n- Possibilité de déployer des modèles plus grands sans changer de matériel.[4][7]  \n- Pour les local‑LLM : accès à des modèles proches de l’état de l’art sur PC ou petits serveurs.[4][5][7]\n\nPlusieurs observateurs y voient la première optimisation logicielle qui remet sérieusement en cause l’idée que seule la course au hardware permet de scaler l’inférence LLM.[6][7][8]","\u003Cp>L’inférence des grands modèles est aujourd’hui surtout limitée par la mémoire : le KV cache peut prendre des dizaines de Go par requête dès qu’on dépasse les millions de tokens.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa> Cela réduit le nombre d’utilisateurs par GPU et bloque l’augmentation des tailles de modèles ou de contexte.\u003C\u002Fp>\n\u003Cp>Avec TurboQuant, Google annonce jusqu’à 85 % de réduction de l’empreinte mémoire du KV cache (≈6× moins de mémoire), tout en conservant la précision de Gemma et Mistral sur des benchmarks de contexte long.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa> Sur GPU H100, certains calculs de logits d’attention sont jusqu’à 8× plus rapides.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>💡 À retenir\u003Cbr>\nTurboQuant déplace l’avantage vers l’algorithme : 6× moins de RAM KV, jusqu’à 8× de speedup, zéro réentraînement, sans perte mesurable de précision.\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003C\u002Fp>\n\u003Chr>\n\u003Ch2>1. Pourquoi TurboQuant est un tournant pour l’inférence LLM\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Chaque nouveau token s’appuie sur le KV cache, qui stocke clés et valeurs de toutes les positions précédentes.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Quand le contexte passe de 8k à 1M+ tokens, ce cache devient la principale consommation de RAM GPU, parfois plus que les poids du modèle.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>📊 Chiffres clés\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Jusqu’à 85 % de réduction du KV cache (≈6× moins de mémoire).\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Compression jusqu’à 3 bits par valeur sans perte mesurable sur LongBench, RULER, L‑Eval.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Speedup jusqu’à 8× sur les logits d’attention en 4 bits sur H100.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Impact typique en production :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>KV cache pouvant représenter &gt;70 % de la mémoire, forçant à limiter le contexte (ex. 64k tokens) pour tenir la charge.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Une compression ×6 permet de multiplier les utilisateurs simultanés ou d’augmenter fortement la fenêtre de contexte sans ajouter de GPU.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Limites des approches classiques :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>La quantification standard ajoute 1–2 bits de métadonnées par valeur (constantes de quantification), ce qui réduit fortement les gains.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>TurboQuant contourne ces limites :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Pas de fine‑tuning ni de réentraînement requis.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Agit comme une couche de quantification théoriquement fondée, insérée à l’inférence.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Sorties quasi identiques au modèle pleine précision sur benchmarks publics.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Intégration facilitée : aucun coût côté entraînement, adoption plus rapide en production.\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Effet marché :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Baisse des actions de fabricants de mémoire, les marchés anticipant un besoin moindre en HBM pour le même trafic LLM.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>L’optimisation logicielle redevient un levier majeur face à la course au hardware.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2>2. Sous le capot : PolarQuant, QJL et la compression extrême du KV cache\u003C\u002Fh2>\n\u003Cp>TurboQuant est une famille de méthodes de quantification vectorielle pour compresser KV cache et vecteurs de recherche sémantique.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa> Deux briques centrales : PolarQuant (compression principale) et QJL (correction d’erreur).\u003C\u002Fp>\n\u003Cdiv class=\"mermaid-diagram not-prose my-6\" role=\"img\" aria-label=\"Diagram\">\n\u003Csvg id=\"diagram-1775215274578\" width=\"100%\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" class=\"flowchart\" style=\"max-width: 1503.53125px;\" viewBox=\"0 0 1503.53125 119\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\">\u003Cstyle>#diagram-1775215274578{font-family:system-ui,-apple-system,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1775215274578 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1775215274578 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1775215274578 .error-icon{fill:#552222;}#diagram-1775215274578 .error-text{fill:#552222;stroke:#552222;}#diagram-1775215274578 .edge-thickness-normal{stroke-width:1px;}#diagram-1775215274578 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1775215274578 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1775215274578 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1775215274578 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1775215274578 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1775215274578 .marker{fill:#333333;stroke:#333333;}#diagram-1775215274578 .marker.cross{stroke:#333333;}#diagram-1775215274578 svg{font-family:system-ui,-apple-system,sans-serif;font-size:16px;}#diagram-1775215274578 p{margin:0;}#diagram-1775215274578 .label{font-family:system-ui,-apple-system,sans-serif;color:#333;}#diagram-1775215274578 .cluster-label text{fill:#333;}#diagram-1775215274578 .cluster-label span{color:#333;}#diagram-1775215274578 .cluster-label span p{background-color:transparent;}#diagram-1775215274578 .label text,#diagram-1775215274578 span{fill:#333;color:#333;}#diagram-1775215274578 .node rect,#diagram-1775215274578 .node circle,#diagram-1775215274578 .node ellipse,#diagram-1775215274578 .node polygon,#diagram-1775215274578 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-1775215274578 .rough-node .label text,#diagram-1775215274578 .node .label text,#diagram-1775215274578 .image-shape .label,#diagram-1775215274578 .icon-shape .label{text-anchor:middle;}#diagram-1775215274578 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1775215274578 .rough-node .label,#diagram-1775215274578 .node .label,#diagram-1775215274578 .image-shape .label,#diagram-1775215274578 .icon-shape .label{text-align:center;}#diagram-1775215274578 .node.clickable{cursor:pointer;}#diagram-1775215274578 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-1775215274578 .arrowheadPath{fill:#333333;}#diagram-1775215274578 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-1775215274578 .flowchart-link{stroke:#333333;fill:none;}#diagram-1775215274578 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1775215274578 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-1775215274578 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1775215274578 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-1775215274578 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-1775215274578 .cluster text{fill:#333;}#diagram-1775215274578 .cluster span{color:#333;}#diagram-1775215274578 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:system-ui,-apple-system,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-1775215274578 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-1775215274578 rect.text{fill:none;stroke-width:0;}#diagram-1775215274578 .icon-shape,#diagram-1775215274578 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1775215274578 .icon-shape p,#diagram-1775215274578 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-1775215274578 .icon-shape .label rect,#diagram-1775215274578 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1775215274578 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1775215274578 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1775215274578 .node .neo-node{stroke:#9370DB;}#diagram-1775215274578 [data-look=\"neo\"].node rect,#diagram-1775215274578 [data-look=\"neo\"].cluster rect,#diagram-1775215274578 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-1775215274578 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-1775215274578 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1775215274578 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1775215274578 :root{--mermaid-font-family:system-ui,-apple-system,sans-serif;}\u003C\u002Fstyle>\u003Cg>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpolygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fpolygon>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"diagram-1775215274578_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cg class=\"root\">\u003Cg class=\"clusters\">\u003C\u002Fg>\u003Cg class=\"edgePaths\">\u003Cpath d=\"M156.609,47L160.776,47C164.943,47,173.276,47,180.943,47C188.609,47,195.609,47,199.109,47L202.609,47\" id=\"diagram-1775215274578-L_A_B_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTU2LjYwOTM3NSwieSI6NDd9LHsieCI6MTgxLjYwOTM3NSwieSI6NDd9LHsieCI6MjA2LjYwOTM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M420.734,47L424.901,47C429.068,47,437.401,47,445.068,47C452.734,47,459.734,47,463.234,47L466.734,47\" id=\"diagram-1775215274578-L_B_C_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NDIwLjczNDM3NSwieSI6NDd9LHsieCI6NDQ1LjczNDM3NSwieSI6NDd9LHsieCI6NDcwLjczNDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M730.734,47L734.901,47C739.068,47,747.401,47,755.068,47C762.734,47,769.734,47,773.234,47L776.734,47\" id=\"diagram-1775215274578-L_C_D_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NzMwLjczNDM3NSwieSI6NDd9LHsieCI6NzU1LjczNDM3NSwieSI6NDd9LHsieCI6NzgwLjczNDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M965.344,47L969.51,47C973.677,47,982.01,47,989.677,47C997.344,47,1004.344,47,1007.844,47L1011.344,47\" id=\"diagram-1775215274578-L_D_E_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6OTY1LjM0Mzc1LCJ5Ijo0N30seyJ4Ijo5OTAuMzQzNzUsInkiOjQ3fSx7IngiOjEwMTUuMzQzNzUsInkiOjQ3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M1220.844,47L1225.01,47C1229.177,47,1237.51,47,1245.177,47C1252.844,47,1259.844,47,1263.344,47L1266.844,47\" id=\"diagram-1775215274578-L_E_F_0\" class=\" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_F_0\" data-points=\"W3sieCI6MTIyMC44NDM3NSwieSI6NDd9LHsieCI6MTI0NS44NDM3NSwieSI6NDd9LHsieCI6MTI3MC44NDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1775215274578_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003C\u002Fg>\u003Cg class=\"edgeLabels\">\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_E_F_0\" transform=\"translate(0, 0)\">\u003CforeignObject width=\"0\" height=\"0\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"edgeLabel \">\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"nodes\">\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-A-0\" data-look=\"classic\" transform=\"translate(82.3046875, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-74.3046875\" y=\"-27\" width=\"148.609375\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-44.3046875, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"88.609375\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Vecteurs KV\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-B-1\" data-look=\"classic\" transform=\"translate(313.671875, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-107.0625\" y=\"-27\" width=\"214.125\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-77.0625, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"154.125\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Rotation PolarQuant\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-C-3\" data-look=\"classic\" transform=\"translate(600.734375, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-130\" y=\"-39\" width=\"260\" height=\"78\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-100, -24)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"200\" height=\"48\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Quantification haute qualité\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-D-5\" data-look=\"classic\" transform=\"translate(873.0390625, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-92.3046875\" y=\"-27\" width=\"184.609375\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-62.3046875, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"124.609375\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Erreur résiduelle\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1118.09375, 47)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-102.75\" y=\"-27\" width=\"205.5\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(-72.75, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"145.5\" height=\"24\">\u003Cdiv xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\">\u003Cspan class=\"nodeLabel \">\u003Cp>Correction QJL 1 bit\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default  \" id=\"diagram-1775215274578-flowchart-F-9\" data-look=\"classic\" transform=\"translate(1383.1875, 47)\">\u003Crect class=\"basic label-container\" style=\"fill:#22c55e !important\" x=\"-112.34375\" y=\"-27\" width=\"224.6875\" height=\"54\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"color:#fff !important\" transform=\"translate(-82.34375, -12)\">\u003Crect>\u003C\u002Frect>\u003CforeignObject width=\"164.6875\" height=\"24\">\u003Cdiv style=\"color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\">\u003Cspan style=\"color:#fff !important\" class=\"nodeLabel \">\u003Cp>KV compressé 3-4 bits\u003C\u002Fp>\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002FforeignObject>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cdefs>\u003Cfilter id=\"diagram-1775215274578-drop-shadow\" height=\"130%\" width=\"130%\">\u003CfeDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002FfeDropShadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Cdefs>\u003Cfilter id=\"diagram-1775215274578-drop-shadow-small\" height=\"150%\" width=\"150%\">\u003CfeDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002FfeDropShadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Ctext x=\"1498.53125\" y=\"114\" text-anchor=\"end\" fill=\"#6b7280\" stroke=\"#ffffff\" stroke-width=\"3\" paint-order=\"stroke\" font-size=\"11\" font-family=\"system-ui, sans-serif\" opacity=\"0.7\">coreprose.com\u003C\u002Ftext>\u003C\u002Fsvg>\n\u003C\u002Fdiv>\n\u003Ch3>PolarQuant : des « boîtes » standard sans surcoût\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Applique une rotation aléatoire aux vecteurs mémoire pour homogénéiser statistiquement chaque sous‑bloc.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Permet d’utiliser un quantificateur standard haute qualité indépendamment sur chaque partie du vecteur.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>La majorité des bits encode norme et direction principales.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Idée clé :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Transformer les vecteurs pour qu’ils rentrent dans des « boîtes » de taille identique.\u003C\u002Fli>\n\u003Cli>Supprime le besoin de stocker des constantes de quantification par bloc.\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>L’information de normalisation est portée par la transformation elle‑même, ce qui donne une compression réelle du KV cache.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>💡 À retenir\u003Cbr>\nPolarQuant remplace une multitude de petites métadonnées coûteuses par une transformation globale peu chère en calcul et neutre en précision.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>QJL : corriger l’erreur résiduelle avec 1 bit\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Après la compression principale, il reste une petite erreur de quantification.\u003C\u002Fli>\n\u003Cli>QJL (Quantized Johnson–Lindenstrauss) utilise 1 bit résiduel par composante pour corriger cette erreur et supprimer les biais, en préservant les distances utiles aux scores d’attention.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Mécanisme :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Projette l’erreur dans un espace réduit, puis ne garde que le signe de la projection (+1\u002F−1), soit 1 bit sans surcoût mémoire significatif.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Un estimateur spécial combine une requête haute précision avec ces données compressées pour calculer des scores d’attention fidèles, même à 3 bits par valeur.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>⚡ Effet combiné\u003C\u002Fp>\n\u003Cul>\n\u003Cli>PolarQuant + QJL atteignent 3–4 bits par valeur avec des performances proches du 16–32 bits sur Gemma, Mistral, Llama‑3.1‑8B.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>TurboQuant est open source et sera présenté à l’ICLR 2026, ce qui renforce sa crédibilité académique et sa probable standardisation dans l’écosystème LLM.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2>3. Impacts business et usages concrets\u003C\u002Fh2>\n\u003Cp>Réduire par six la mémoire KV et accélérer certains calculs par huit change directement :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Latence (réponse plus rapide à contexte long).\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Capacité (plus d’utilisateurs, modèles plus grands sur le même hardware).\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Conséquences :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fenêtres de contexte beaucoup plus longues tout en restant interactives.\u003Ca href=\"#source-2\" class=\"citation-link\" title=\"View source [2]\">[2]\u003C\u002Fa>\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Agents capables de suivre des historiques de centaines de milliers de tokens sans découpage agressif.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>💼 Cas d’usage prioritaires\u003C\u002Fp>\n\u003Cul>\n\u003Cli>RAG à grande échelle : index vectoriels plus denses, contextes agrégés plus longs.\u003Ca href=\"#source-1\" class=\"citation-link\" title=\"View source [1]\">[1]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Assistants internes multi‑documents (ERP, CRM, code) conservant des mois d’historique.\u003Ca href=\"#source-3\" class=\"citation-link\" title=\"View source [3]\">[3]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Services temps réel (support, copilots développeur) où coût par requête et latence sont critiques.\u003Ca href=\"#source-4\" class=\"citation-link\" title=\"View source [4]\">[4]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Sur les coûts et le déploiement :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Plus d’utilisateurs servis sur la même flotte de GPU.\u003Ca href=\"#source-4\" class=\"citation-link\" title=\"View source [4]\">[4]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Possibilité de déployer des modèles plus grands sans changer de matériel.\u003Ca href=\"#source-4\" class=\"citation-link\" title=\"View source [4]\">[4]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Pour les local‑LLM : accès à des modèles proches de l’état de l’art sur PC ou petits serveurs.\u003Ca href=\"#source-4\" class=\"citation-link\" title=\"View source [4]\">[4]\u003C\u002Fa>\u003Ca href=\"#source-5\" class=\"citation-link\" title=\"View source [5]\">[5]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plusieurs observateurs y voient la première optimisation logicielle qui remet sérieusement en cause l’idée que seule la course au hardware permet de scaler l’inférence LLM.\u003Ca href=\"#source-6\" class=\"citation-link\" title=\"View source [6]\">[6]\u003C\u002Fa>\u003Ca href=\"#source-7\" class=\"citation-link\" title=\"View source [7]\">[7]\u003C\u002Fa>\u003Ca href=\"#source-8\" class=\"citation-link\" title=\"View source [8]\">[8]\u003C\u002Fa>\u003C\u002Fp>\n","L’inférence des grands modèles est aujourd’hui surtout limitée par la mémoire : le KV cache peut prendre des dizaines de Go par requête dès qu’on dépasse les millions de tokens.[6][7] Cela réduit le n...","trend-radar",[],907,5,"2026-04-01T13:06:27.528Z",[17,22,26,30,34,38,42,46],{"title":18,"url":19,"summary":20,"type":21},"TurboQuant: Redefining AI efficiency with extreme compression","https:\u002F\u002Fresearch.google\u002Fblog\u002Fturboquant-redefining-ai-efficiency-with-extreme-compression\u002F","TurboQuant: Redefining AI efficiency with extreme compression\n\nMarch 24, 2026\n\nAmir Zandieh, Research Scientist, and Vahab Mirrokni, VP and Google Fellow, Google Research\n\nWe introduce a set of advanc...","kb",{"title":23,"url":24,"summary":25,"type":21},"Google vient de rendre les gros LLMs accessibles à tout le monde. Gratuitement. TurboQuant : leur nouvel algo de compression qui réduit la mémoire KV cache des LLMs par 6x minimum, avec un speedup… | Lucas Gonthier","https:\u002F\u002Ffr.linkedin.com\u002Fposts\u002Flucas-gonthier-101_google-vient-de-rendre-les-gros-llms-accessibles-activity-7442511749091627009-Zrc6","Par Lucas Gonthier — 5 j.\n\nGoogle vient de rendre les gros LLMs accessibles à tout le monde. Gratuitement. TurboQuant : leur nouvel algo de compression qui réduit la mémoire KV cache des LLMs par 6x m...",{"title":27,"url":28,"summary":29,"type":21},"Google optimise le cache des LLM pour accélérer l’inférence à grande échelle","https:\u002F\u002Fwww.ictjournal.ch\u002Fnews\u002F2026-03-30\u002Fgoogle-optimise-le-cache-des-llm-pour-accelerer-linference-a-grande-echelle","Google a mis au point TurboQuant, un algorithme de compression capable de diviser par six la mémoire nécessaire aux LLM, sans perte de précision. Cette avancée pourrait accélérer l’inférence, réduire ...",{"title":31,"url":32,"summary":33,"type":21},"L'algorithme de compression TurboQuant de Google peut réduire l'utilisation de mémoire des LLM par 6 fois.","https:\u002F\u002Fwww.reddit.com\u002Fr\u002FLocalLLaMA\u002Fcomments\u002F1s57ky1\u002Fgoogles_turboquant_aicompression_algorithm_can\u002F?tl=fr","L'algorithme de compression TurboQuant de Google peut réduire l'utilisation de mémoire des LLM par 6 fois.\n\nTurboQuant rend les modèles d'IA plus efficaces mais ne diminue pas la qualité de sortie com...",{"title":35,"url":36,"summary":37,"type":21},"Google vient de rendre l'IA 8 fois plus rapide. Voici ce que ca change","https:\u002F\u002Fosmova.com\u002Fturboquant-google\u002F","Google Research a publié TurboQuant, un algorithme de compression qui rend les modèles d’IA jusqu’à 8 fois plus rapides, avec 6 fois moins de mémoire, sans perte de precision et sans réentraînement né...",{"title":39,"url":40,"summary":41,"type":21},"Compression extrême sans perte : l'algorithme de compression IA TurboQuant de Google promet de réduire d'un facteur de six l'utilisation de la mémoire LLM","https:\u002F\u002Fintelligence-artificielle.developpez.com\u002Factu\u002F381561\u002FCompression-extreme-sans-perte-l-algorithme-de-compression-IA-TurboQuant-de-Google-promet-de-reduire-d-un-facteur-de-six-l-utilisation-de-la-memoire-LLM\u002F","Un billet de recherche publié un mardi de mars 2026 a suffi à faire plonger les actions de Micron, SanDisk, SK Hynix et Samsung. L'algorithme en cause, TurboQuant, promet de diviser par six la mémoire...",{"title":43,"url":44,"summary":45,"type":21},"Google optimise la mémoire cache des LLM avec TurboQuant - Le Monde Informatique","https:\u002F\u002Fwww.lemondeinformatique.fr\u002Factualites\u002Flire-google-optimise-la-memoire-cache-des-llm-avec-turboquant-99766.html","Des chercheurs de Google ont mis au point un algorithme pour la compression de la mémoire des modèles IA. L'objectif est d'améliorer l'efficacité des LLM en réduisant le cache clé-valeur utilisé dans ...",{"title":47,"url":48,"summary":49,"type":21},"TurboQuant : la compression algorithmique qui brise le mur de la mémoire IA","https:\u002F\u002Fwww.zdnet.fr\u002Factualites\u002Fturboquant-la-compression-algorithmique-qui-brise-le-mur-de-la-memoire-ia-492542.htm","Le stockage des vecteurs est l'un des piliers de l'IA moderne. Mais il représente un coût d'infrastructure très important.\n\nPour les entreprises, la gestion du \"Key-Value Cache\" (le pense-bête numériq...",{"totalSources":51},8,{"generationDuration":53,"kbQueriesCount":51,"confidenceScore":54,"sourcesCount":51},128723,100,{"metaTitle":6,"metaDescription":10},"fr","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1678483789470-8fa5c40c4e9d?ixid=M3w4OTczNDl8MHwxfHNlYXJjaHwxfHxnb29nbGUlMjBpbnRyb2R1Y2VzJTIwdHVyYm9xdWFudCUyMGNvbXByZXNzfGVufDF8MHx8fDE3NzUwNDg1NDR8MA&ixlib=rb-4.1.0&w=1200&h=630&fit=crop&crop=entropy&auto=format,compress",{"photographerName":59,"photographerUrl":60,"unsplashUrl":61},"BoliviaInteligente","https:\u002F\u002Funsplash.com\u002F@boliviainteligente?utm_source=coreprose&utm_medium=referral","https:\u002F\u002Funsplash.com\u002Fphotos\u002Fa-google-logo-sitting-on-top-of-a-computer-keyboard-hAlQcTXj1R8?utm_source=coreprose&utm_medium=referral",true,{"key":64,"name":65,"nameEn":65},"ai-engineering","AI Engineering & LLM Ops",[67,69,71,73],{"text":68},"TurboQuant réduit l’empreinte mémoire du KV cache jusqu’à 85 %, soit environ 6× moins de RAM utilisée pour les clés\u002Fvaleurs.",{"text":70},"La précision reste inchangée sur des benchmarks de contexte long (LongBench, RULER, L‑Eval) malgré la compression.",{"text":72},"Sur GPU H100, certains calculs de logits d’attention gagnent jusqu’à 8× en vitesse, avec une compression allant jusqu’à 3 bits par valeur sans perte mesurable.",{"text":74},"Pas de réentraînement requis; l’algorithme améliore l’efficacité sans dégrader la précision globale.",[76,79,82],{"question":77,"answer":78},"Quel est l’impact mémoire exact du KV cache avec TurboQuant ?","TurboQuant diminue l’usage du KV cache de manière significative, jusqu’à 85 % de réduction, ce qui équivaut à environ 6× moins de mémoire pour le cache des clés et valeurs. Cette amélioration permet de soutenir des contextes beaucoup plus longs sans épuiser la RAM GPU. La compression est conçue pour ne pas introduire de perte de précision sur les benchmarks pertinents.",{"question":80,"answer":81},"Comment TurboQuant affecte-t-il la vitesse d’inférence sur les GPU H100 ?","Sur H100, TurboQuant accélère certains calculs de logits d’attention jusqu’à 8× lorsque la précision est réduite à 4 bits. Cette accélération provient d’un étage de compression mémoire optimisé qui diminue le coût mémoire et les opérations associées durant l’étape d’attention, tout en conservant des résultats équivalents sur des scénarios de contexte long.",{"question":83,"answer":84},"Faut-il réentraîner le modèle pour utiliser TurboQuant ?","Non. TurboQuant ne nécessite aucun réentraînement. L’approche conserve la même précision que les méthodes de référence (Gemma et Mistral) sur les benchmarks pertinents, tout en réduisant significativement l’empreinte mémoire et en augmentant la vitesse d’inférence.",null,[87,94,101,108],{"id":88,"title":89,"slug":90,"excerpt":91,"category":11,"featuredImage":92,"publishedAt":93},"69daa630063dff5c27288700","NeuBird AI lève 19,3 M$ pour accélérer l’agentic AI en production","neubird-ai-leve-19-3-m-pour-accelerer-l-agentic-ai-en-production","Introduction\n\nLa montée des architectures hybrides et multi‑cloud accroît fortement la complexité des opérations IT, obligeant les ingénieurs à consacrer une grande partie de leur temps à la gestion d...","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1717501219074-943fc738e5a2?ixid=M3w4OTczNDl8MHwxfHNlYXJjaHw2MXx8YXJ0aWZpY2lhbCUyMGludGVsbGlnZW5jZSUyMHRlY2hub2xvZ3l8ZW58MXwwfHx8MTc3NTkzNzA3Mnww&ixlib=rb-4.1.0&w=1200&h=630&fit=crop&crop=entropy&auto=format,compress&q=60","2026-04-11T19:58:08.090Z",{"id":95,"title":96,"slug":97,"excerpt":98,"category":11,"featuredImage":99,"publishedAt":100},"69d0778fb650186e8cd3cf06","XAI selon Gartner : pourquoi l’IA explicable va doper l’observabilité des LLM d’ici 2028","xai-selon-gartner-pourquoi-l-ia-explicable-va-doper-l-observabilite-des-llm-d-ici-2028","Alors que les assistants génératifs passent en production, Gartner prévoit qu’en 2028, 50 % des investissements GenAI seront consacrés à l’observabilité des LLM, contre 15 % aujourd’hui [1]. La questi...","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1564707944519-7a116ef3841c?ixid=M3w4OTczNDl8MHwxfHNlYXJjaHwxNnx8YXJ0aWZpY2lhbCUyMGludGVsbGlnZW5jZSUyMHRlY2hub2xvZ3l8ZW58MXwwfHx8MTc3NTI2OTc3NXww&ixlib=rb-4.1.0&w=1200&h=630&fit=crop&crop=entropy&auto=format,compress&q=60","2026-04-04T02:31:18.172Z",{"id":102,"title":103,"slug":104,"excerpt":105,"category":11,"featuredImage":106,"publishedAt":107},"69cdfd820e6c02b7816c6c05","Explainable AI et observabilité LLM : comment se préparer au tournant Gartner 2028","explainable-ai-et-observabilite-llm-comment-se-preparer-au-tournant-gartner-2028","Les directions métiers veulent des assistants, copilotes et agents IA en production, pas des POC. Or, la plupart des organisations ignorent encore ce que font réellement leurs modèles, sur quelles don...","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1696891953733-ff861e7e3dae?ixid=M3w4OTczNDl8MHwxfHNlYXJjaHwxfHxnYXJ0bmVyJTIwZXhwbGFpbmFibGV8ZW58MXwwfHx8MTc3NTEwNzQ1OHww&ixlib=rb-4.1.0&w=1200&h=630&fit=crop&crop=entropy&auto=format,compress","2026-04-02T05:26:30.808Z",{"id":109,"title":110,"slug":111,"excerpt":112,"category":11,"featuredImage":113,"publishedAt":114},"69c5e99b6804bfdf33268186","Microsoft Intelligent Manufacturing Award 2026 : les champions qui redéfinissent l’usine intelligente","microsoft-intelligent-manufacturing-award-2026-les-champions-qui-redefinissent-l-usine-intelligente","L’édition 2026 du Microsoft Intelligent Manufacturing Award marque un tournant : l’IA devient l’ossature de l’usine intelligente. En sept ans, le MIMA est passé d’un révélateur de solutions pionnières...","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1680128369892-8130dfc6700a?ixid=M3w4OTczNDl8MHwxfHNlYXJjaHwxfHx3aW5uZXJzJTIwdGhlJTIwMjAyNiUyMG1pY3Jvc29mdHxlbnwxfDB8fHwxNzc0NTc4MDc1fDA&ixlib=rb-4.1.0&w=1200&h=630&fit=crop&crop=entropy&auto=format,compress","2026-03-27T02:24:01.153Z",["Island",116],{"key":117,"params":118,"result":120},"ArticleBody_CqDZp10feShcOj5ELQ4m4x9S5imie7096k5Acsm98",{"props":119},"{\"articleId\":\"69cd1760ed904dc68ee9c869\",\"linkColor\":\"red\"}",{"head":121},{}]