Naviguer dans le coût élevé du calcul de l'IA

Naviguer dans le coût élevé du calcul de l'IA

Naviguer dans le coût élevé de l’IA Compute PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
Source : Midjourney

Le boom de l'IA générative est lié au calcul. Il a la propriété unique que l'ajout de plus de calcul se traduit directement par un meilleur produit. Habituellement, l'investissement en R&D est plus directement lié à la valeur d'un produit, et cette relation est nettement sous-linéaire. Mais ce n'est pas le cas actuellement avec l'intelligence artificielle et, par conséquent, un facteur prédominant qui anime l'industrie aujourd'hui est simplement le coût de la formation et de l'inférence. 

Bien que nous ne connaissions pas les vrais chiffres, nous avons entendu de sources fiables que l'offre de calcul est si limitée que la demande la dépasse d'un facteur 10 (!). Nous pensons donc qu'il est juste de dire que, pour le moment, l'accès aux ressources de calcul - au coût total le plus bas - est devenu un facteur déterminant pour le succès des entreprises d'IA.

En fait, nous avons vu de nombreuses entreprises dépenser plus de 80 % de leur capital total levé en ressources de calcul !

Dans cet article, nous essayons de décomposer les facteurs de coût pour une entreprise d'IA. Les chiffres absolus changeront bien sûr avec le temps, mais nous ne voyons pas de soulagement immédiat pour les entreprises d'IA liées par leur accès aux ressources de calcul. Donc, espérons-le, c'est un cadre utile pour réfléchir au paysage. 

Pourquoi les modèles d'IA sont-ils si coûteux en termes de calcul ?

Il existe une grande variété de modèles d'IA générative, et les coûts d'inférence et de formation dépendent de la taille et du type de modèle. Heureusement, les modèles les plus populaires aujourd'hui sont principalement des architectures basées sur des transformateurs, qui incluent des modèles de grand langage (LLM) populaires tels que GPT-3, GPT-J ou BERT. Alors que le nombre exact d'opérations pour l'inférence et l'apprentissage des transformateurs est spécifique au modèle (voir le présent document), il existe une règle empirique assez précise qui dépend uniquement du nombre de paramètres (c'est-à-dire des poids des réseaux de neurones) du modèle et du nombre de jetons d'entrée et de sortie. 

Les jetons sont essentiellement de courtes séquences de quelques caractères. Ils correspondent à des mots ou à des parties de mots. La meilleure façon d'avoir une intuition pour les jetons est d'essayer la tokenisation avec des tokenizers en ligne accessibles au public (par exemple, OpenAI). Pour GPT-3, la longueur moyenne d'un jeton est de 4 caractères

La règle de base pour les transformateurs est qu'une passe avant (c'est-à-dire une inférence) pour un modèle avec p paramètres pour une entrée et une séquence de sortie de longueur n tokens chacun, prend environ 2*n*p opérations en virgule flottante (FLOPS)¹. La formation pour le même modèle prend environ 6*p FLOPS par jeton (c'est-à-dire que la passe arrière supplémentaire nécessite quatre opérations supplémentaires²). Vous pouvez estimer le coût total de la formation en le multipliant par le nombre de jetons dans les données de formation.

Les besoins en mémoire des transformateurs dépendent également de la taille du modèle. Pour l'inférence, nous avons besoin de p paramètres du modèle pour s'adapter à la mémoire. Pour l'apprentissage (c'est-à-dire la rétro-propagation), nous devons stocker des valeurs intermédiaires supplémentaires par paramètre entre les passes avant et arrière. En supposant que nous utilisons des nombres à virgule flottante 32 bits, cela représente 8 octets supplémentaires par paramètre. Pour former un modèle de 175 milliards de paramètres, nous aurions besoin de conserver plus d'un téraoctet de données en mémoire - cela dépasse n'importe quel GPU existant aujourd'hui et nous oblige à diviser le modèle sur plusieurs cartes. Les besoins en mémoire pour l'inférence et la formation peuvent être optimisés en utilisant des valeurs à virgule flottante de longueurs plus courtes, le 16 bits devenant courant et le 8 bits prévu dans un avenir proche.

Naviguer dans le coût élevé de l’IA Compute PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le tableau ci-dessus présente les tailles et les coûts de calcul de plusieurs modèles populaires. GPT-3 a environ 175 milliards de paramètres, ce qui, pour une entrée et une sortie de 1,024 350 jetons, entraîne un coût de calcul d'environ 3 3.14 milliards d'opérations en virgule flottante (c'est-à-dire, des téraflops ou des TFLOPS). La formation d'un modèle comme GPT-10 nécessite environ 23*XNUMX^XNUMX opérations en virgule flottante. D'autres modèles comme le LLaMA de Meta ont encore plus haut besoins de calcul. La formation d'un tel modèle est l'une des tâches les plus intensives en calcul que l'humanité ait entreprises jusqu'à présent. 

Pour résumer : l'infrastructure d'IA est coûteuse car les problèmes algorithmiques sous-jacents sont extrêmement complexes en termes de calcul. La complexité algorithmique du tri d'une table de base de données avec un million d'entrées est insignifiante par rapport à la complexité de la génération d'un seul mot avec GPT-3. Cela signifie que vous voulez choisir le plus petit modèle qui résout votre cas d'utilisation. 

La bonne nouvelle est que, pour les transformateurs, nous pouvons facilement estimer la quantité de calcul et de mémoire qu'un modèle d'une certaine taille consommera. Et donc, choisir le bon matériel devient la considération suivante. 

L'argument du temps et du coût pour les GPU

Comment la complexité de calcul se traduit-elle en temps ? Un cœur de processeur peut généralement exécuter 1 à 2 instructions par cycle, et les fréquences d'horloge du processeur sont restées stables autour de 3 GHz au cours des 15 dernières années en raison de la fin de Mise à l'échelle de Dennard. L'exécution d'une seule opération d'inférence GPT-3 sans exploiter aucune architecture parallèle prendrait de l'ordre de 350 TFLOPS/(3 GHz*1 FLOP) ou 116,000 32 secondes, ou XNUMX heures. C'est extrêmement peu pratique; à la place, nous avons besoin de puces spécialisées qui accélèrent cette tâche.

En pratique, tous les modèles d'IA tournent aujourd'hui sur des cartes utilisant un très grand nombre de cœurs spécialisés. Par exemple, un GPU NVIDIA A100 possède 512 "cœurs tenseurs" qui peuvent effectuer une multiplication matricielle 4 × 4 (ce qui équivaut à 64 multiplications et additions, ou 128 FLOPS) en un seul cycle. Les cartes accélératrices d'IA sont souvent appelées GPU (unités de traitement graphique), car l'architecture a été initialement développée pour les jeux de bureau. À l'avenir, nous nous attendons à ce que l'IA devienne de plus en plus une famille de produits distincte. 

L'A100 a une performance nominale de 312 TFLOPS ce qui, en théorie, réduirait l'inférence pour GPT-3 à environ 1 seconde. Cependant, il s'agit d'un calcul trop simplifié pour plusieurs raisons. Tout d'abord, dans la plupart des cas d'utilisation, le goulot d'étranglement n'est pas la puissance de calcul du GPU, mais la capacité d'obtenir des données de la mémoire graphique spécialisée vers les cœurs de tenseurs. Deuxièmement, les 175 milliards de poids occuperaient 700 Go et ne rentreraient dans la mémoire graphique d'aucun GPU. Des techniques telles que le partitionnement et le flux de poids doivent être utilisées. Et, troisièmement, il existe un certain nombre d'optimisations (par exemple, en utilisant des représentations à virgule flottante plus courtes, telles que FP16, FP8 ou des matrices creuses) qui sont utilisées pour accélérer le calcul. Mais, dans l'ensemble, les calculs ci-dessus nous donnent une intuition du coût de calcul global des LLM d'aujourd'hui.

La formation d'un modèle de transformateur prend environ trois fois plus de temps par jeton que l'inférence. Cependant, étant donné que l'ensemble de données de formation est environ 300 millions de fois plus grand qu'une invite d'inférence, la formation prend plus de temps d'un facteur de 1 milliard. Sur un seul GPU, la formation prendrait des décennies ; en pratique, cela se fait sur de grands clusters de calcul dans des centres de données dédiés ou, plus probablement, dans le cloud. La formation est également plus difficile à paralléliser que l'inférence, car les poids mis à jour doivent être échangés entre les nœuds. La mémoire et la bande passante entre les GPU deviennent souvent un facteur beaucoup plus important, les interconnexions à haut débit et les tissus dédiés étant courants. Pour la formation de très grands modèles, la création d'une configuration réseau appropriée peut être le principal défi. À l'avenir, les accélérateurs d'IA auront des capacités de mise en réseau sur la carte ou même sur la puce. 

Comment cette complexité de calcul se traduit-elle en coût ? Une inférence GPT-3, qui, comme nous l'avons vu ci-dessus, prend environ 1 seconde sur un A100 aurait un coût de calcul brut compris entre 0.0002 $ et 0.0014 $ pour 1,000 0.002 jetons (cela se compare au prix d'OpenAI de 1000 $/100 XNUMX jetons). Un utilisateur générant XNUMX requêtes d'inférence par jour coûterait de l'ordre de dollars par an. Il s'agit d'un prix très bas et rend la plupart des cas d'utilisation de l'IA basée sur le texte par des humains financièrement viables.

Formation GPT-3, en revanche, est beaucoup plus cher. Encore une fois, calculer uniquement le coût de calcul pour 3.14*10^23 FLOPS aux taux ci-dessus nous donne une estimation de 560,000 100 $ sur les cartes AXNUMX pour un course d'entraînement unique. En pratique, pour la formation, nous n'obtiendrons pas une efficacité proche de 100 % dans le GPU ; Cependant, nous pouvons également utiliser des optimisations pour réduire le temps de formation. D'autres estimations du coût de la formation GPT-3 vont de $500,000 à M $ 4.6, en fonction des hypothèses matérielles. Notez qu'il s'agit du coût d'une seule exécution et non du coût global. Plusieurs exécutions seront probablement nécessaires et les fournisseurs de cloud voudront des engagements à long terme (plus d'informations à ce sujet ci-dessous). Former des modèles haut de gamme reste cher, mais à la portée d'une start-up bien financée.

Pour résumer, l'IA générative nécessite aujourd'hui des investissements massifs dans l'infrastructure de l'IA. Il n'y a aucune raison de croire que cela changera dans un avenir proche. La formation d'un modèle comme GPT-3 est l'une des tâches les plus intensives en calcul que l'humanité ait jamais entreprises. Et tandis que les GPU deviennent plus rapides et que nous trouvons des moyens d'optimiser la formation, l'expansion rapide de l'IA annule ces deux effets.

Considérations relatives à l'infrastructure d'IA

Jusqu'à présent, nous avons essayé de vous donner une idée de l'échelle requise pour effectuer la formation et l'inférence des modèles d'IA, et des paramètres sous-jacents qui les animent. Dans ce contexte, nous souhaitons maintenant fournir des conseils pratiques sur la manière de décider quelle infrastructure d'IA utiliser.

Infrastructure externe ou interne

Avouons-le : les GPU sont cool. De nombreux ingénieurs et fondateurs à l'esprit d'ingénierie ont un penchant pour l'approvisionnement de leur propre matériel d'IA, non seulement parce qu'il donne un contrôle précis sur la formation des modèles, mais parce qu'il y a juste quelque chose d'amusant à exploiter de grandes quantités de puissance de calcul (Pièce A).

La réalité, cependant, est que de nombreuses startups, en particulier les sociétés d'applications, n'ont pas besoin de créer leur propre infrastructure d'IA au jour 1. Au lieu de cela, des services de modèles hébergés comme OpenAI ou Hugging Face (pour le langage) et Replicate (pour la génération d'images) permettent aux fondateurs de rechercher rapidement l'adéquation produit-marché sans avoir à gérer l'infrastructure ou les modèles sous-jacents.

Ces services sont devenus si bons que de nombreuses entreprises n'en sortent jamais diplômés. Les développeurs peuvent obtenir un contrôle significatif sur les performances du modèle grâce à une ingénierie rapide et à des abstractions de réglage fin d'ordre supérieur (c'est-à-dire, un réglage fin via des appels d'API). La tarification de ces services est basée sur la consommation, elle est donc souvent moins chère que l'exploitation d'une infrastructure distincte. Nous avons vu des sociétés d'applications générer plus de 50 millions de dollars d'ARR et évalués à plus d'un milliard de dollars, qui exécutent des services modèles hébergés sous le capot.

D'un autre côté, certaines startups - en particulier ceux qui forment de nouveaux modèles de base ou créent des applications d'IA intégrées verticalement - ne peuvent pas éviter d'exécuter directement leurs propres modèles sur les GPU. Soit parce que le modèle est effectivement le produit et que l'équipe recherche une « adéquation modèle-marché », soit parce qu'un contrôle précis de la formation et/ou de l'inférence est nécessaire pour atteindre certaines capacités ou réduire le coût marginal à grande échelle. Dans tous les cas, la gestion de l'infrastructure peut devenir une source d'avantage concurrentiel.

Le cloud contre la construction du centre de données

Dans la plupart des cas, le cloud est le bon endroit pour votre infrastructure d'IA. Des coûts initiaux moindres, la possibilité d'évoluer vers le haut et vers le bas, la disponibilité régionale et moins de distractions liées à la construction de votre propre centre de données sont des atouts pour la plupart des startups et des grandes entreprises.

Mais il y a quelques exceptions à cette règle :

  • Si vous opérez à très grande échelle, il peut devenir plus rentable de gérer votre propre centre de données. Le prix exact varie en fonction de l'emplacement géographique et de la configuration, mais il nécessite généralement des dépenses d'infrastructure de plus de 50 millions de dollars par an.
  • Vous avez besoin d'un matériel très spécifique que vous ne pouvez pas obtenir auprès d'un fournisseur de cloud. Par exemple, les types de GPU qui ne sont pas largement disponibles, ainsi que les exigences inhabituelles en matière de mémoire, de stockage ou de mise en réseau.
  • Vous ne pouvez pas trouver un nuage acceptable pour des considérations géopolitiques.

Si vous souhaitez créer votre propre centre de données, il existe une analyse complète des prix/performances des GPU pour votre propre configuration (par exemple, L'analyse de Tim Dettmer). Outre le coût et les performances de la carte elle-même, la sélection du matériel dépend également de l'alimentation, de l'espace et du refroidissement. Par exemple, deux cartes RTX 3080 Ti ont ensemble une capacité de calcul brute similaire à celle d'un A100, mais la consommation électrique respective est de 700 W contre 300 W. La différence de puissance de 3,500 0.10 kWh aux tarifs du marché de 3080 $/kWh sur un cycle de vie de trois ans augmente le coût du RTX2 Ti de près de 1,000x (environ XNUMX XNUMX $).

Cela dit, nous nous attendons à ce que la grande majorité des startups utilisent le cloud computing. 

Comparaison des fournisseurs de services cloud 

Amazon Web Services (AWS), Microsoft Azure et Google Cloud Platform (GCP) proposent tous des instances GPU, mais de nouveaux fournisseurs semblent également se concentrer spécifiquement sur les charges de travail d'IA. Voici un cadre que nous avons vu de nombreux fondateurs utiliser pour choisir un fournisseur de cloud :

Prix: Le tableau ci-dessous indique les prix d'un certain nombre de clouds spécialisés majeurs et plus petits au 7 avril 2023. Ces données ne sont qu'indicatives, car les instances varient considérablement en termes de bande passante réseau, de coûts de sortie de données, de coût supplémentaire du CPU et du réseau, disponible remises et d'autres facteurs.

Naviguer dans le coût élevé de l’IA Compute PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La capacité de calcul sur un matériel spécifique est une marchandise. Naïvement, on s'attendrait à des prix assez uniformes, mais ce n'est pas le cas. Et bien qu'il existe des différences de fonctionnalités substantielles entre les clouds, elles sont insuffisantes pour expliquer que le prix d'un NVIDIA A100 à la demande varie d'un facteur de près de 4x entre les fournisseurs.

Au sommet de l'échelle de prix, les grands clouds publics facturent une prime basée sur la réputation de la marque, la fiabilité éprouvée et la nécessité de gérer un large éventail de charges de travail. Les petits fournisseurs d'IA spécialisés offrent des prix plus bas, soit en exploitant des centres de données spécialement conçus (par exemple, Coreweave), soit en arbitrant d'autres clouds (par exemple, Lambda Labs).

En pratique, la plupart des gros acheteurs négocient les prix directement avec les fournisseurs de cloud, s'engageant souvent à des dépenses minimales ainsi qu'à des engagements de temps minimum (nous avons vu 1 à 3 ans). Les écarts de prix entre les clouds se réduisent quelque peu après négociation, mais nous avons vu le classement dans le tableau ci-dessus rester relativement stable. Il est également important de noter que les petites entreprises peuvent obtenir des tarifs agressifs à partir de clouds spécialisés sans engagements de dépenses importants.

Disponibilité: Les GPU les plus puissants (par exemple, les Nvidia A100) ont toujours été rares au cours des 12 derniers mois. 

Il serait logique de penser que les trois principaux fournisseurs de cloud ont la meilleure disponibilité, compte tenu de leur grand pouvoir d'achat et de leur pool de ressources. Mais, de manière quelque peu surprenante, de nombreuses startups n'ont pas trouvé que c'était vrai. Les grands clouds ont beaucoup de matériel, mais ont également de gros besoins de clients à satisfaire - par exemple, Azure est l'hôte principal de ChatGPT - et ajoutent/louent constamment de la capacité pour répondre à la demande. Pendant ce temps, Nvidia s'est engagé à rendre le matériel largement disponible dans l'industrie, y compris des allocations pour de nouveaux fournisseurs spécialisés. (Ils le font à la fois pour être juste et pour réduire leur dépendance vis-à-vis de quelques gros clients qui leur font également concurrence.)

En conséquence, de nombreuses startups trouvent plus de puces disponibles, y compris les Nvidia H100 de pointe, chez les petits fournisseurs de cloud. Si vous êtes prêt à travailler avec une nouvelle société d'infrastructure, vous pourrez peut-être réduire les temps d'attente pour le matériel et éventuellement économiser de l'argent dans le processus.

Calculer le modèle de livraison : Les grands clouds ne proposent aujourd'hui que des instances avec GPU dédiés, la raison étant que la virtualisation GPU reste un problème non résolu. Les clouds d'IA spécialisés proposent d'autres modèles, tels que des conteneurs ou des tâches par lots, qui peuvent gérer des tâches individuelles sans encourir les coûts de démarrage et de démontage d'une instance. Si vous êtes à l'aise avec ce modèle, il peut réduire considérablement les coûts.

Interconnexions réseau : Pour la formation, en particulier, la bande passante du réseau est un facteur majeur dans la sélection du fournisseur. Des clusters avec des structures dédiées entre les nœuds, tels que NVLink, sont nécessaires pour former certains grands modèles. Pour la génération d'images, les frais de trafic de sortie peuvent également être un facteur de coût majeur.

Service client: Les grands fournisseurs de cloud servent un vaste bassin de clients à travers des milliers de références de produits. Il peut être difficile d'attirer l'attention du support client ou de résoudre un problème, sauf si vous êtes un gros client. De nombreux clouds d'IA spécialisés, en revanche, offrent une assistance rapide et réactive, même pour les petits clients. C'est en partie parce qu'ils opèrent à plus petite échelle, mais aussi parce que leurs charges de travail sont plus homogènes - ils sont donc plus incités à se concentrer sur les fonctionnalités et les bogues spécifiques à l'IA.

Comparer les GPU 

Toutes choses étant égales par ailleurs, les GPU haut de gamme fonctionneront mieux sur presque toutes les charges de travail. Cependant, comme vous pouvez le voir dans le tableau ci-dessous, le meilleur matériel est également nettement plus cher. Choisir le bon type de GPU pour votre application spécifique peut réduire considérablement les coûts et peut faire la différence entre un modèle commercial viable et non viable.

Naviguer dans le coût élevé de l’IA Compute PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Décider jusqu'où aller dans la liste, c'est-à-dire déterminer les choix de GPU les plus rentables pour votre application, est en grande partie une décision technique qui dépasse le cadre de cet article. Mais nous partagerons ci-dessous certains des critères de sélection que nous avons vus sont les plus importants :

Entraînement vs inférence : Comme nous l'avons vu dans la première section ci-dessus, la formation d'un modèle Transformer nous oblige à stocker 8 octets de données pour la formation en plus des poids du modèle. Cela signifie qu'un GPU grand public haut de gamme typique avec 12 Go de mémoire pourrait à peine être utilisé pour former un modèle de 4 milliards de paramètres. En pratique, la formation de grands modèles est effectuée sur des clusters de machines avec de préférence de nombreux GPU par serveur, beaucoup de VRAM et des connexions à bande passante élevée entre les serveurs (c'est-à-dire des clusters construits à l'aide de GPU de centre de données haut de gamme).

Plus précisément, de nombreux modèles seront les plus rentables sur le NVIDIA H100, mais à ce jour, il est difficile à trouver et nécessite généralement un engagement à long terme de plus d'un an. Le NVIDIA A100 exécute la plupart des formations de modèles aujourd'hui ; c'est plus facile à trouver mais, pour les grands clusters, cela peut aussi nécessiter un engagement à long terme.

Mémoire requise : Les grandes LLM ont un nombre de paramètres trop élevé pour tenir dans n'importe quelle carte. Ils doivent être répartis sur plusieurs cartes et nécessitent une configuration similaire à la formation. En d'autres termes, vous avez probablement besoin de H100 ou A100 même pour l'inférence LLM. Mais les modèles plus petits (par exemple, Stable Diffusion) nécessitent beaucoup moins de VRAM. Alors que l'A100 est toujours populaire, nous avons vu des startups utiliser les cartes A10, A40, A4000, A5000 et A6000, ou même RTX. 

Prise en charge matérielle : Alors que la grande majorité des charges de travail des entreprises avec lesquelles nous avons parlé s'exécutent sur NVIDIA, quelques-unes ont commencé à expérimenter avec d'autres fournisseurs. Le plus courant est le Google TPU, mais le Gaudi 2 d'Intel semble également gagner du terrain. Le défi avec ces fournisseurs est que les performances de votre modèle dépendent souvent fortement de la disponibilité des optimisations logicielles pour ces puces. Vous devrez probablement faire un PoC afin de comprendre les performances.

Exigences de latence : En général, les charges de travail moins sensibles à la latence (par exemple, le traitement de données par lots ou les applications qui ne nécessitent pas de réponses d'interface utilisateur interactives) peuvent utiliser des GPU moins puissants. Cela peut réduire les coûts de calcul jusqu'à 3 à 4 fois (par exemple, en comparant les A100 aux A10 sur AWS). Les applications destinées aux utilisateurs, en revanche, ont souvent besoin de cartes haut de gamme pour offrir une expérience utilisateur attrayante en temps réel. L'optimisation des modèles est souvent nécessaire pour ramener les coûts dans une fourchette gérable.

Piquant: Les entreprises d'IA générative voient souvent des pics de demande spectaculaires car la technologie est si nouvelle et passionnante. Il n'est pas rare de voir les volumes de demandes augmenter de 10 fois par jour, en fonction de la sortie d'un nouveau produit, ou augmenter de 50 % par semaine de manière constante. La gestion de ces pics est souvent plus facile sur les GPU bas de gamme, car davantage de nœuds de calcul sont probablement disponibles à la demande. Il est également souvent judicieux de desservir ce type de trafic avec des ressources moins coûteuses - au détriment des performances - s'il provient d'utilisateurs moins engagés ou moins fidèles.

Modèles d'optimisation et de planification

Les optimisations logicielles peuvent affecter considérablement la durée d'exécution des modèles - et les gains 10x ne sont pas rares. Cependant, vous devrez déterminer quelles méthodes seront les plus efficaces avec votre modèle et votre système particuliers.

Certaines techniques fonctionnent avec une gamme assez large de modèles. L'utilisation de représentations à virgule flottante plus courtes (par exemple, FP16 ou FP8 par rapport au FP32 d'origine) ou la quantification (INT8, INT4, INT2) permet d'obtenir une accélération souvent linéaire avec la réduction des bits. Cela nécessite parfois de modifier le modèle, mais il existe de plus en plus de technologies disponibles qui automatisent le travail avec une précision mixte ou plus courte. L'élagage des réseaux de neurones réduit le nombre de poids en ignorant les poids avec des valeurs faibles. Associé à une multiplication de matrice creuse efficace, cela peut accélérer considérablement les GPU modernes. Un autre ensemble de techniques d'optimisation s'attaque au goulot d'étranglement de la bande passante mémoire (par exemple, en diffusant les pondérations des modèles).

D'autres optimisations sont très spécifiques au modèle. Par exemple, Stable Diffusion a fait des progrès majeurs dans la quantité de VRAM requise pour l'inférence. Une autre classe d'optimisations est spécifique au matériel. Le TensorML de NVIDIA comprend un certain nombre d'optimisations, mais ne fonctionnera que sur le matériel NVIDIA. Dernier point, mais non des moindres, la planification des tâches d'IA peut créer d'énormes goulots d'étranglement ou améliorations des performances. L'allocation de modèles aux GPU de manière à minimiser l'échange de poids, la sélection du meilleur GPU pour une tâche si plusieurs sont disponibles et la minimisation des temps d'arrêt en regroupant les charges de travail à l'avance sont des techniques courantes.

Au final, l'optimisation des modèles est encore un peu de l'art noir, et la majorité des startups à qui nous parlons travaillent avec des tiers pour les aider sur certains de ces aspects logiciels. Souvent, il ne s'agit pas de fournisseurs traditionnels de MLops, mais plutôt d'entreprises spécialisées dans l'optimisation de modèles génératifs spécifiques (par exemple, OctoML ou SegMind).

Comment le coût de l'infrastructure de l'IA va-t-il évoluer ?

Au cours des dernières années, nous avons assisté à une croissance exponentielle des deux paramètres du modèle ainsi que Puissance de calcul GPU. Il n'est pas clair si cette tendance va se poursuivre.

Aujourd'hui, il est largement admis qu'il existe une relation entre le nombre optimal de paramètres et la taille de l'ensemble de données d'entraînement (voir Deepmind's Chinchilla travailler pour en savoir plus). Les meilleurs LLM d'aujourd'hui sont formés sur le Exploration commune (une collection de 4.5 milliards de pages Web, soit environ 10 % de toutes les pages Web existantes). Le corpus de formation comprend également Wikipédia et une collection de livres, bien que les deux soient beaucoup plus petits (le nombre total de livres existants est estimé à seulement environ 100 millions). D'autres idées, telles que la transcription de contenu vidéo ou audio, ont été suggérées, mais aucune d'entre elles ne se rapproche de la taille. Il n'est pas clair si nous pourrions obtenir un ensemble de données d'entraînement non synthétiques 10 fois plus grand que ce qui a déjà été utilisé.

Les performances du GPU continueront d'augmenter, mais aussi à un rythme plus lent. La loi de Moore est toujours intacte, permettant plus de transistors et plus de cœurs, mais la puissance et les E/S deviennent des facteurs limitants. De plus, de nombreux fruits à portée de main pour les optimisations ont été cueillis. 

Cependant, rien de tout cela ne signifie que nous ne nous attendons pas à une augmentation de la demande de capacité de calcul. Même si la croissance des modèles et des ensembles de formation ralentit, la croissance de l'industrie de l'IA et l'augmentation du nombre de développeurs d'IA alimenteront une demande pour des GPU plus nombreux et plus rapides. Une grande partie de la capacité du GPU est utilisée pour les tests par les développeurs pendant la phase de développement d'un modèle, et cette demande évolue de manière linéaire avec l'effectif. Rien n'indique que la pénurie de GPU que nous avons aujourd'hui s'atténuera dans un avenir proche.

Ce coût élevé et continu de l'infrastructure d'IA créera-t-il un fossé qui empêchera les nouveaux entrants de rattraper les titulaires bien financés ? Nous ne connaissons pas encore la réponse à cette question. Le coût de formation d'un LLM peut ressembler à un fossé aujourd'hui, mais des modèles open source tels que Alpaca ou Stable Diffusion ont montré que ces marchés sont encore précoces et peuvent changer rapidement. Au fil du temps, la structure des coûts de la pile logicielle émergente d'IA (voir notre article précédent) peut commencer à ressembler davantage à l'industrie du logiciel traditionnelle. 

En fin de compte, ce serait une bonne chose : l'histoire a montré que cela conduit à des écosystèmes dynamiques avec une innovation rapide et de nombreuses opportunités pour les créateurs d'entreprise.

Merci à Moin Nadeem et Shangda Xu pour leur contribution et leurs conseils pendant le processus d'écriture.


¹ L'intuition ici est que pour tout paramètre (c'est-à-dire le poids) dans un réseau de neurones, une opération d'inférence (c'est-à-dire une passe avant) doit effectuer deux opérations en virgule flottante par paramètre. Tout d'abord, il multiplie la valeur du nœud d'entrée du réseau de neurones avec le paramètre. Deuxièmement, il ajoute le résultat de la sommation au nœud de sortie du réseau de neurones. Les paramètres de l'encodeur sont utilisés une fois par jeton d'entrée et les paramètres du décodeur sont utilisés une fois par jeton de sortie. Si nous supposons qu'un modèle a p les paramètres et l'entrée et la sortie ont tous deux une longueur n tokens, total des opérations en virgule flottante sont n*p. Il existe de nombreuses autres opérations (par exemple la normalisation, l'encodage/décodage de l'intégration) qui se produisent dans un modèle, mais le temps nécessaire pour les effectuer est faible en comparaison. 

² L'apprentissage nécessite d'abord un passage vers l'avant à travers le transformateur comme décrit ci-dessus, suivi d'un passage vers l'arrière qui entraîne quatre opérations supplémentaires par paramètre pour calculer le gradient et ajuster le poids. Notez que le calcul du gradient nécessite de conserver les valeurs de nœud calculées à partir de la passe avant. Pour GPT-3, Les modèles de langage sont des apprenants peu expérimentés discute du coût de la formation.

* * *

Les opinions exprimées ici sont celles du personnel individuel d'AH Capital Management, LLC (« a16z ») cité et ne sont pas les opinions d'a16z ou de ses sociétés affiliées. Certaines informations contenues ici ont été obtenues de sources tierces, y compris de sociétés de portefeuille de fonds gérés par a16z. Bien qu'elles proviennent de sources considérées comme fiables, a16z n'a pas vérifié ces informations de manière indépendante et ne fait aucune déclaration quant à l'exactitude durable des informations ou à leur pertinence dans une situation donnée. De plus, ce contenu peut inclure des publicités de tiers ; a16z n'a pas examiné ces publicités et n'approuve aucun contenu publicitaire qu'elles contiennent.

Ce contenu est fourni à titre informatif uniquement et ne doit pas être considéré comme un conseil juridique, commercial, d'investissement ou fiscal. Vous devriez consulter vos propres conseillers sur ces questions. Les références à des titres ou à des actifs numériques sont uniquement à des fins d'illustration et ne constituent pas une recommandation d'investissement ou une offre de fournir des services de conseil en investissement. En outre, ce contenu n'est ni destiné ni destiné à être utilisé par des investisseurs ou des investisseurs potentiels, et ne peut en aucun cas être invoqué pour prendre une décision d'investir dans un fonds géré par a16z. (Une offre d'investissement dans un fonds a16z ne sera faite que par le mémorandum de placement privé, le contrat de souscription et toute autre documentation pertinente de ce fonds et doit être lu dans son intégralité.) Tous les investissements ou sociétés de portefeuille mentionnés, référencés ou décrits ne sont pas représentatifs de tous les investissements dans des véhicules gérés par a16z, et rien ne garantit que les investissements seront rentables ou que d'autres investissements réalisés à l'avenir auront des caractéristiques ou des résultats similaires. Une liste des investissements effectués par des fonds gérés par Andreessen Horowitz (à l'exclusion des investissements pour lesquels l'émetteur n'a pas autorisé a16z à divulguer publiquement ainsi que des investissements non annoncés dans des actifs numériques cotés en bourse) est disponible sur https://a16z.com/investments /.

Les tableaux et graphiques fournis ici sont uniquement à des fins d'information et ne doivent pas être utilisés pour prendre une décision d'investissement. Les performances passées ne représentent pas les résultats futurs. Le contenu ne parle qu'à la date indiquée. Toutes les projections, estimations, prévisions, objectifs, perspectives et/ou opinions exprimées dans ces documents sont susceptibles d'être modifiées sans préavis et peuvent différer ou être contraires aux opinions exprimées par d'autres. Veuillez consulter https://a16z.com/disclosures pour des informations supplémentaires importantes.

Horodatage:

Plus de Andreessen Horowitz