Le Guide des GPU pour l'Intelligence Artificielle (IA)

L'intelligence artificielle (IA) a transformé de nombreux aspects de notre vie quotidienne, des recommandations de produits sur les sites de commerce électronique à la détection de fraudes dans le secteur financier. Cependant, pour tirer le meilleur parti de l'IA, il est essentiel de comprendre les outils et les technologies qui la rendent possible. L'un des éléments clés de cette technologie est le processeur graphique, ou GPU. Dans ce guide, nous allons explorer en profondeur les différents aspects des GPU, de leur utilisation dans l'IA à la manière de choisir le bon pour vos besoins. Que vous soyez un professionnel de l'IA cherchant à optimiser vos opérations ou un amateur curieux d'en savoir plus sur cette technologie fascinante, ce guide est fait pour vous.

Quels outils d'IA méritent d'être utilisés ?

Trois bonnes pistes pour commencer sont :

  1. Exécuter stable diffusion sur votre propre GPU (localement, ou sur un GPU loué)
  2. Exécuter Whisper sur votre propre GPU (localement, ou sur un GPU loué)
  3. Exécuter un grand modèle de langage open source (localement, ou sur un GPU loué)

Alors, quels GPU devrais-je utiliser ?

Si vous utilisez des GPU dans le cloud :

  • Si vous voulez exécuter Falcon-40B, Falcon-40B-Uncensored, ou Falcon-40B-Instruct : 2x H100s si vous voulez les meilleures performances et que vous ne vous souciez pas du prix, 2x RTX 6000 Ada (pas A6000 ou RTX 6000) si vous voulez un équilibre entre le prix et les performances, ou 2x A6000 si vous voulez un prix plus bas.
  • Si vous voulez utiliser Falcon-40B ou Falcon-40B-Uncensored sans le déployer, les meilleures options sont le playground payant à 20$/mois ici (il a aussi Falcon-40B-Instruct, mais il y a une option gratuite disponible ailleurs pour ce modèle, donc ne l'utilisez pas pour ça), et le playground gratuit pour Falcon-40B-Instruct ici.
  • Si vous voulez exécuter MPT-30B : 1x H100 si vous voulez les meilleures performances ou si vous voulez un équilibre entre le prix et les performances, ou 1x A100 80GB si vous voulez un prix plus bas.
  • Si vous voulez exécuter la diffusion stable : 1x H100 si vous voulez les meilleures performances, 1x 4090 si vous voulez un équilibre entre le prix et les performances, ou 1x 3090 si vous voulez un prix plus bas (il peut fonctionner sur des GPU moins chers aussi).
  • Si vous voulez exécuter Whisper : Les mêmes recommandations que pour la diffusion stable. Bien que Whisper-large puisse fonctionner sur des cartes avec moins de VRAM, la plupart des clouds n'ont pas ces cartes, et la 4090 ou 3090 fonctionnera bien. Et vous pouvez aussi le faire fonctionner sur un CPU.
  • Si vous voulez affiner un grand LLM : Un cluster H100 ou A100.
  • Si vous voulez entraîner un grand LLM : Un grand cluster H100.

Si vous utilisez un GPU local :

  • Les mêmes que ci-dessus, mais vous ne pourrez probablement pas entraîner ou affiner un LLM !
  • La plupart des LLM ouverts ont des versions disponibles qui peuvent fonctionner sur des cartes avec moins de VRAM, par exemple Falcon sur une carte de 40GB.

Quelle est la différence entre RTX 6000, A6000, et 6000 Ada ?

Ce sont 3 cartes différentes ! C'est un système de nommage confus.

  • RTX 6000 (Quadro RTX 6000, 24 GB VRAM, lancé le 13 août 2018)
  • RTX A6000 (48 GB VRAM, lancé le 5 octobre 2020)
  • RTX 6000 Ada (48 GB VRAM, lancé le 3 décembre 2022)

Quelle est la différence entre un DGX GH200, un GH200, et un H100 ?

  • 1x DGX GH200 contient 256x GH200s ("Grace Hoppers")
  • Chaque GH200 contient 1x H100 et 1x CPU Grace

Qu'en est-il de DGX Cloud ?

C'est l'offre cloud officielle de Nvidia destinée aux entreprises. Vous l'achetez auprès de Nvidia mais vous louez via un cloud existant comme Oracle.

8 GPU par instance, à partir de 37k$/mois.

Les H100 sont-ils une grande amélioration par rapport aux A100 ?

Oui, l'accélération est significative, et on m'a dit que les H100 peuvent augmenter les performances à un grand nombre de GPU mieux que les A100.

Donc, pour l'entraînement des LLM, les H100 sont le meilleur choix.

Qu'en est-il d'AMD, Intel, Cerebras ?

Pour l'instant, Nvidia est plus facile. Nous publierons bientôt du contenu sur ces autres cartes.

AMD a quelques cartes avec 128GB et 192GB de VRAM HBM3, ce qui est cool. (MI300A et MI300X)

Quel cloud GPU devrais-je utiliser ?

  • Si vous avez besoin d'un grand nombre d'A100s/H100s : parlez à Oracle, FluidStack, Lambda Labs, peut-être à quelques autres. La capacité est très faible pour de grandes quantités, surtout de H100s.
  • Si vous avez besoin d'un couple d'A100s : FluidStack ou Runpod.
  • Si vous avez besoin de 1x H100 : FluidStack ou Lambda Labs.
  • Si vous avez besoin de 3090s, 4090s, ou A6000s bon marché : Tensordock.
  • Si vous avez besoin uniquement de l'inférence de diffusion stable : Salad.
  • Si vous avez besoin d'une grande variité de GPU : Runpod ou FluidStack.
  • Si vous voulez jouer avec des modèles / hobbyiste général : Runpod.
  • Les grands clouds ont généralement des prix plus élevés et des configurations plus compliquées que les options ci-dessus.

Si vous êtes lié à l'un des grands clouds (AWS, Azure, GCP), alors vous n'avez pas le choix, utilisez celui-ci.

Quel est le cloud GPU le plus facile à commencer ?

Runpod et ses modèles. Choisissez un modèle, choisissez un GPU, cliquez sur "personnaliser le déploiement" et augmentez l'espace disque temporaire et persistant à une taille appropriée, cliquez sur "définir les dépassements", cliquez sur "continuer", cliquez sur "déployer", puis cliquez sur "voir les journaux", puis une fois qu'il a terminé la configuration, utilisez l'URL fournie par les journaux ou cliquez pour vous connecter à ce que vous avez déployé.

Notez que les Pods Runpod ne sont pas des VMs à part entière, ce sont des conteneurs Docker sur des machines hôtes.

Combien de VRAM et de RAM système ai-je besoin, et combien de vCPUs ?

Voici quelques règles de base et souvent erronées :

  • VRAM (RAM vidéo / RAM GPU)
  • Falcon-40B 85-100GB
  • MPT-30B 80GB
  • Diffusion stable 16GB+ préféré
  • Whisper 12GB+ si vous utilisez la version OpenAI pour une vitesse de transcription optimale, peut être aussi bas que de fonctionner sur un CPU si vous utilisez une version communautaire
  • RAM système
  • 1-2x votre quantité de VRAM
  • vCPUs
  • 8-16 vCPUs devraient être plus que suffisants pour la plupart des charges de travail GPU non à grande échelle
  • Espace disque
  • Très dépendant du cas d'utilisation. Si vous n'êtes pas sûr, commencez avec 100GB et voyez si cela suffit pour votre cas d'utilisation

Si vous n'êtes pas sûr, alors vous devriez supposer que cela n'a pas d'importance pour votre cas d'utilisation.

Qu'en est-il d'InfiniBand ?

Si vous louez un ou deux GPU, ce n'est pas pertinent pour vous. Si vous faites un cluster de milliers, vous voudrez probablement InfiniBand.

Et ensuite ?

Si vous êtes prêt à expérimenter, allez créer un compte Runpod, mettez un solde de 10$, parcourez leurs modèles, et déployez un modèle sur une instance GPU. Si vous êtes plus expérimenté et que vous n'avez pas besoin de modèles, alors envisagez de commencer avec un autre cloud GPU.

Références

  1. NVIDIA A100 Tensor Core GPU
  2. NVIDIA DGX Cloud
  3. Oracle Cloud
  4. FluidStack
  5. Lambda Labs
  6. Tensordock
  7. Salad
  8. Runpod
  9. AWS
  10. Azure
  11. GCP

Note : Les liens ci-dessus sont fournis à titre de référence et ne constituent pas une approbation ou une affiliation avec les entreprises mentionnées.