De minuscules ordinateurs à quatre bits sont désormais tout ce dont vous avez besoin pour entraîner l'IA

grignotage de réseau neuronal

Huit bits constituent un octet, donc quatre bits sont appelés quartet. Les informaticiens ont un drôle d'humour. Mme Tech | Collection Bienvenue





L'apprentissage en profondeur est un porc énergétique inefficace . Il nécessite des quantités massives de données et des ressources de calcul abondantes, ce qui fait exploser sa consommation électrique. Au cours des dernières années, la tendance générale de la recherche a aggravé le problème. Les modèles aux proportions gargantuesques - formés sur des milliards de points de données pendant plusieurs jours - sont à la mode et ne disparaîtront probablement pas de si tôt.

Certains chercheurs se sont précipités pour trouver de nouvelles directions, comme des algorithmes qui peuvent s'entraîner sur moins de données , ou du matériel pouvant exécuter ces algorithmes plus rapidement . Maintenant, les chercheurs d'IBM en proposent un autre. Leur idée réduirait le nombre de bits, ou un sable 0 s, nécessaires pour représenter les données - de 16 bits, la norme actuelle de l'industrie, à seulement quatre.

le travail , qui est présenté cette semaine à NeurIPS, la plus grande conférence annuelle de recherche sur l'IA, pourrait augmenter la vitesse et réduire les coûts énergétiques nécessaires pour former l'apprentissage en profondeur de plus de sept fois. Cela pourrait également rendre possible la formation de puissants modèles d'IA sur les smartphones et autres petits appareils, ce qui améliorerait la confidentialité en aidant à conserver les données personnelles sur un appareil local. Et cela rendrait le processus plus accessible aux chercheurs extérieurs aux grandes entreprises technologiques riches en ressources.



Comment fonctionnent les bits

Vous avez probablement déjà entendu dire que les ordinateurs stockent des choses dans un sable 0 s. Ces unités fondamentales d'information sont appelées morceaux . Lorsqu'un bit est activé, il correspond à un un ; lorsqu'il est éteint, il se transforme en 0 . En d'autres termes, chaque bit ne peut stocker que deux informations.

Mais une fois que vous les avez enchaînés, la quantité d'informations que vous pouvez encoder augmente de façon exponentielle. Deux bits peuvent représenter quatre informations car il existe 2^2 combinaisons : 00 , 01 , dix , et Onze . Quatre bits peuvent représenter 2^4 ou 16 informations. Huit bits peuvent représenter 2^8 ou 256. Et ainsi de suite.

La bonne combinaison de bits peut représenter des types de données comme des nombres, des lettres et des couleurs, ou des types d'opérations comme l'addition, la soustraction et la comparaison. De nos jours, la plupart des ordinateurs portables sont des ordinateurs 32 ou 64 bits. Cela ne signifie pas que l'ordinateur ne peut encoder que 2 ^ 32 ou 2 ^ 64 informations au total. (Ce serait un ordinateur très faible.) Cela signifie qu'il peut utiliser autant de bits de complexité pour coder chaque donnée ou opération individuelle.



Apprentissage en profondeur 4 bits

Alors, que signifie la formation 4 bits ? Eh bien, pour commencer, nous avons un ordinateur 4 bits, et donc 4 bits de complexité. Une façon de penser à cela : chaque nombre que nous utilisons pendant le processus de formation doit être l'un des 16 nombres entiers entre -8 et 7, car ce sont les seuls nombres que notre ordinateur peut représenter. Cela vaut pour les points de données que nous alimentons dans le réseau neuronal, les nombres que nous utilisons pour représenter le réseau neuronal et les nombres intermédiaires que nous devons stocker pendant la formation.

Alors, comment faisons-nous cela? Pensons d'abord aux données d'entraînement. Imaginez que c'est tout un tas d'images en noir et blanc. Première étape : nous devons convertir ces images en nombres, afin que l'ordinateur puisse les comprendre. Pour ce faire, nous représentons chaque pixel en fonction de sa valeur d'échelle de gris - 0 pour le noir, 1 pour le blanc et les décimales entre pour les nuances de gris. Notre image est maintenant une liste de nombres allant de 0 à 1. Mais dans un pays 4 bits, nous en avons besoin pour aller de -8 à 7. L'astuce ici consiste à mettre à l'échelle linéairement notre liste de nombres, donc 0 devient -8 et 1 devient 7 et les décimales correspondent aux nombres entiers du milieu. Alors:

Vous pouvez mettre à l'échelle votre liste de nombres de 0 à 1 pour s'étendre entre -8 et 7, puis arrondir toutes les décimales à un nombre entier.



Ce processus n'est pas parfait. Si vous avez commencé avec le nombre 0,3, par exemple, vous vous retrouveriez avec le nombre échelonné -3,5. Mais nos quatre bits ne peuvent représenter que des nombres entiers, vous devez donc arrondir -3,5 à -4. Vous finissez par perdre certaines des nuances de gris, ou soi-disant précision , à votre image. Vous pouvez voir à quoi cela ressemble dans l'image ci-dessous.

Plus le nombre de bits est faible, moins la photo contient de détails. C'est ce qu'on appelle une perte de précision .

Cette astuce n'est pas trop minable pour les données d'entraînement. Mais lorsque nous l'appliquons à nouveau au réseau de neurones lui-même, les choses se compliquent un peu.



Un réseau de neurones.

Nous voyons souvent des réseaux de neurones dessinés comme quelque chose avec des nœuds et des connexions, comme l'image ci-dessus. Mais pour un ordinateur, ceux-ci se transforment également en une série de chiffres. Chaque nœud a un soi-disant Activation valeur, qui varie généralement de 0 à 1, et chaque connexion a une poids , qui varie généralement de -1 à 1.

Nous pourrions les mettre à l'échelle de la même manière que nous l'avons fait avec nos pixels, mais les activations et les poids changent également à chaque cycle d'entraînement. Par exemple, les activations vont parfois de 0,2 à 0,9 dans un tour et de 0,1 à 0,7 dans un autre. Le groupe IBM a donc trouvé une nouvelle astuce en 2018 : redimensionner ces plages pour les étirer entre -8 et 7 à chaque tour (comme indiqué ci-dessous), ce qui évite efficacement de perdre trop de précision.

Les chercheurs d'IBM redimensionnent les activations et les pondérations dans le réseau de neurones pour chaque cycle d'entraînement, afin d'éviter de perdre trop de précision.

Mais il nous reste ensuite une dernière pièce : comment représenter en quatre bits les valeurs intermédiaires qui surgissent pendant l'entraînement. Ce qui est difficile, c'est que ces valeurs peuvent s'étendre sur plusieurs ordres de grandeur, contrairement aux chiffres que nous traitions pour nos images, nos poids et nos activations. Ils peuvent être minuscules, comme 0,001, ou énormes, comme 1 000. Essayer de mettre à l'échelle linéairement cela entre -8 et 7 perd toute la granularité à la toute petite extrémité de l'échelle.

La mise à l'échelle linéaire des nombres qui s'étendent sur plusieurs ordres de grandeur perd toute la granularité à la toute petite extrémité de l'échelle. Comme vous pouvez le voir ici, tout nombre inférieur à 100 serait mis à l'échelle à -8 ou -7. Le manque de précision nuirait aux performances finales du modèle d'IA.

Après deux ans de recherche, les chercheurs ont finalement résolu le puzzle : empruntant une idée existante à d'autres, ils mettent à l'échelle ces nombres intermédiaires logarithmiquement . Pour voir ce que je veux dire, vous trouverez ci-dessous une échelle logarithmique que vous pourriez reconnaître, avec une soi-disant base de 10, utilisant seulement quatre bits de complexité. (Les chercheurs utilisent à la place une base de 4, car les essais et les erreurs ont montré que cela fonctionnait le mieux.) Vous pouvez voir comment cela vous permet d'encoder à la fois des nombres minuscules et grands dans les contraintes de bits.

Une échelle logarithmique de base 10.

Avec toutes ces pièces en place, ce dernier article montre comment elles s'assemblent. Les chercheurs d'IBM mènent plusieurs expériences où ils simulent une formation 4 bits pour une variété de modèles d'apprentissage en profondeur dans la vision par ordinateur, la parole et le traitement du langage naturel. Les résultats montrent une perte de précision limitée dans les performances globales des modèles par rapport à l'apprentissage en profondeur 16 bits. Le processus est également plus de sept fois plus rapide et sept fois plus économe en énergie.

Travail futur

Il reste encore plusieurs étapes avant que l'apprentissage en profondeur 4 bits ne devienne une pratique réelle. Le papier uniquement simule les résultats de ce type de formation. Le faire dans le monde réel nécessiterait un nouveau matériel 4 bits. En 2019, IBM Research a lancé un AI Hardware Center pour accélérer le processus de développement et de production de tels équipements. Kailash Gopalakrishnan, un membre d'IBM et cadre supérieur qui a supervisé ce travail, dit qu'il s'attend à ce que le matériel 4 bits soit prêt pour la formation en profondeur dans trois à quatre ans.

De minuscules modèles d'IA pourraient suralimenter la correction automatique et les assistants vocaux sur votre téléphone

Boris Murmann, professeur à Stanford qui n'a pas participé à la recherche, qualifie les résultats d'excitants. Cette avancée ouvre la porte à la formation dans des environnements aux ressources limitées, dit-il. Cela ne rendrait pas nécessairement de nouvelles applications possibles, mais cela rendrait les applications existantes plus rapides et moins épuisantes pour la batterie. Apple et Google, par exemple, ont de plus en plus cherché à déplacer le processus de formation de leurs modèles d'IA, comme les systèmes de synthèse vocale et de correction automatique. depuis le cloud et sur les téléphones des utilisateurs . Cela préserve la confidentialité des utilisateurs en conservant leurs données sur leur propre téléphone tout en améliorant les capacités d'intelligence artificielle de l'appareil.

Mais Murmann note également que davantage doit être fait pour vérifier le bien-fondé de la recherche. En 2016, son groupe publié un article qui a démontré une formation 5 bits. Mais l'approche n'a pas résisté au fil des ans. Notre approche simple s'est effondrée parce que les réseaux de neurones sont devenus beaucoup plus sensibles, dit-il. Il n'est donc pas clair si une technique comme celle-ci survivrait également à l'épreuve du temps.

Néanmoins, le document motivera d'autres personnes à examiner cela très attentivement et à stimuler de nouvelles idées, dit-il. C'est une avancée très bienvenue.

cacher