← Derniers articles
🤖 machine learning

GPTQ-2D: Cubic-Time Two-Sided Adaptive Rounding

Cet article présente GPTQ-2D, un algorithme de complexité cubique qui effectue efficacement l'arrondi adaptatif bilatéral sur des matrices en traitant les entrées en parallèle le long des anti-diagonales, réduisant ainsi la complexité computationnelle de l'ordre quartique requise par les méthodes de vectorisation standard tout en produisant des résultats identiques.

Auteurs originaux : Jiale Chen, Torsten Hoefler, Dan Alistarh

Publié 2026-07-30
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Jiale Chen, Torsten Hoefler, Dan Alistarh

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous essayiez de ranger une tour de blocs Jenga massive et vacillante dans une boîte nette et rigide. Dans le monde de l'intelligence artificielle, ces « blocs » sont des nombres à l'intérieur d'un immense tableur (une matrice) qui enseigne à un ordinateur comment réfléchir. Pour que ces ordinateurs fonctionnent plus rapidement et utilisent moins d'énergie, les ingénieurs tentent de réduire la taille de ces nombres en les transformant en simples nombres entiers (des entiers), un processus appelé « quantification ». Mais voici le piège : si vous coupez simplement les décimales de manière aléatoire, la tour s'effondre et l'ordinateur commence à faire des erreurs stupides.

Pour corriger cela, les scientifiques utilisent une astuce ingénieuse appelée « arrondi adaptatif ». Voyez cela comme un jeu de dominos. Quand vous renversez un domino (arrondissez un nombre), cela crée un léger vacillement. Au lieu d'ignorer ce vacillement, l'arrondi adaptatif le attrape et le pousse vers le domino suivant dans la file, en l'ajustant légèrement pour que toute la ligne reste droite. Cette méthode, connue sous le nom de GPTQ, a été une star pendant des années, mais elle ne fonctionne bien que lorsque les dominos sont disposés en une seule longue ligne. Cependant, les modèles d'IA modernes ressemblent davantage à une gigantesque grille bidimensionnelle de dominos, où renverser un domino affecte ses voisins à la fois à sa droite et en dessous de lui. Essayer de réparer cette grille 2D avec l'ancienne méthode de la « ligne unique », c'est comme essayer de démêler un nœud en tirant sur un seul bout : cela fonctionne, mais cela prend un temps infini et finit par tourner en boucle quatre fois plus lentement que nécessaire.

Ce document présente une nouvelle façon de démêler ce nœud, appelée GPTQ-2D. Les auteurs, Jiale Chen, Torsten Hoefler et Dan Alistarh, ont découvert qu'il n'est pas nécessaire de tirer sur les dominos un par un dans une longue ligne. Au lieu de cela, vous pouvez saisir des rangées diagonales entières de dominos et les réparer tous en même temps. En réalisant que le « vacillement » d'un bloc ne voyage que vers le bas et vers la droite, ils ont trouvé un raccourci qui leur permet de traiter toute la grille en une fraction du temps. Ils ont prouvé mathématiquement que cette nouvelle méthode produit exactement la même tour parfaite que l'ancienne méthode lente, mais qu'elle le fait en un temps « cubique » (ce qui est rapide) plutôt qu'en un temps « quartique » (ce qui est douloureusement lent). Cela signifie que nous pouvons désormais rétrécir ces cerveaux d'IA géants beaucoup plus efficacement sans les briser, rendant l'IA puissante plus accessible sur les appareils du quotidien.

L'histoire du puzzle à deux côtés

Plongeons dans la mécanique de ce puzzle. Dans l'ancienne méthode à un seul côté (GPTQ), imaginez une file de personnes se passant un sac à dos lourd. Si la première personne fait tomber une pièce, elle dit à la suivante de porter un peu plus de poids pour compenser. Cela se produit une personne à la fois, en descendant la file. Cela fonctionne très bien pour une file indienne.

Mais dans le monde réel de l'IA, les « personnes » sont disposées en une grille, comme un damier. Maintenant, si une personne au milieu fait tomber une pièce, ce poids doit être partagé avec tous ceux qui se trouvent en dessous d'elle et à sa droite. Si vous essayez de réparer cette grille en parcourant chaque case une par une (l'approche « vectorisée »), vous finissez par faire un travail redondant massif. C'est comme essayer de nettoyer toute une pièce en essuyant chaque centimètre carré du sol, même les parties que vous avez déjà nettoyées, encore et encore. Les mathématiques montrent que cela prend énormément de temps, la charge de travail augmentant si vite que si vous doublez la taille de la grille, le travail est quadruplé (ou plus).

Les auteurs de ce document ont regardé cette grille et ont réalisé quelque chose de magique : le « vacillement » ou l'erreur de n'importe quelle case ne voyage que dans une direction spécifique : vers le bas et vers la droite. Cela crée un graphe de dépendance qui ressemble à un escalier. Si vous regardez la grille diagonalement (du haut à droite vers le bas à gauche), vous verrez que toutes les cases sur une même ligne diagonale sont indépendantes les unes des autres. Elles ne s'affectent pas entre elles !

C'est le moment de l'« Aha ! ». Parce qu'elles sont indépendantes, vous pouvez arrondir tous les nombres sur une seule ligne diagonale en même temps, comme une vague déferlant sur le plateau. C'est le cœur de GPTQ-2D.

La magie du tampon « paresseux »

Alors, comment rendent-ils cela rapide ? Dans l'ancienne méthode « lente », chaque fois que vous répariez un nombre, vous alliez immédiatement mettre à jour chaque case dans le grand rectangle situé en dessous et à la droite de celui-ci. C'est beaucoup de travail inutile.

Le nouvel algorithme GPTQ-2D est beaucoup plus paresseux (dans le bon sens du terme). Au lieu de mettre à jour tout le rectangle immédiatement, il pousse simplement l'erreur le long de sa propre colonne et de sa propre ligne, en laissant une « note » dans un tampon (buffer). C'est comme un professeur qui, au lieu de se rendre au bureau de chaque élève pour corriger une erreur, se contenterait d'écrire la correction sur le bureau de l'élève et sur le bureau de l'élève à sa droite. Les élèves plus loin dans la file verront finalement ces notes et se corrigeront eux-mêmes.

En utilisant cette approche « paresseuse », l'algorithme évite le travail colossal de mise à jour constante de toute la grille. Il traite la grille par « vagues » (les anti-diagonales). Chaque vague prend un peu de temps, et comme les vagues peuvent se produire en parallèle, l'ensemble du processus s'accélère de façon spectaculaire.

Le document prouve que cet abord diagonal et paresseux produit exactement le même résultat que la méthode lente, une par une. Ce n'est pas une approximation ; c'est une garantie mathématique. Les auteurs montrent que que vous répariez les dominos un par un ou par vagues diagonales, la tour finale se tient exactement de la même manière.

Pourquoi cela importe

Le document ne se contente pas de supposer que c'est plus rapide ; ils ont fait les calculs pour le prouver. Pour une grille carrée (où le nombre de lignes est égal au nombre de colonnes), l'ancienne méthode prend un temps proportionnel à la taille de la grille à la puissance quatre (O(m2n2)O(m^2n^2)). La nouvelle méthode GPTQ-2D prend un temps proportionnel à la taille à la puissance trois (O(m3)O(m^3)).

Pour donner une perspective : si vous avez une grille de 1 000 par 1 000, l'ancienne méthode fait un milliard de fois plus de travail que nécessaire par rapport à la nouvelle méthode. La nouvelle méthode ramène le coût de la réparation d'une grille à deux côtés au même niveau que la réparation d'une simple ligne à un côté.

Les auteurs décrivent également une version « par blocs » de cet algorithme (Algorithme 4), qui regroupe ces vagues diagonales en blocs. Cela est conçu pour fonctionner encore mieux sur les puces informatiques modernes, qui adorent traiter de gros blocs de mathématiques d'un coup plutôt que des petits morceaux éparpillés. Cela rend la théorie prête pour une utilisation dans le monde réel.

En bref, ce document prend un problème qui était trop lent pour être pratique pour les grands modèles d'IA complexes et lui donne un coup de boost qui le rend réalisable. Il montre qu'en changeant l'ordre dans lequel nous regardons les données — en remplaçant une ligne droite par une vague diagonale — nous pouvons résoudre un puzzle à deux côtés aussi facilement qu'un puzzle à un seul côté, sans perdre aucune précision. C'est un rappel que parfois, la façon la plus rapide de résoudre un problème n'est pas de travailler plus dur, mais de regarder le problème sous un autre angle.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →