Ces questions proviennent des demandes que nous recevons par chat et via les tickets, plus ou moins dans l'ordre où elles apparaissent. Les deux premières déterminent la validité d'un achat.
- De combien de mémoire GPU un modèle de langage volumineux a-t-il besoin ?
- Les poids correspondent au nombre de paramètres multiplié par leur taille en octets : deux octets pour les paramètres 16 bits, un octet pour les paramètres 8 bits et la moitié pour les paramètres 4 bits. Un modèle de 7 à 8 milliards de paramètres nécessite 16 Go de poids pour les paramètres 16 bits, 8 Go pour les paramètres 8 bits et 5 Go pour les paramètres 4 bits ; un modèle de 70 milliards de paramètres nécessite respectivement 140 Go, 70 Go et 38 Go. Ces chiffres ne concernent que les poids et représentent un minimum, et non une exigence absolue. Prévoyez un budget supplémentaire d’un quart à la moitié de la capacité pour l’exécution, les activations et le cache clé-valeur.
- Pourquoi mon modèle se charge-t-il mais ne s'affiche-t-il pas ?
- Car les poids ne sont pas les seuls éléments stockés en mémoire. L'environnement d'exécution et ses tampons y sont également présents, et chaque jeton d'une conversation laisse une entrée dans le cache clé-valeur afin d'éviter un recalcul. Ce cache s'agrandit avec la longueur du contexte et à chaque requête traitée simultanément. Ainsi, un modèle dont les poids tiennent tout juste peut contenir environ une courte conversation. Dimensionnez la carte à une valeur comprise entre 1,25 et 1,5 fois les poids.
- Quel environnement d'exécution d'inférence puis-je installer ?
- N'importe laquelle de ces solutions convient. La machine est livrée avec un système d'exploitation et une racine vierges, sans service d'inférence fournisseur. vLLM est généralement la solution idéale pour gérer un trafic réel, car le traitement par lots continu permet à une seule carte de répondre simultanément à de nombreuses requêtes. llama.cpp est généralement privilégié lorsque la mémoire est limitée ou que la carte est ancienne. TGI et SGLang fonctionnent sans modification. Ollama est le chemin le plus court entre une machine vierge et un modèle répondant sur un port. Vous spécifiez le pilote, la version de CUDA ou ROCm et le framework sur les versions utilisées pour tester votre code.
- Combien de jetons par seconde vais-je recevoir ?
- Nous ne publions pas de chiffre concernant le nombre de jetons par seconde, car ce chiffre dépend du modèle, de la quantification, de l'environnement d'exécution et de sa version, de la taille des lots, de la longueur de l'invite, de la longueur de la réponse et de la concurrence. Toute modification de ces paramètres entraîne une variation considérable du chiffre. Voici les facteurs déterminants : la lecture de l'invite est limitée par la puissance de calcul et n'a lieu qu'une fois par requête ; la génération de la réponse est limitée par la bande passante mémoire, car chaque jeton nécessite la lecture de ses poids ; et le traitement par lots amortit cette lecture entre les requêtes simultanées, ce qui rend le service économique jusqu'à saturation du cache clé-valeur. Pour obtenir une réponse basée sur nos observations, veuillez nous indiquer le modèle, la quantification et la concurrence attendue.
- Le GPU est-il partagé avec quelqu'un d'autre ?
- Non. Un seul locataire par machine physique, et la carte est attribuée à votre propre système d'exploitation. Il n'y a ni hyperviseur, ni partition MIG, ni profil vGPU, ni planificateur de partage de temps ; par conséquent, aucune autre application ne s'exécute sur la carte et la latence d'inférence reste inchangée, même en cas de traitement par lots par un tiers.
- Que se passe-t-il si le modèle ne tient pas sur une seule carte ?
- Il s'agit alors d'une configuration multi-cartes, dont la configuration est chiffrée plutôt que commandée directement : le nombre de cartes compatibles dépend de leur largeur et de la consommation électrique du boîtier. Avec deux cartes, la mémoire totale n'est atteinte que si le système d'exploitation peut répartir la charge sur les deux, ce que tous les systèmes d'exploitation sérieux prennent en charge, moyennant une légère baisse de performances. Cette configuration nécessite plusieurs cartes ou machines .
- Le réglage fin nécessite-t-il plus de mémoire que le service ?
- Bien plus. Le déploiement nécessite les poids ; l’entraînement requiert les poids, les gradients et l’état de l’optimiseur pour chaque paramètre mis à jour, le tout résidant simultanément, ainsi que les activations conservées pour la rétropropagation. Un modèle fonctionnant correctement sur une seule carte peut être plusieurs fois trop volumineux pour un réglage fin complet. Les méthodes économes en paramètres mettent à jour une petite fraction de ces derniers et nécessitent donc une fraction réduite de la mémoire supplémentaire, ce qui explique pourquoi la plupart des réglages fins utilisent une seule carte.
- Puis-je utiliser une carte AMD, et ROCm fonctionne-t-il ?
- Oui. Les cartes AMD Instinct comptent parmi celles offrant la plus grande capacité de mémoire et proposent souvent le meilleur rapport qualité-prix par gigaoctet. Cependant, votre configuration doit prendre en charge ROCm et non CUDA. La plupart des environnements d'inférence actuels le font ; certains outils associés ne le font pas encore. Veuillez nous contacter avant de commander afin que nous puissions vérifier la compatibilité avec votre environnement d'inférence spécifique plutôt que de vous donner une réponse générale.