Modèles et plateformes d’IA
Les chercheurs créent un alternative au GPU

Les informaticiens de l’Université Rice, ainsi que des collaborateurs d’Intel (INTC ), ont développé une alternative plus rentable au GPU. Le nouvel algorithme s’appelle « moteur d’apprentissage profond sous-linéaire » (SLIDE), et il utilise des unités centrales de traitement général (CPUs) sans matériel d’accélération spécialisé.
Les résultats ont été présentés au centre de conventions d’Austin, qui abrite la conférence sur les systèmes d’apprentissage automatique MLSys.
L’un des plus grands défis dans le domaine de l’intelligence artificielle (IA) concerne les matériels d’accélération spécialisés tels que les unités de traitement graphique (GPUs). Avant les nouveaux développements, on pensait que pour accélérer la technologie d’apprentissage profond, l’utilisation de ces matériels d’accélération spécialisés était nécessaire.
De nombreuses entreprises ont accordé une grande importance à l’investissement dans les GPUs et les matériels spécialisés pour l’apprentissage profond, qui est responsable de technologies telles que les assistants numériques, la reconnaissance faciale et les systèmes de recommandation de produits. Une telle entreprise est Nvidia (NVDA ), qui crée les GPUs Tesla (TSLA ) V100 Tensor Core. Nvidia a récemment annoncé une augmentation de 41 % de ses revenus du quatrième trimestre par rapport à l’année précédente.
Le développement de SLIDE ouvre des possibilités entièrement nouvelles.
Anshumali Shrivastava est professeur adjoint à l’école d’ingénierie Brown de Rice et a aidé à inventer SLIDE avec les étudiants diplômés Beidi Chen et Tharun Medini.
« Nos tests montrent que SLIDE est la première mise en œuvre algorithmique intelligente de l’apprentissage profond sur CPU qui peut surpasser l’accélération matérielle GPU sur des jeux de données de recommandation à grande échelle avec de grandes architectures entièrement connectées », a déclaré Shrivastava.
SLIDE dépasse le défi des GPUs en raison de son approche complètement différente de l’apprentissage profond. Actuellement, la technique d’entraînement standard pour les réseaux de neurones profonds est la « propagation inverse », et elle nécessite une multiplication de matrices. Cette charge de travail nécessite l’utilisation de GPUs, donc les chercheurs ont modifié l’entraînement des réseaux de neurones pour qu’il puisse être résolu avec des tables de hachage.
Cette nouvelle approche réduit considérablement la charge de calcul pour SLIDE. La meilleure plate-forme GPU actuelle que des entreprises comme Amazon (AMZN ) et Google (GOOGL ) utilisent pour l’apprentissage profond basé sur le cloud a huit Tesla V100, et le prix est d’environ 100 000 $.
« Nous en avons un dans le laboratoire, et dans notre cas de test, nous avons pris une charge de travail qui est parfaite pour V100, une charge de travail avec plus de 100 millions de paramètres dans de grandes architectures entièrement connectées qui tiennent dans la mémoire GPU », a déclaré Shrivastava. « Nous l’avons entraîné avec le meilleur package (logiciel) disponible, Google’s TensorFlow, et cela a pris 3 heures et demie pour l’entraîner.
« Nous avons ensuite montré que notre nouvel algorithme peut effectuer l’entraînement en une heure, non sur des GPUs mais sur un CPU Xeon à 44 cœurs », a-t-il continué.
Le hachage est un type de méthode d’indexation de données inventée dans les années 90 pour la recherche sur Internet. Des méthodes numériques sont utilisées pour encoder de grandes quantités d’informations sous la forme d’une chaîne de chiffres, appelée hachage. Les hachages sont répertoriés pour créer des tables qui peuvent être recherchées rapidement.
« Il n’aurait pas eu de sens de mettre en œuvre notre algorithme sur TensorFlow ou PyTorch car la première chose qu’ils veulent faire est de convertir ce que vous faites en un problème de multiplication de matrices », a déclaré Chen. « C’est précisément ce que nous voulions éviter. Nous avons donc écrit notre propre code C++ à partir de zéro. »
Selon Shrivastava, le plus grand avantage de SLIDE est qu’il est parallèle aux données.
« En parallèle aux données, je veux dire que si j’ai deux instances de données que je veux entraîner, disons une image d’un chat et une autre d’un bus, elles vont probablement activer des neurones différents, et SLIDE peut mettre à jour, ou entraîner ces deux de manière indépendante », a-t-il déclaré. « C’est une bien meilleure utilisation du parallélisme pour les CPUs. »
« L’inconvénient, par rapport au GPU, est que nous nécessitons une grande mémoire », a-t-il déclaré. « Il y a une hiérarchie de cache dans la mémoire principale, et si vous n’êtes pas prudent avec elle, vous pouvez rencontrer un problème appelé cache thrashing, où vous obtenez de nombreux caches manquants. »
SLIDE a ouvert la porte à de nouvelles façons de mettre en œuvre l’apprentissage profond, et Shrivastava pense que c’est juste le début.
« Nous n’avons fait que gratter la surface », a-t-il déclaré. « Il y a beaucoup de choses que nous pouvons encore faire pour optimiser. Nous n’avons pas utilisé la vectorisation, par exemple, ou les accélérateurs intégrés dans le CPU, comme Intel Deep Learning Boost. Il y a beaucoup d’autres astuces que nous pourrions encore utiliser pour le rendre encore plus rapide. »












