Andrew - stock.adobe.com

IA générative : pourquoi l’inférence sur CPU prend de l’ampleur

Si avec l’émergence de l’IA générative, le secteur IT a les yeux rivés sur les GPU de Nvidia, d’autres pensent qu’il existe non seulement des alternatives chez AMD (et bientôt chez Intel), mais également que l’inférence de petits grands modèles de langage sur CPU est vouée à gagner en popularité.

Quand il est question d’IA générative et de grands modèles de langage, difficile de ne pas évoquer Nvidia. Le concepteur fabless d’accélérateurs de calcul est devenu la coqueluche des marchés financiers à raison. Il a su imposer à la fois ses GPU et les logiciels qui vont avec. À tel point que les concurrents, certes en retard, ne sont pas visibles. « Si l’on pouvait arrêter avec l’obsession Nvidia, cela me rendrait service. Les MI300 d’AMD sont excellents, testez-les dès que vous pouvez », conseille Julien Simon, chief Evangelist d’Hugging Face, lors de la Grosse Conf », un événement organisé par OCTO Technology, une filiale d’Accenture.

Il faut dire que les produits concurrents tels que les MI300, MI300X ou MI250 ne semblent pas accessibles en grande quantité. C’est également vrai pour les cartes Nvidia, notent la plupart des interlocuteurs du MagIT.

« Les GPU font l’objet d’une forte demande et ne sont pas disponibles sur le marché », signale Sudha Raghavan, vice-présidente senior plateformes développeur et conteneurs chez Oracle.

« Nous avons un pipeline qui se remplit à vitesse grand V, mais il n’est pas toujours évident de se procurer les GPU », confirme Adrienne Jan, Chief Product Officer chez Scaleway.

Le GPU, une ressource rare

Très coûteux à l’unité (de 10 à 40 000 dollars), gourmands en énergie, encombrants dans les data centers : les fournisseurs de cloud ont toutes les bonnes raisons du monde de proposer des alternatives aux GPU Nvidia, tout du moins pour certaines opérations.

Google Cloud (avec ses TPU) et AWS (avec Trainium) ont déjà conçu des puces spécialisées pour l’entraînement de modèles d’IA et d’IA générative.

Or, « l’enjeu, c’est l’inférence » ne cessait de répéter Éric Biernat, le directeur de l’IA chez OCTO Technology. L’inférence est l’étape pendant laquelle un modèle d’IA est exécuté pour accomplir une tâche particulière. Cette étape devient essentielle dans la mise en production des agents et autres copilotes propulsés à l’IA générative. « L’inférence, c’est 80 à 90 % du coût d’un projet », signale Julien Simon, lors de la Gross Conf ».

Chez Nvidia, il s’agit d’exploiter des cartes comme les A10, L4, les L40 et L40S. Elles n’ont ni la puissance ni la consommation des cartes H100 ou A100, mais suffisent pour exécuter des LLM de taille moyenne en production. Pour les ténors du genre, les GPU A100 et H100 demeurent essentiels. Quant aux GPU d’anciennes générations, telles les V100 et les T4, ils demeurent plus facilement disponibles, mais la quantité de VRAM ou encore la version des kernels prise en charge par les cartes peuvent causer des problèmes.

Ampere défend les capacités de ses CPU « cloud native »

Pour autant, ne serait-il pas possible d’utiliser des puces largement disponibles pour inférer les modèles ?

Si, répond Ampere Computing : les CPU taillés pour le cloud. S’il ne prétend pas remplacer les cartes Nvidia à l’entraînement, Victor Jakubiuk, Head of AI chez Ampere Computing, pense qu’il y a une place pour ses processeurs dans l’inférence de modèles de petite taille.

« Les GPU sont des bonnes plateformes pour entraîner des modèles, mais ils sont inefficients en matière de consommation d’énergie à l’inférence », avance-t-il. « Si vous multipliez les GPU pour l’inférence, cette inefficience se multiplie aussi ».

Aussi, Victor Jakubiuk pointe du doigt le fait que les middlewares au cœur des GPU sont fermés ou reposent sur des briques propriétaires. « Nous avons fait en sorte que les piles logicielles open source nécessaires à l’inférence soient compatibles avec nos processeurs cloud native : TensorFlow, PyTorch, ONNX, etc. Le déploiement est d’ailleurs plus simple ».

Pour la même puissance électrique d’un mégawatt, Ampere prétend qu’il peut faire tenir 2 400 serveurs équipés de puces Ampere Altra dans 60 racks, quand Nvidia fait tenir un 1 DGX H100 par rack. Selon lui, le tout reviendrait à un peu moins de 20 millions de dollars, quand l’achat de 60 DGX H100 reviendrait à 27 millions de dollars. Un DGX H100 réclamerait une puissance de 10 Kilowatts. « Le TDP de nos processeurs est compris entre 200-300 Watts », assure Victor Jakubiuk. « Cela veut dire que vous pouvez ajouter plus de nos serveurs dans un seul rack pour une même puissance électrique [qu'un rack dédié à des serveurs GPU]. Si vous avez plus de serveurs, vous pouvez déployer plus de VM et servir davantage de clients ».

« Les poids des modèles n’ont pas à être subdivisés entre plusieurs GPU, tout peut tenir dans la RAM sur la carte mère qui accueille le CPU. Les technologies GDDR6 et HBM3 sont plus rapides, mais vous le payez en consommation et en gestion de la quantité », argumente-t-il.

Quand il faut au moins quatre GPU Nvidia A100 de 80 Go pour exécuter un modèle comme Falcon 180B, théoriquement, deux Ampere Altra Max (128 cœurs chacun) et 1 To de RAM DDR4 devraient obtenir des performances similaires. Quoique ce scénario semble peu adapté aux besoins des entreprises, selon Victor Jakubiuk.

« Nous expérimentons encore, mais nous pensons qu’il y a une place pour des instances de GPU et de CPU ».
Sudha RaghavanV-P senior plateformes développeur et conteneurs, Oracle

« Sur un processeur Ampere, un modèle Mistral 7B bénéficie jusqu’à 80 % d’augmentation du rapport prix performance », ajoute-t-il. « C’est d’ailleurs ce que font les entreprises : elles peuvent fine-tuner de petits modèles et obtenir des performances intéressantes pour leur cas d’usage ».

Ampere a déjà convaincu Oracle. « Nous essayons des CPU dès que c’est possible », avance Sudha Raghavan. « En interne, nous testons l’inférence de modèles jusqu’à 7 milliards de paramètres sur des puces Ampere, ce qui nous permet d’obtenir des performances similaires à un coût énergétique bien plus faible », indique-t-elle. Par exemple, Oracle a fine tuné un modèle de 7 milliards de paramètres et l’a intégré dans une architecture RAG à des fins de support. Ce n’est toutefois pas encore en production. « Nous expérimentons encore, mais nous pensons qu’il y a une place pour des instances de GPU et de CPU ».

Pour l’heure, le rapport prix-performance est quasi identique à un GPU, « mais le rapport performance par watt est largement en faveur des CPU Ampere », avance Sudha Raghavan d’Oracle.

De son côté, Scaleway vient de lancer des instances managées basées sur Kubernetes propulsées par des cartes H100 et L4 ainsi que des instances ARM généralistes propulsées par les puces Ampere. « La prochaine étape, c’est aussi de proposer une option avec des CPU pour l’IA », anticipe la Chief Product Officer de Scaleway. « Les retours que nous avons obtenus des clients est qu’ils vont utiliser un mix entre des instances CPU et GPU suivant les cas d’usage. Par exemple, l’analyse de sentiments sur les réseaux sociaux réclame un modèle assez simple qui peut s’exécuter sur CPU », note-t-elle.

Un équilibre à trouver entre inférence sur GPU et sur CPU

« Le “sweet spot” pour un CPU semble être 7 milliards de paramètres. »
Adrienne JanChief Product Officer, Scaleway

Scaleway anticipe que ses clients utiliseront les instances H100 pour exécuter des LLMs de belle taille et de taille plus réduite sur des cartes L4. « Plus tard, l’on imagine qu’il y aura de l’inférence de petits modèles de langage sur CPU, mais ce n’est pas encore le cas dans nos data centers », affirme Adrienne Jan.

« À partir d’une dizaine de milliards de paramètres, actuellement vous êtes obligés d’opter pour des GPU. Ampere nous a évoqué des tests concluants avec des modèles d’une trentaine de milliards de paramètres, mais le “sweet spot” pour un CPU semble être 7 milliards de paramètres », observe-t-elle.

Un constat partagé par la plupart des interlocuteurs du MagIT.

Pour Shaun O’Meara, CTO de Mirantis, l’inférence sur CPU « n’est pas encore très rapide ». « Même si Nvidia tient le marché, les GPU sont voués à être de moins en moins chers », anticipe-t-il.

De son côté, Hugging Face, comme bon nombre de frameworks d’inférence open source, tente d’offrir le support le plus large possible pour les GPU et les CPU du marché.

« Quel que soit l’environnement utilisé, le matériel utilisé, vous devez pouvoir travailler de manière optimale avec les modèles disponibles sur Hugging Face », affirme Julien Simon.

« La clé, c’est de travailler avec un modèle adapté : le plus petit modèle qui va faire le job. »
Julien SimonChief Evangelist, Hugging Face

Le fait d’exécuter de plus petits modèles est une évidence pour le chief evangelist qui considère que les mastodontes sont chers. « La clé, c’est de travailler avec un modèle adapté : le plus petit modèle qui va faire le job », conseille Julien Simon. « Cela vous fera gagner du temps et de l’argent ».

« Nous observons des projets réussis avec des modèles même plus petits que Mistral 7B : par exemple, Phi 2, tinyllama 1.1B sont deux petits LLM étonnamment capables », ajoute-t-il.

Ces modèles peuvent d’ailleurs être exécutés sur le processeur Intel d’un ordinateur portable. « De manière générale, les instances cloud équipées d’A10 de Nvidia sont intéressantes. Il y a des alternatives, notamment l’inférence sur CPU, sur site, dans le cloud (Intel, AWS Inferentia). Et je pense que l’inférence locale sur ordinateur portable va devenir un vrai sujet », anticipe Julien Simon. Et de prouver son raisonnement en faisant la démonstration de Phi-2 s’exécutant sur un ordinateur portable MSI équipé d’un processeur Intel Meteor Lake doté d’un iGPU (un processeur graphique intégré).

Le Chief Evangelist d’Hugging Face prévient toutefois qu’il faut les bonnes librairies logicielles d’optimisation pour obtenir des gains intéressants.

De fait, il est encore difficile d’évaluer les coûts d’inférence à large échelle. « À terme, ce serait un véritable problème. Vous devez avoir en tête l’optimisation de l’inférence en tête, sinon vous aurez de mauvaises surprises », prévient Julien Simon.

Pour approfondir sur Intelligence Artificielle et Data Science