Réseaux neuronaux : Cerebras se prépare à l’ère de l’infiniment grand

Technologie : La start-up Cerebras a complété sa gamme d’ordinateurs par une machine à mémoire et un commutateur de tissus qui permettent de créer des systèmes en grappe comptant jusqu’à 192 ordinateurs dédiés à l’IA.

L’intelligence artificielle, dans sa forme dédiée au deep learning, produit des réseaux neuronaux dotés de milliards et de milliards de paramètres neuronaux. Cette échelle croissante constitue autant de problèmes particuliers pour le matériel et les logiciels utilisés pour développer ces réseaux neuronaux. « En deux ans, les modèles sont devenus 1 000 fois plus gros et nécessitent aujourd’hui 1 000 fois plus de puissance de calcul », relève Andrew Feldman, cofondateur et PDG du fabricant de systèmes d’IA, Cerebras Systems, résumant l’histoire récente des réseaux neuronaux dans une interview accordée à ZDNet via Zoom.

En concurrence frontale avec le leader de l’IA, Nvidia, et avec d’autres start-up de l’IA – comme Graphcore et SambaNova Systems – Cerebras Systems a dévoilé cette semaine de nouveaux ordinateurs, avec l’ambition d’être plus performant lors de la formation de ces réseaux de plus en plus importants. Une phase critique durant laquelle un programme de réseau neuronal est développé en le soumettant à de grandes quantités de données et en ajustant les poids du réseau neuronal jusqu’à ce qu’il soit le plus précis possible.

Ce n’est d’ailleurs un secret pour personne : les réseaux neuronaux ne cessent de voir leur taille augmenter. L’année dernière, ce qui était le plus grand réseau neuronal du monde – mesuré en poids neuronal – le programme de traitement du langage naturel GPT-3 d’OpenAI, avec 175 milliards de poids, a été éclipsé par le modèle de 1,6 trillion de paramètres de Google, le Switch Transformer. Un gigantisme qui pose aujourd’hui problème, ces modèles dépassant de loin les limites d’un seul système informatique. La mémoire d’un seul GPU, de l’ordre de 16 gigaoctets, est dépassée par les centaines de téraoctets de mémoire potentiellement nécessaires pour un modèle comme GPT-3. Le regroupement des systèmes devient donc crucial.

Une meilleure exploitation des machines

De quoi faire de la mise en grappe une question cruciale, car chaque machine doit être maintenue occupée, sinon l’utilisation diminue. Cette année, Nvidia, Stanford et Microsoft ont créé une version de GPT-3 avec un trillion de paramètres et ont ainsi dû les répartir sur 3 072 GPU. Las, l’utilisation, c’est-à-dire le nombre d’opérations par seconde, n’était qu’à 52 % du potentiel théorique maximal des machines. Un problème que souhaite aujourd’hui résoudre Cerebras Systems, de manière à obtenir une meilleure utilisation de chaque élément de calcul, de meilleures performances, et – par extension – une meilleure utilisation de l’énergie.

Les nouveaux ordinateurs de la société comprennent donc trois parties qui interagissent entre elles. La première est une mise à jour de l’ordinateur de la société qui contient sa puce Wafer-Scale Engine ou WSE, la plus grande puce jamais fabriquée. Ce système s’appelle le CS-2. Le WSE2 et le CS-2 ont été présentés en avril. La société a présenté cette semaine une machine montée en rack appelée MemoryX, qui contient 2,4 pétaoctets combinés de DRAM et de mémoire flash NAND, pour stocker tous les poids du réseau neuronal.

Elle a également présenté une troisième machine, baptisée SwarmX, dont le but est de relier le CS-2 au MemoryX. Cette matrice peut connecter jusqu’à 192 machines CS-2 au MemoryX pour former un cluster qui travaille en coopération sur un seul grand réseau neuronal.

Des problèmes de (grande) taille

Le traitement parallèle des grands problèmes se décline généralement en deux types : le traitement parallèle des données et le traitement parallèle des modèles. Jusqu’à présent, Cerebras a exploité le parallélisme des modèles, les couches du réseau neuronal étant réparties sur différentes parties de la puce massive, de sorte que les couches et leurs poids s’exécutent en parallèle. Le logiciel Cerebras décide automatiquement de la répartition des couches sur les différentes parties de la puce, et certaines couches peuvent bénéficier d’une plus grande surface de puce que d’autres.

Les poids neuronaux, ou paramètres, sont des matrices, généralement représentées par quatre octets par poids, de sorte que le stockage des poids est essentiellement un multiple de quatre fois le nombre total de poids. Pour GPT-3, qui compte 175 milliards de paramètres, la surface totale de l’ensemble du réseau neuronal serait de 700 gigaoctets. Un seul CS-1 peut contenir tous les paramètres d’un réseau de petite ou moyenne taille, ou l’ensemble d’une couche donnée d’un grand modèle tel que GPT-3, sans avoir à sortir vers une mémoire externe grâce à la grande SRAM de 18 gigaoctets intégrée à la puce.

« La plus grande couche de GPT-3 compte environ 12 000 x 48 000 éléments », explique le patron de Cerebras Systems, en évoquant les dimensions d’une seule matrice de poids. « Cela tient facilement sur une seule WSE-2. »

Mise à l’échelle

Dans cette nouvelle puce – qui supporte la mémoire SRAM à 40 gigaoctets – une seule machine CS-2 peut contenir tous les paramètres qui seraient utilisés pour une couche donnée d’un réseau neuronal de 120 billions de paramètres, explique-t-on du côté de Cerebras. « Avec les puces chaudes, nous obtenons des multiplications de matrices de 48 000 x 48 000, soit deux fois plus que le GPT-3 », note Andrew Feldman. Lorsqu’il est utilisé en combinaison avec le MemoryX, dans l’approche de streaming, le seul CS-2 peut traiter tous les poids du modèle, à mesure qu’ils sont transmis à la machine, une couche à la fois.

Cerebras Systems aime appeler cela « l’informatique à l’échelle du cerveau », par analogie avec les 100 billions de synapses du cerveau humain. Dans ce cas, le réseau neuronal de 120 trillions de paramètres est un réseau neuronal synthétique développé en interne par Cerebras à des fins de test, et non un réseau neuronal publié. Bien que le CS-2 puisse contenir tous ces paramètres de couche dans une seule machine, Cerebras propose désormais d’utiliser MemoryX pour obtenir un parallélisme des données. Le parallélisme des données est l’opposé du parallélisme des modèles, dans le sens où chaque machine dispose du même ensemble de poids, mais d’une tranche différente de données sur laquelle travailler.

Pour réaliser le parallélisme des données, Cerebras conserve tous les poids dans MemoryX, puis diffuse sélectivement ces poids aux CS-2, où seule la tranche individuelle de données est stockée. Chaque CS-2, lorsqu’il reçoit les poids en continu, applique ces poids aux données d’entrée, puis fait passer le résultat par la fonction d’activation, une sorte de filtre également stocké sur la puce, qui vérifie l’entrée pondérée pour voir si un seuil est atteint. Le résultat final de tout cela est le gradient, un petit ajustement des poids, qui est ensuite renvoyé au boîtier MemoryX où il est utilisé pour mettre à jour la liste principale des poids. Le SwarmX effectue tous les allers-retours entre MemoryX et CS-2, mais il fait aussi quelque chose de plus.

De nouvelles économies d’échelles

« Le SwarmX fait à la fois de la communication et du calcul », explique le patron de la société. « Le tissu SwarmX combine les gradients, ce qu’on appelle une réduction, ce qui signifie qu’il effectue une opération comme une moyenne. » Le résultat conduit à une utilisation largement supérieure du CS-2 par rapport à la concurrence, même sur les réseaux neuronaux de production actuels comme GPT-3, indique ce dernier. « L’utilisation des techniques concurrentes se situe dans les 10 ou 20 %, mais nous voyons une utilisation entre 70 et 80 % sur les plus grands réseaux – c’est du jamais vu », se réjouit-il.

L’ajout de systèmes offre ce qu’il appelle une « mise à l’échelle linéaire des performances », ce qui signifie que si 16 systèmes sont ajoutés, la vitesse d’entraînement d’un réseau neuronal est 16 fois plus rapide. Par conséquent, « aujourd’hui, chaque CS2 remplace des centaines de GPU, et nous pouvons maintenant remplacer des milliers de GPU » avec l’approche en cluster, indique-t-il. Selon Cerebras, le parallélisme présente un avantage supplémentaire, à savoir ce que l’on appelle la sparsité.

Dès le début, Cerebras Systems a pointé du doigt les GPU de Nvidia comme étant inefficaces en raison de leur manque de mémoire. Le GPU doit aller chercher les données dans la mémoire principale, la DRAM, ce qui est coûteux, et il les récupère en collections appelées lots. Mais cela signifie que le GPU peut opérer sur des données qui sont de valeur nulle, ce qui est un gaspillage, les poids n’étant pas mis à jour assez fréquemment pendant qu’ils attendent que chaque lot soit traité.

Cerebras vante sa technologie

Le WSE, qui dispose d’une énorme quantité de SRAM sur la puce, est pour sa part capable d’extraire des échantillons de données individuels – un lot de un – et de traiter de nombreux échantillons individuels en parallèle sur la puce. Pour chaque échantillon individuel, il est possible – toujours grâce à la mémoire rapide – de ne travailler que sur certains poids et de les mettre à jour de manière sélective et fréquente.

Cerebras Systems fait valoir que sa méthode présente toutes sortes d’avantages. Et de vanter une utilisation plus efficace de la mémoire et une parallélisation dynamique, ce qui signifie que la rétropropagation – un passage en arrière à travers les poids neuronaux – peut être comprimée dans un pipeline efficace qui parallélise davantage les choses et accélère la formation. Une idée séduisante pour l’ensemble des acteurs du marché. Alors que le moment est venu de passer à un système en grappe, Cerebras a de nouveau proposé une approche éparse. Seuls certains poids doivent être transmis à chaque CS-2 à partir du MemoryX, et seuls certains gradients doivent être renvoyés au MemoryX.

La société affirme que son réseau de zone système, composé d’un ordinateur, d’un commutateur et d’une mémoire, se comporte comme une version étendue du calcul clairsemé qui s’effectue sur une seule puce WSE. Combinée à l’approche du streaming, la sparsité du CS-2, ainsi que de MemoryX et SwarmX, possède une composante flexible et dynamique qui, selon l’entreprise, ne peut être égalée par d’autres machines, vante la direction de Cerebras Systems.

Reste que les ventes de machines CS-2 et des nouveaux dispositifs lancés par la société dépendront de la maturité du marché et de savoir si ses acteurs sont prêts pour des réseaux neuronaux de plusieurs trillions ou de plusieurs dizaines de trillions de poids. La livraison du CS-2 et des autres composants est prévue pour le quatrième trimestre de cette année, soit dans quelques mois.

Source : net.fr/actualites/

Catégories