← The Forge
Architecture 6 juin 2026 · 3 min · par L'équipe WORKFLOW v6

Architecture serverless pour l’inférence de modèles LLM avec Workflow v6

Découvrez comment exploiter une architecture serverless pour déployer des LLM à grande échelle, en combinant la flexibilité de Workflow v6 avec la facturation à la demande.

Contexte et enjeux

L’inférence de grands modèles de langage (LLM) reste coûteuse en ressources, notamment lorsqu’elle doit répondre à des requêtes variables en temps réel. Une architecture serverless, qui alloue les ressources uniquement pendant l’exécution, permet de réduire le gaspillage et de facturer à l’usage. Workflow v6, conçu pour orchestrer les pipelines IA, propose des primitives compatibles avec les plateformes serverless (AWS Lambda, Google Cloud Functions, Azure Functions). Cet article détaille les principes d’une telle architecture, son implémentation concrète et les points d’attention pour garantir performance et maîtrise des dépenses.

Principes de l’architecture serverless

  1. Statelessness – Chaque fonction d’inférence doit être sans état persistant; les poids du modèle sont chargés depuis un stockage partagé (S3, GCS, Azure Blob) à chaque invocation.
  2. Cold start optimisation – Les modèles volumineux subissent des temps de démarrage élevés. On limite ce phénomène en pré‑chauffant les fonctions via des “warm‑up” réguliers et en conservant les conteneurs actifs grâce aux paramètres de provisionnement minimum de la plateforme.
  3. Granularité de la charge – La fonction ne traite qu’une requête unique ou un petit batch (max 8 requêtes). Cela maximise la parallélisation et évite les goulets d’étranglement liés à la saturation de la mémoire.
  4. Gestion du scaling – La plateforme serverless ajuste automatiquement le nombre d’instances en fonction du trafic, mais il faut définir des quotas et des limites de concurrence pour éviter les dépassements de budget.

Implémentation avec Workflow v6

Workflow v6 décrit les étapes du pipeline via un fichier YAML. Voici un exemple minimal d’une fonction serverless déployée sur AWS Lambda :

name: llm-inference-serverless
runtime: python3.11
resources:
  memory: 4GiB          # mémoire allouée à chaque invocation
  timeout: 300          # 5 minutes max par appel
  concurrency: 100     # limite de concurrence simultanée
steps:
  - name: load-model
    type: python
    script: |
      import boto3, torch
      s3 = boto3.client('s3')
      s3.download_file('my-bucket', 'models/llama-7b.pt', '/tmp/model.pt')
      model = torch.load('/tmp/model.pt', map_location='cpu')
      model.eval()
    cache: true          # conserve le modèle en mémoire entre les invocations du même container
  - name: infer
    type: python
    inputs:
      - request.json
    script: |
      import json, torch
      prompt = json.loads(open('request.json').read())['prompt']
      # génération simplifiée
      with torch.no_grad():
          output = model.generate(prompt, max_length=128)
      print(json.dumps({'response': output.tolist()}))
    trigger: http        # expose une endpoint REST

Ce fichier décrit :

  • Le chargement du modèle une fois par container grâce au flag cache: true.
  • L’étape infer qui reçoit le payload HTTP, génère la réponse et la renvoie.
  • La configuration des ressources adaptée aux exigences du LLM.

Workflow v6 compile ce YAML en une fonction Lambda, gère les permissions IAM et crée automatiquement l’API Gateway associée.

Gestion du scaling et du coût

AspectMéthodeImpact
Provisioning minimumprovisioned_concurrency sur AWSRéduit le cold start : coût supplémentaire, mais bénéfice perceptible sur la latence.
Batching dynamiqueRegrouper jusqu’à 8 requêtes dans un même appel via un buffer côté clientAméliore le throughput sans augmenter le nombre d’invocations.
Limitation de la concurrenceParamètre concurrency dans le YAMLEmpêche les explosions de conteneurs qui pourraient exploser la facture.
MonitoringIntégrer les métriques CloudWatch/Stackdriver dans Workflow v6 pour alerter sur les dépassements de temps d’exécution.Permet d’ajuster rapidement les paramètres.

En pratique, on mesure le coût par millier d’appels : le tarif serverless (par 1 ms d’exécution) combiné au stockage du modèle (S3) donne une visibilité granulaire du prix réel de chaque requête.

Bonnes pratiques et limites

  • Versionnage du modèle : stockez chaque version dans un bucket dédié et référencez‑la dans le YAML via une variable d’environnement. Cela facilite le rollback sans toucher au code de la fonction.
  • Sécurité des données : chiffrez les buckets (SSE‑S3) et limitez les rôles IAM aux seules actions s3:GetObject nécessaires.
  • Observabilité : injectez des traces OpenTelemetry dans chaque étape pour corréler les latences de chargement du modèle et d’inférence.
  • Limites de taille : les fonctions serverless imposent une taille maximale du package (250 Mo zip). Utilisez les couches Lambda ou les conteneurs Docker (max 10 GiB) pour les modèles supérieurs à 4 GiB.
  • Dégradation contrôlée : implémentez une logique de fallback vers un modèle plus petit en cas de saturation du service.

En synthèse, combiner Workflow v6 avec une architecture serverless permet d’obtenir une solution d’inférence LLM à la fois réactive, scalable et économique. La clé réside dans la gestion fine du cycle de vie du modèle, la maîtrise du warm‑up et la mise en place d’un monitoring robuste afin d’ajuster en continu les paramètres de ressources.

Envie d’aller plus loin avec WORKFLOW v6 ?

Découvrir WORKFLOW v6