TGI (Text Generation Inference)

Exécuter HuggingFace Text Generation Inference (TGI) pour le déploiement en production de LLM sur les GPU Clore.ai

Text Generation Inference (TGI) est le framework de service de modèles de langage à l'échelle de production de HuggingFace, conçu pour des inférences à haut débit et à faible latence. Il prend en charge Flash Attention 2, le batching continu, PagedAttention et le parallélisme tensoriel dès la sortie de la boîte — en faisant la solution de référence pour déployer des grands modèles de langage à grande échelle sur les serveurs GPU CLORE.AI.

circle-check

Exigences serveur

Paramètre
Minimum
Recommandé

RAM

16 Go

32 Go+

VRAM

8 Go

24 Go+

Disque

50 Go

200 Go+

GPU

N'importe quel GPU NVIDIA (Ampere+ pour Flash Attention)

A100, H100, RTX 4090

circle-info

Flash Attention 2 nécessite une architecture Ampere ou plus récente (RTX 3000+, A100, H100). Pour les GPU plus anciens, TGI reviendra automatiquement à l'attention standard.

Déploiement rapide sur CLORE.AI

Image Docker : ghcr.io/huggingface/text-generation-inference:latest

Ports : 22/tcp, 8080/http

Variables d’environnement :

Variable
Exemple
Description

MODEL_ID

mistralai/Mistral-7B-Instruct-v0.3

Identifiant de modèle HuggingFace

HF_TOKEN

hf_xxx...

Jeton HuggingFace (pour les modèles protégés)

NUM_SHARD

2

Nombre de GPU pour le parallélisme tensoriel

MAX_INPUT_LENGTH

4096

Nombre maximal de tokens d'entrée

MAX_TOTAL_TOKENS

8192

Nombre maximal de tokens entrée + sortie

QUANTIZE

bitsandbytes-nf4

Méthode de quantification

Configuration étape par étape

1. Louez un serveur GPU sur CLORE.AI

Aller à CLORE.AI Marketplacearrow-up-right et filtrer les serveurs par :

  • VRAM ≥ 24 Go pour les modèles 7B (précision complète)

  • VRAM ≥ 12 Go pour les modèles 7B (quantification 4 bits)

  • VRAM ≥ 80 Go pour les modèles 70B (précision complète, GPU unique)

2. Se connecter via SSH

Après la confirmation de votre commande, connectez-vous à votre serveur en utilisant les détails SSH depuis votre tableau de bord CLORE.AI :

Ou utilisez le terminal web depuis le panneau de votre commande CLORE.AI.

3. Récupérer l'image Docker TGI

4. Lancer TGI avec un modèle

Lancement de base (Mistral 7B) :

Avec le token HuggingFace (pour les modèles protégés comme Llama 3) :

Avec quantification 4 bits (pour une VRAM plus petite) :

Parallélisme tensoriel multi-GPU (pour les modèles 70B) :

5. Vérifier que le serveur fonctionne

Réponse attendue : {"status":"ok"}

6. Accéder via le proxy HTTP de CLORE.AI

Dans le panneau de votre commande CLORE.AI, vous verrez votre http_pub URL pour le port 8080. Cela permet l'accès via navigateur/API sans tunnel SSH :


Exemples d’utilisation

Exemple 1 : Génération de texte basique

Exemple 2 : Complétions de chat (compatible OpenAI)

TGI prend en charge le format d'API de complétions de chat d'OpenAI :

Exemple 3 : Réponse en streaming

Exemple 4 : Client Python

Exemple 5 : Requêtes par lot


Configuration

Paramètres CLI clés

Paramètre
Par défaut
Description

--model-id

requis

ID du modèle HuggingFace ou chemin local

--num-shard

1

Nombre de fragments GPU (parallélisme tensoriel)

--max-concurrent-requests

128

Nombre maximum de requêtes simultanées

--max-input-length

1024

Longueur maximale des tokens d'entrée

--max-total-tokens

2048

Nombre maximal de tokens entrée + sortie

--max-batch-total-tokens

auto

Nombre maximal de tokens par lot

--quantize

aucune

Quantification : bitsandbytes-nf4, gptq, awq

--dtype

auto

float16, bfloat16

--trust-remote-code

false

Autoriser le code personnalisé du modèle

--port

80

Port du serveur

Utilisation d'un modèle local

Si vous avez un modèle téléchargé localement :

Quantification AWQ (plus rapide que NF4)


Conseils de performance

1. Activer Flash Attention 2

Flash Attention 2 est activé automatiquement sur les GPU Ampere+ (RTX 3000+, A100, H100). Aucune configuration supplémentaire requise.

2. Ajuster la taille maximale de lot

Pour des scénarios à haut débit, augmentez la taille de lot :

3. Utiliser bfloat16 sur les GPU Ampere+

Ceci est plus stable numériquement que le float16 et offre des performances identiques sur les GPU modernes.

4. Pré-télécharger les modèles vers un stockage persistant

Ensuite, montez le chemin local pour éviter de retélécharger lors des redémarrages.

5. Gestion de la mémoire GPU

Pour RTX 3090/4090 (24 Go de VRAM) :

6. Décodage spéculatif

Pour une génération plus rapide avec des modèles plus petits en tant que brouillon :


Dépannage

Problème : "CUDA out of memory"

Solution : Réduire --max-total-tokens ou activer la quantification :

Problème : le téléchargement du modèle est lent

Solution : Utilisez un miroir HuggingFace ou pré-téléchargez :

Problème : serveur inaccessible via http_pub

Solution : Assurez-vous que le port 8080 est correctement mappé. TGI écoute sur le port 80 en interne, mais vous le mappez sur 8080 en externe :

Problème : "trust_remote_code est requis"

Certains modèles (par ex., Falcon, Phi) nécessitent du code personnalisé :

Problème : première réponse lente

La première requête déclenche le chargement du modèle en VRAM. C'est normal. Les requêtes suivantes seront rapides.

Problème : le conteneur se ferme immédiatement


Liens


Recommandations GPU Clore.ai

Cas d’utilisation
GPU recommandé
Coût estimé sur Clore.ai

Développement/Test

RTX 3090 (24GB)

~$0.12/gpu/hr

Production (7B–13B)

RTX 4090 (24GB)

~$0.70/gpu/hr

Grands modèles (70B+)

A100 80GB / H100

~$1.20/gpu/hr

💡 Tous les exemples de ce guide peuvent être déployés sur Clore.aiarrow-up-right serveurs GPU. Parcourez les GPU disponibles et louez à l’heure — sans engagement, avec accès root complet.

Mis à jour

Ce contenu vous a-t-il été utile ?