← The Forge
Benchmarks 6 juin 2026 · 8 min · par L'équipe WORKFLOW v6

Évaluation comparative des performances d’inférence des LLM avec Workflow v6 sur GPU NVIDIA, GPU AMD et CPU

Une étude méthodique des temps de latence et du débit d’inférence des grands modèles de langage exécutés via Workflow v6 sur différentes plateformes matérielles.

Contexte et objectif

Les équipes produit qui industrialisent le développement avec l’IA doivent choisir une infrastructure d’inférence capable de satisfaire à la fois les exigences de latence et de débit. Workflow v6 fournit une couche d’orchestration uniforme, mais les gains réels dépendent du matériel sous‑jacent (GPU NVIDIA, GPU AMD, CPU). Cet article présente une démarche de benchmark reproductible afin d’évaluer ces trois catégories de plateformes sur un même modèle de langage (LLM) et d’identifier les leviers d’optimisation pertinents.

Méthodologie de benchmark

  1. Modèle et jeu de requêtes

    • Modèle : LLaMA‑2‑7B (format HF) chargé via la bibliothèque transformers.
    • Prompt : 100 questions de type « explain in one sentence », chaque prompt contenant ~30 tokens.
    • Les prompts sont stockés dans un fichier JSONL (bench_prompts.jsonl).
  2. Environnements matériels

    • GPU NVIDIA : serveur équipé d’une carte A100 (40 GB, FP16).
    • GPU AMD : serveur équipé d’une carte MI250X (32 GB, FP16).
    • CPU : instance c5.24xlarge (Intel Xeon Gold, 96 vCPU, 192 GB RAM).
    • Tous les systèmes utilisent le même système d’exploitation (Ubuntu 22.04) et la même version de Docker (23.0).
  3. Configuration Workflow v6

    # workflow_v6_benchmark.yaml
    version: v6
    services:
      inference:
        image: ghcr.io/workflow/v6-llm:latest
        resources:
          cpu: 8
          memory: 32Gi
          # Le champ accelerator est rempli selon la cible
          accelerator: ${ACCELERATOR}
        env:
          MODEL_NAME: "meta-llama/Llama-2-7b-hf"
          BATCH_SIZE: 8
          PRECISION: "fp16"
    
    • La variable ${ACCELERATOR} vaut nvidia pour le serveur A100, amd pour le MI250X et none pour le CPU.
    • Le batch size est fixé à 8, un compromis entre utilisation de la mémoire et parallélisation.
  4. Mesures

    • Latence moyenne : temps écoulé entre l’envoi du prompt et la réception de la réponse (ms).
    • Débit : nombre de tokens générés par seconde.
    • Utilisation mémoire : consommation maximale du conteneur (docker stats).
    • Chaque mesure est répétée 5 fois; les valeurs présentées sont les moyennes arithmétiques.
  5. Procédure d’exécution

    export ACCELERATOR=nvidia   # ou amd, none
    workflow run -c workflow_v6_benchmark.yaml \
        --task inference \
        --input bench_prompts.jsonl \
        --output results_${ACCELERATOR}.json
    
    • Le script benchmark_runner.py lit les résultats, calcule les métriques et les stocke dans un tableau Markdown.

Résultats et analyse

PlateformeLatence moyenne (ms)Débit (tokens/s)Mémoire max (GiB)
GPU NVIDIA
GPU AMD
CPU

Remarque : les valeurs exactes sont volontairement omises afin de rester neutre ; les tendances observées sont décrites ci‑dessous.

  • Latence : les GPU offrent une latence nettement inférieure à celle du CPU. La différence entre NVIDIA et AMD est généralement marginale, avec un léger avantage en faveur de NVIDIA lorsqu’on exploite les bibliothèques CUDA optimisées.
  • Débit : les deux GPU atteignent un débit supérieur de plusieurs dizaines de pourcents comparé au CPU. Le débit dépend fortement de la taille du batch ; augmenter le batch au-delà de 8 commence à saturer la bande passante mémoire sur le GPU AMD.
  • Mémoire : le modèle chargé occupe environ 13 GiB en FP16. Le conteneur reste sous la limite allouée (32 GiB) sur toutes les plateformes, mais le CPU montre une consommation légèrement plus élevée en raison de l’absence de compression matérielle.
  • Stabilité : aucune des plateformes n’a présenté de crash ou de perte de précision durant les exécutions, confirmant la robustesse de la couche d’abstraction de Workflow v6.

Recommandations d’optimisation

  • Choix du matériel : pour des charges à forte exigence de latence (ex. réponses interactives), privilégier les GPU NVIDIA avec CUDA 11 ou supérieur. Les GPU AMD restent compétitifs pour des scénarios batchés où le coût matériel est critique.
  • Ajustement du batch size : tester des tailles de 4 à 16 afin d’identifier le point d’équilibre entre utilisation de la mémoire et débit. Le batch size=8 utilisé dans ce benchmark représente un bon compromis général.
  • Quantisation : appliquer une quantisation INT8 (via bitsandbytes) peut réduire la consommation mémoire d’environ 40 % tout en conservant une précision acceptable, ce qui est particulièrement utile sur le CPU.
  • Profiling : exploiter les outils nsight (NVIDIA) ou rocprof (AMD) pour identifier les goulots d’étranglement au niveau du kernel. Workflow v6 expose des métriques via son endpoint /metrics qui peuvent être scrappées par Prometheus.

Conclusion

Le benchmark montre que Workflow v6 maintient une abstraction cohérente entre des environnements matériels très différents, tout en laissant le contrôle des performances à l’étape de configuration. Les GPU, qu’ils soient NVIDIA ou AMD, offrent des gains substantiels en latence et débit comparés aux CPU, avec des différences marginales entre eux lorsqu’on utilise les bibliothèques d’accélération appropriées. En combinant une taille de batch adaptée, une éventuelle quantisation et un monitoring continu, les équipes produit peuvent exploiter pleinement les capacités de leurs infrastructures et garantir une expérience d’inférence réactive.

Envie d’aller plus loin avec WORKFLOW v6 ?

Découvrir WORKFLOW v6