Neural Magic est une entreprise de logiciels qui développe des technologies pour accélérer l'inférence de apprentissage automatique sur du matériel CPU standard. Fondée en 2017 et basée à Boston, dans le Massachusetts, l'entreprise se concentre sur la démocratisation du déploiement de l'intelligence artificielle en le rendant plus accessible et rentable, en éliminant le besoin d'accélérateurs spécialisés tels que les GPU. Son approche centrale combine des innovations algorithmiques en matière de parcimonie et de quantification des modèles avec des optimisations spécifiques aux CPU, permettant aux réseaux de neurones profonds de fonctionner efficacement sur des processeurs x86 standard. Les solutions de l'entreprise sont utilisées dans divers secteurs pour des tâches telles que la vision par ordinateur, le traitement du langage naturel et les charges de travail à grande échelle de IA générative.
L'entreprise est issue de recherches menées au MIT CSAIL et au Berkeley AI Research, où ses fondateurs ont exploré des moyens d'exploiter la structure mathématique des réseaux de neurones pour réduire les exigences computationnelles. La technologie de Neural Magic repose sur l'observation que de nombreux réseaux de neurones contiennent une redondance significative, et en élaguant ou en quantifiant les poids, l'inférence peut être effectuée avec beaucoup moins d'opérations. La pile logicielle de l'entreprise, y compris son runtime DeepSparse et sa boîte à outils SparseML, permet aux développeurs de compresser et d'accélérer les modèles sans nécessiter de matériel personnalisé. Cette approche a positionné Neural Magic comme un acteur notable dans le domaine de l'infrastructure IA, en particulier pour les organisations cherchant à éviter les coûts élevés et les contraintes d'approvisionnement des clusters GPU.
Historique et Fondation
Neural Magic a été fondée en 2017 par Mark Chen, Jakob Uszkoreit et Lukasz Kaiser, trois chercheurs ayant des parcours en apprentissage automatique et en systèmes. Uszkoreit et Kaiser ont été des contributeurs précoces à l'architecture transformeur chez Google, et Chen avait travaillé sur des techniques d'inférence efficace. Le trio visait à commercialiser des recherches sur les réseaux de neurones parcimonieux, qui avaient montré que les modèles pouvaient être élagués à une fraction de leur taille d'origine tout en conservant leur précision. L'entreprise a initialement opéré en mode furtif, publiant des articles académiques et développant sa technologie de base avant de lancer publiquement ses premiers produits en 2020.
En 2020, Neural Magic a publié son moteur d'inférence DeepSparse, qui a démontré des accélérations significatives pour les modèles convolutionnels et transformeurs sur CPU. L'entreprise a également introduit SparseML, une bibliothèque open-source pour appliquer la parcimonie et la quantification aux modèles pendant l'entraînement. Ces publications ont attiré l'attention des entreprises et des fournisseurs de cloud, conduisant à des partenariats avec des sociétés comme Intel et AMD. En 2021, Neural Magic avait levé plus de 50 millions de dollars auprès d'investisseurs tels que NEA, Andreessen Horowitz et Pillar VC. L'entreprise a continué à élargir sa gamme de produits, ajoutant le support de l'inférence de grands modèles de langage et s'intégrant à des frameworks populaires tels que PyTorch et Hugging Face Transformers.
Technologie et Approche
La technologie centrale de Neural Magic repose sur deux techniques principales : la parcimonie et la quantification. La parcimonie consiste à élaguer les poids d'un réseau de neurones, en les mettant à zéro, ce qui réduit le nombre de multiplications nécessaires pendant l'inférence. La quantification réduit la précision des poids et des activations de nombres flottants 32 bits à des entiers 8 bits, réduisant encore le coût computationnel et la bande passante mémoire. Le logiciel de l'entreprise applique automatiquement ces techniques aux modèles, souvent avec une perte minimale de précision, puis génère un code optimisé pour le CPU cible.
Le runtime DeepSparse est le moteur qui exécute ces modèles compressés. Il utilise une technique appelée multiplication de matrices parcimonieuses, qui saute les entrées nulles, et exploite les instructions vectorielles du CPU telles que AVX-512 et VNNI pour accélérer les opérations restantes. Le runtime inclut également un compilateur juste-à-temps qui génère des noyaux spécialisés pour chaque modèle et configuration matérielle. Cette approche permet à Neural Magic d'atteindre des vitesses d'inférence qui rivalisent ou dépassent celles des systèmes basés sur GPU pour certaines charges de travail, en particulier pour l'inférence par lots et les applications en temps réel.
SparseML, la bibliothèque d'entraînement compagnon, fournit des API pour l'élagage et la quantification pendant l'entraînement ou le réglage fin des modèles. Elle prend en charge une technique appelée élagage progressif par magnitude, qui supprime progressivement les poids en fonction de leur magnitude, et un entraînement sensible à la quantification, qui simule l'arithmétique à faible précision pendant l'entraînement pour préserver la précision. Ces outils sont conçus pour être faciles à intégrer dans les pipelines d'apprentissage automatique existants, rendant la technologie accessible à un large éventail de développeurs.
Produits et Services
Neural Magic propose plusieurs produits sous les marques DeepSparse et SparseML. Le runtime DeepSparse est disponible sous forme de paquet Python et de conteneur Docker, et il prend en charge les déploiements sur CPU et dans le cloud. Il inclut un mode serveur pour servir des modèles via des API REST, ainsi qu'une bibliothèque client pour intégrer l'inférence dans des applications. L'entreprise fournit également un zoo de modèles pré-optimisés, une collection de modèles populaires qui ont été élagués et quantifiés, prêts pour un déploiement immédiat.
SparseML est une bibliothèque open-source qui s'intègre à PyTorch et TensorFlow, offrant des interfaces en ligne de commande et des API Python pour appliquer la parcimonie et la quantification. Elle inclut également des recettes pour des modèles courants comme réseaux résiduels et des variantes de transformeurs, qui spécifient le calendrier d'élagage et les hyperparamètres. En outre, Neural Magic propose un service cloud appelé DeepSparse Cloud, qui fournit des points de terminaison d'inférence gérés avec mise à l'échelle automatique, bien que ce service ait ensuite été abandonné au profit de déploiements sur site.
Pour l'inférence de grands modèles de langage, Neural Magic a développé des optimisations spécialisées pour des modèles comme Llama et Mistral. Ces optimisations incluent la quantification du cache KV et des noyaux fusionnés qui réduisent l'utilisation de la mémoire et améliorent le débit. L'entreprise a également collaboré avec Intel pour optimiser son logiciel pour les derniers processeurs Xeon d'Intel, obtenant des gains de performance significatifs sur des benchmarks populaires.
Performance et Benchmarks
Neural Magic publie des résultats de benchmarks démontrant l'efficacité de sa technologie. Par exemple, sur un serveur Intel Xeon Platinum 8380 à double socket, l'entreprise a rapporté qu'une version élaguée et quantifiée du modèle BERT-large atteignait plus de 1 000 phrases par seconde, contre environ 200 pour la ligne de base non optimisée. Pour des modèles de vision par ordinateur comme YOLOv5, DeepSparse a atteint des taux de trames dépassant 100 FPS sur un seul socket CPU, ce qui est compétitif avec l'inférence GPU pour de nombreuses applications.
L'entreprise met également en avant les avantages en termes de coûts de l'inférence basée sur CPU. En utilisant l'infrastructure serveur existante, les organisations peuvent éviter les dépenses en capital des clusters GPU et réduire la consommation d'énergie. La technologie de Neural Magic est particulièrement attrayante pour les déploiements en périphérie, où l'énergie et l'espace sont limités, et pour les applications en temps réel qui nécessitent une faible latence.
Cependant, les gains de performance dépendent de l'architecture du modèle et du degré de parcimonie réalisable. Les modèles denses avec une redondance limitée peuvent voir des améliorations plus faibles, et certaines charges de travail bénéficient toujours des GPU, en particulier pour les très grands modèles avec un parallélisme massif. Neural Magic reconnaît ces limitations et fournit des conseils sur les modèles les mieux adaptés à l'accélération CPU.
Position sur le Marché et Concurrence
Neural Magic opère dans le domaine concurrentiel de l'optimisation de l'inférence IA, qui comprend à la fois des solutions matérielles et logicielles. Côté matériel, des entreprises comme NVIDIA dominent avec les GPU, tandis que Groq et SambaNova proposent des accélérateurs IA spécialisés. Côté logiciel, les concurrents incluent Triton d'OpenAI, JAX de Google DeepMind, et divers frameworks de compilation comme TVM et ONNX Runtime. Neural Magic se différencie en se concentrant exclusivement sur les CPU, qui sont omniprésents et souvent sous-utilisés dans les centres de données.
L'entreprise a également fait face à la concurrence de techniques émergentes comme la distillation de modèles et la distillation de connaissances, qui peuvent produire des modèles plus petits sans matériel spécialisé. Cependant, l'approche de Neural Magic peut être combinée avec ces méthodes, et ses outils sont conçus pour compléter les flux de travail d'optimisation existants.
En 2023, Neural Magic a été acquise par Red Hat, une filiale d'IBM, pour un montant non divulgué. L'acquisition visait à intégrer la technologie de Neural Magic dans la plateforme OpenShift AI de Red Hat, offrant aux clients des options d'inférence basées sur CPU. Cette décision a signalé un intérêt croissant des fournisseurs de logiciels d'entreprise pour un déploiement IA efficace.
Cas d'Utilisation et Applications
La technologie de Neural Magic est utilisée dans une variété d'applications réelles. En vision par ordinateur, elle accélère la détection d'objets, la classification d'images et les modèles de segmentation pour une utilisation dans le commerce de détail, la fabrication et la sécurité. En traitement du langage naturel, elle alimente l'analyse des sentiments, la reconnaissance d'entités nommées et les systèmes de réponse aux questions. Le support des grands modèles de langage par l'entreprise a également permis le déploiement de chatbots et d'outils de génération de code sur des serveurs CPU, réduisant les coûts pour les startups et les entreprises.
Un cas d'utilisation notable est dans le secteur de la santé, où le logiciel de Neural Magic a été utilisé pour exécuter des modèles d'imagerie médicale sur des serveurs hospitaliers, évitant ainsi d'envoyer des données sensibles dans le cloud. Dans la finance, il accélère la détection de fraude et les modèles de trading algorithmique qui nécessitent une faible latence. La technologie est également utilisée dans les véhicules autonomes et la robotique, où les CPU sont souvent la seule ressource de calcul disponible.
Recherche et Open Source
Neural Magic maintient un programme de recherche actif, publiant des articles sur l'entraînement parcimonieux, la quantification et l'optimisation de l'inférence. Ses chercheurs ont contribué à des conférences comme NeurIPS, ICML et MLSys. L'entreprise publie également une grande partie de son logiciel en open source, y compris SparseML et des parties de DeepSparse, favorisant une communauté d'utilisateurs et de contributeurs.
La stratégie open-source a aidé Neural Magic à construire une large base d'utilisateurs et à établir sa crédibilité dans la communauté de l'apprentissage automatique. Les développeurs peuvent expérimenter avec les outils et les intégrer dans leurs projets, et l'entreprise bénéficie des retours et des contributions de la communauté. Cette approche est similaire à celle d'autres entreprises d'infrastructure IA comme Hugging Face et Weights & Biases.
Directions Futures
À l'avenir, Neural Magic vise à étendre son support pour les architectures de modèles et le matériel émergents. Avec la montée des modèles basés sur transformeurs et de l'IA générative, l'entreprise investit dans des optimisations pour l'inférence de grands modèles de langage, y compris des techniques comme le décodage spéculatif et le regroupement dynamique. Elle explore également le support des processeurs ARM et des CPU EPYC d'AMD, qui gagnent en popularité dans les environnements cloud.
À mesure que les modèles IA deviennent plus grands et plus complexes, le besoin d'une inférence efficace ne fera que croître. L'accent mis par Neural Magic sur les CPU pourrait devenir de plus en plus pertinent alors que les organisations cherchent à équilibrer performance, coût et consommation d'énergie. L'intégration de l'entreprise avec Red Hat et IBM offre une voie vers l'adoption en entreprise, et son écosystème open-source continue d'attirer des développeurs.
Conclusion
Neural Magic s'est établi comme un pionnier dans l'optimisation de l'inférence basée sur CPU, offrant une alternative convaincante aux approches centrées sur GPU. Sa combinaison de parcimonie, de quantification et d'ingénierie de runtime offre des améliorations de performance significatives sur du matériel standard, rendant l'IA plus accessible et abordable. Bien que des défis subsistent, tels que les limitations inhérentes des CPU pour certaines charges de travail, la technologie de l'entreprise s'est avérée précieuse dans plusieurs secteurs. Avec le soutien de Red Hat et d'IBM, Neural Magic est bien positionné pour jouer un rôle clé dans l'avenir du déploiement de l'IA.