1 points par GN⁺ 2024-10-20 | 1 commentaires | Partager sur WhatsApp
  • BitEnergy AI affirme qu’en remplaçant la multiplication en virgule flottante (FPM), opération clé du traitement IA, par une addition d’entiers, il est possible de réduire la consommation électrique jusqu’à 95 %
  • Linear-Complexity Multiplication (L-Mul) vise à produire des résultats proches de la FPM avec des opérations plus simples, tout en conservant l’exactitude et la précision
  • Le potentiel d’amélioration de l’efficacité énergétique est important, mais le matériel dominant actuel, comme les GPU Blackwell de Nvidia, n’est pas conçu pour exécuter cet algorithme
  • Les entreprises ayant déjà investi des millions à des milliards de dollars dans du matériel IA auront du mal à éviter le coût d’adoption de nouveaux systèmes, même si les performances de L-Mul sont confirmées
  • Alors que la demande électrique des centres de données IA met sous pression les réseaux électriques et les objectifs climatiques, L-Mul peut être vu comme une approche visant à concilier montée en puissance des performances et réduction de l’énergie consommée

L-Mul, qui remplace la FPM par une addition d’entiers

  • BitEnergy AI est une entreprise spécialisée dans les technologies d’inférence IA, qui a développé une méthode remplaçant la FPM par une addition d’entiers dans le traitement IA
  • Cette nouvelle approche s’appelle Linear-Complexity Multiplication (L-Mul)
  • L-Mul affirme produire des résultats proches de ceux de la FPM avec un algorithme plus simple, tout en conservant le haut niveau d’exactitude et de précision de la FPM
  • Selon TechXplore, cette méthode pourrait réduire la consommation électrique des systèmes d’IA de jusqu’à 95 %

La compatibilité matérielle freine l’adoption

  • L-Mul est une nouvelle méthode de traitement, et le matériel grand public actuellement sur le marché n’a pas été conçu pour la prendre en charge directement
  • Le GPU Blackwell de nouvelle génération de Nvidia est également cité comme un exemple de matériel non conçu en partant de l’hypothèse d’exécuter cet algorithme
  • Même si l’algorithme de BitEnergy AI atteint un niveau de performance comparable à la FPM, son utilisation réelle nécessitera des systèmes capables de l’exécuter
  • Pour les entreprises ayant déjà investi des millions à des milliards de dollars dans du matériel IA, la nécessité de nouveaux systèmes peut représenter une lourde charge
  • Si les fabricants de puces IA créent des ASIC adaptés à cet algorithme, la promesse d’une réduction de 95 % de la consommation pourrait attirer l’attention des grandes entreprises technologiques

La pression créée par la demande électrique de l’IA

  • Dans le développement de l’IA, l’électricité devient une contrainte majeure
  • Rien que les GPU pour centres de données vendus l’an dernier consommeraient, sur un an, plus d’électricité que plus d’un million de foyers
  • Chez Google, la demande électrique liée à l’IA a repoussé les objectifs climatiques, et les émissions de gaz à effet de serre ont augmenté de 48 % par rapport à 2019
  • L’ancien CEO de Google a déjà proposé d’assouplir les objectifs climatiques et d’autoriser une plus grande production d’électricité afin de résoudre le réchauffement climatique grâce à une IA avancée

Ce que pourrait changer une meilleure efficacité énergétique

  • Si le traitement IA devient plus efficace sur le plan énergétique, il sera possible de maintenir des technologies d’IA avancées tout en réduisant leur impact environnemental
  • Une baisse de 95 % de la consommation d’énergie réduirait aussi la pression exercée par les grands centres de données sur le réseau électrique national
  • Si cette pression sur le réseau diminue, la nécessité de construire davantage de centrales électriques pour étendre rapidement les futures infrastructures IA pourrait également reculer

L’équilibre entre montée en puissance et efficacité

  • Les nouvelles puces IA attirent l’attention en offrant à chaque génération une capacité de calcul plus importante
  • Mais le véritable progrès n’est possible que si les processeurs deviennent à la fois plus puissants et plus efficaces
  • Si L-Mul fonctionne comme annoncé, on peut espérer à la fois une montée en puissance des performances de l’IA et une amélioration de l’efficacité énergétique

1 commentaires

 
GN⁺ 2024-10-20
Avis sur Hacker News
  • https://arxiv.org/abs/2410.00907
    D’après le résumé de l’article, la plupart des calculs des grands réseaux de neurones sont consacrés à des multiplications de tenseurs en virgule flottante, et L-Mul approxime la multiplication en virgule flottante par des additions d’entiers, offrant une précision plus élevée avec moins de ressources de calcul que le flottant 8 bits.
    Les auteurs affirment que, appliqué au matériel de traitement tensoriel, il pourrait réduire jusqu’à 95 % l’énergie des multiplications de tenseurs en virgule flottante élément par élément, et de 80 % celle des produits scalaires. Ils évaluent aussi qu’un L-Mul à mantisse de 3 à 4 bits est comparable ou supérieur à float8 e4m3/e5m2, et qu’il peut être appliqué à l’attention des Transformers avec une perte quasi nulle.

    • Je me demande si cela signifie qu’on peut entraîner efficacement sans GPU.
      Il devrait y avoir pas mal d’intérêt.
    • J’ai l’impression d’avoir déjà vu cette idée plusieurs fois, probablement dans des posts passés sur HN.
      Il y a aussi celui-ci https://news.ycombinator.com/item?id=41784591, et il y en avait d’autres avant. Pour les personnes vraiment plongées dans le domaine, c’est peut-être une idée évidente.
      Intuitivement, utiliser de la virgule flottante pour finir par prendre des décisions proches du booléen semble être du gâchis, mais je pensais que c’était nécessaire pour construire des algorithmes différentiables.
    • Autrefois, plusieurs architectures DSP utilisaient la multiplication en virgule fixe (Q Format) pour les algorithmes DSP. https://en.wikipedia.org/wiki/Q_(number_format)
      C’était très rapide tout en offrant une précision proche de la multiplication en virgule flottante. Pour obtenir à la fois une multiplication rapide et du parallélisme, il faudra peut-être utiliser ce type de blocs DSP comme partie d’un Tensor/GPU.
    • Est-ce que cela revient à produire un effet de quantification sans réellement quantifier ?
  • C’est une approximation assez grossière. Par exemple, 1.75 * 2.5 == 3, mais elle semble meilleure quand les nombres sont proches de 0.
    Je l’ai implémentée pour AVX512 dans tinyBLAS de llamafile et testée sur Llama-3.2-3B-Instruct.F16.gguf, et la sortie était cassée. Pour que cela fonctionne correctement, il faudrait sans doute entraîner et concevoir le modèle dès le départ pour utiliser cette approximation de multiplication, ou la régler pour ne l’utiliser que sur certaines couches ou opérations.
    Cela dit, la vitesse était correcte : sur Threadripper, le prefill est tombé de 850 tokens/s à 200 tokens/s, mais la vitesse de prédiction est restée à 34 tokens/s. Si quelqu’un publie sur Hugging Face une architecture de LLM et des poids utilisant cet algorithme, on pourrait probablement le faire tourner assez vite sans matériel spécialisé.

    • Pour 1.75 * 2.5, le kernel semble incorrect.
      D’après l’article, 1.75 == (1+0.75)*2^0 et 2.5 == (1+0.25)*2^1, donc le résultat est (1+0.75+0.25+2^-4)*2^1 == 4.125. Le résultat exact est 4.375.
  • Les affirmations extraordinaires exigent des preuves extraordinaires.
    C’est peut-être possible, mais dans ce domaine, plusieurs groupes de personnes intelligentes travaillent dur depuis longtemps. Une affirmation de réduction de 95 % du coût énergétique à performances égales entre donc dans la catégorie extraordinaire. Bien sûr, on verra quand la marée se retirera.

    • C’est un titre putaclic, et l’affirmation elle-même n’est pas extraordinaire. Le preprint arXiv était déjà passé ici.
      L’amélioration de 95 % concerne spécifiquement les opérations de multiplication. L’inférence est déjà davantage limitée par la mémoire que par le calcul, donc le gain réel sera beaucoup plus faible.
      Le journalisme tech, comme pratiquement tout le journalisme, se concentre sur les clics et les revenus pour survivre, donc il est difficile d’en attendre des informations bien étayées.
    • Je ne trouve pas cette affirmation extraordinaire. Ce n’est pas mathématiquement impossible ni invraisemblable, c’est simplement très pénible à vérifier.
      Il faut beaucoup de réentraînement et de fine-tuning, et si l’on n’a pas déjà du matériel massivement parallèle, c’est coûteux. Sinon, il faut fabriquer un ASIC/FPGA avec un risque d’investissement élevé.
      À vue de nez, des modèles à basse résolution comme llama-2 pourraient bien s’en sortir, car llama-2 se quantifie sans gros problème. Mais des modèles à haute résolution comme llama-3 ne seront probablement pas faciles à traiter sans réentraînement massif.
    • L’affirmation de réduction d’énergie est vérifiable jusqu’à environ 70 %. L’implémentation d’inférence est ici :
      https://github.com/microsoft/BitNet
    • Jusqu’ici, les chercheurs se sont surtout concentrés sur d’autres sujets, comme les architectures de réseau ou la conception de réseaux produisant de meilleurs résultats.
      Il y avait aussi des gens qui amélioraient l’efficacité des opérations mathématiques de bas niveau, et ceci ressemble plutôt au fruit de ces travaux. Découvrir ce genre de choses est loin d’être facile.
    • Même en tenant compte des commentaires au-dessus et en dessous, cela reste une affirmation extraordinaire.
      Je ne dis pas que c’est impossible ou faux, mais il faut des preuves qu’on peut obtenir des performances équivalentes sur de vraies machines avec de l’énergie réelle.
      L’argument « il n’existe pas de puce appropriée » est un peu de mauvaise foi. Si une réduction de 95 % est réellement possible, un fabricant de puces intelligent fera les calculs et construira la puce. Si c’est vrai, cette entreprise gagnera énormément d’argent ; sinon, elle ne la fabriquera pas.
  • Pour avoir étudié ce domaine, c’est-à-dire le calcul approximatif, à la fois côté GPU et côté silicium, les affirmations sur la consommation électrique comme celles sur la précision sont complètement fantaisistes.
    L’article affirme que « L-Mul est plus précis que la multiplication fp8 e4m3 », tout en indiquant, dans l’analyse d’erreur et l’estimation de complexité de Mul et L-Mul, qu’il « ne prend pas en compte l’arrondi au pair le plus proche ». Si l’on retire du scénario de référence la partie qui apporte la précision, on peut obtenir à peu près n’importe quel résultat souhaité.
    Une multiplication en virgule flottante, avec arrondi au pair le plus proche, donne le résultat correctement arrondi de la multiplication des valeurs originales en précision infinie, et IEEE 754 l’exige aussi pour les opérations de base. Si on l’enlève, on introduit beaucoup plus de bruit de quantification et de biais.
    Une grande partie du coût énergétique vient du déplacement des données entre la mémoire externe comme la DRAM/HBM et les interconnexions, ainsi que de la mise en tampon dans la SRAM et les bascules. Le coût de la logique combinatoire n’est généralement pas un gros problème, et même si beaucoup de multiplieurs matriciels à fonction fixe peuvent l’augmenter, la réduction de consommation de l’accélérateur complet ne dépasserait probablement pas 10 à 20 % au mieux.
    De plus, on ne voit pas de détails sur le rescaling ni sur l’accumulation en haute précision des résultats intermédiaires dans des environnements comme le H100. Sans ces informations, il est difficile de faire confiance aux résultats d’évaluation.

  • Discussion originale du preprint : https://news.ycombinator.com/item?id=41784591

  • N’est-ce pas simplement exploiter « log(x) + log(y) = log(xy) » ?
    La représentation en virgule flottante IEEE754 stocke le signe, la mantisse et l’exposant. Si l’on ignore les deux premiers, comme on a de toute façon quantifié, l’exposant n’est qu’un entier qui stocke le log() du float.

    • Pas exactement. Ce qui est exploité, c’est (1+a)(1+b) = 1 + a + b + ab.
      Si a et b sont tous les deux assez petits, ab est minuscule et peut être ignoré. On remplace donc (1+a)(1+b) par 1+a+b. Les deux ne sont clairement pas égaux, mais dans les tâches où la machine fait des prédictions, cette différence semble ne pas trop compter.
    • Oui. La question suivante devient alors : « très bien, mais comment fait-on l’addition ? »
  • J’avais posté ça il y a environ une semaine :
    https://news.ycombinator.com/item?id=41816598
    Ce genre d’approche se pratique depuis des décennies dans les circuits numériques, les FPGA, le traitement numérique du signal, etc. La virgule flottante consomme beaucoup de ressources et d’énergie ; utiliser de la virgule flottante sans matériel dédié pour la traiter est donc quelque chose qu’on évite depuis des décennies, sauf nécessité absolue.

    • Oui. Le milieu du ML apprend lentement que l’optimisation ne consiste pas seulement à réduire le nombre de symboles d’algèbre linéaire, mais aussi à s’adapter à la simplicité du silicium.
      La redécouverte de la virgule fixe était déjà assez frustrante, mais les réactions du genre « si l’on représente les poses avec des quaternions, tout marche mieux » font exploser les développeurs de moteurs de jeu depuis 30 ans.
    • Dans la recherche en ML, il est courant de reprendre de vieux concepts, de leur donner un nouveau nom et de les rebrander comme novel.
    • Ce serait bien d’expliquer un peu plus pour les gens qui ne connaissent pas bien le sujet.
  • C’est peut-être mon scepticisme naturel, mais chaque fois qu’un titre dit « la méthode x réduit y de z % », alors que le corps de l’article dit qu’en optimisant une certaine étape on « pourrait réduire y jusqu’à z % », je deviens méfiant.
    Je me demande pourquoi ils ne publient pas de vrais benchmarks qui démontrent l’affirmation, même dans quelques cas particuliers.

    • Premièrement, ce titre ne vient pas des chercheurs, mais d’un article de vulgarisation, et le billet initial posté ici était lui-même une reprise d’un autre article grand public. Il est étrange d’attendre des auteurs de l’article scientifique qu’ils justifient par des benchmarks des affirmations que leur papier ne fait pas.
      Le « jusqu’à 95 % » ne vient pas non plus de l’article scientifique. Les réductions de coût sont citées par opération et par niveau de précision, vont jusqu’à 97,3 %, et s’appuient sur des travaux existants sur le coût énergétique des opérations mathématiques dans le matériel de calcul moderne. Aucune affirmation n’est faite sur une réduction de coût de bout en bout.
      Deuxièmement, la réduction de coût énergétique effectivement revendiquée n’est pas une question expérimentale. Les différences de coût énergétique entre opérations sur le matériel moderne sont déjà établies par d’autres travaux ; l’enjeu expérimental ici était de savoir si une technique mathématique permettant des opérations moins énergivores pouvait rivaliser avec les implémentations existantes en inférence LLM, en termes de qualité de sortie.
    • À l’inverse, il existe une preuve vivante qu’un réseau neuronal étonnamment grand peut fonctionner avec 20 W de puissance ; il n’est donc pas déraisonnable d’espérer réduire la consommation électrique de plusieurs ordres de grandeur.
    • https://github.com/microsoft/BitNet
      « La première version de bitnet.cpp vise à prendre en charge l’inférence sur CPU. Elle obtient une accélération de 1,37× à 5,07× sur les CPU ARM, avec des gains de performance plus importants pour les grands modèles. La consommation d’énergie diminue également de 55,4 % à 70,0 %, ce qui améliore l’efficacité globale. Sur les CPU x86, elle affiche une accélération de 2,37× à 6,17× et une réduction d’énergie de 71,9 % à 82,2 %. De plus, bitnet.cpp peut exécuter un modèle 100B BitNet b1.58 sur un seul CPU, avec 5 à 7 tokens/s, soit une vitesse proche de la lecture humaine, ce qui accroît fortement la possibilité d’exécuter des LLM sur des appareils locaux. Plus de détails seront bientôt fournis. »
    • Même si la vie moderne est décevante, il faut des titres racoleurs pour générer du trafic. Mais tu as bien fait de lire l’article. L’information est dans le corps du texte, pas dans le titre.
  • https://en.wikipedia.org/wiki/Jevons_paradox s’applique-t-il aussi dans ce cas ?

    • Intéressant.
      Le coût énergétique crée clairement une barrière à l’entrée, et si le coût baisse, cette barrière baisse aussi. Il y aura alors plus de participants, et la demande augmentera également.
    • Ce n’est pas forcément une mauvaise chose. Cela donnera peut-être aux arnaqueurs de l’IA le temps de construire quelque chose de réellement utile.
    • Bien sûr. Le paradoxe de Jevons s’applique toujours.
  • Je ne pense pas que les algorithmes changeront la consommation d’énergie.
    Côté calcul, on a toujours besoin de la capacité maximale. Si demain un nouvel algorithme multiplie les performances par 4, nous ferons simplement 4 fois plus de calculs.