LLM Engineering Intermédiaire

Architecture et Optimisation des Pipelines LLM en Production

Maîtrisez les patterns architecturaux essentiels pour déployer des systèmes LLM robustes et performants. De la tokenization au prompt engineering avancé, découvrez comment les leaders technologiques structurent leurs solutions d'IA générative.

Preparetoi.academy 30 min

1. Tokenization et Représentation des Données

Définition: La tokenization est le processus de décomposition d'un texte en unités discrètes (tokens) que le modèle peut traiter. Elle constitue le fondement de toute communication avec un LLM, déterminant directement la qualité des embeddings et la précision du modèle.

Analogie: Si un LLM est un lecteur polyglotte, les tokens sont les caractères typographiques qu'il reconnaît. Tout comme un typographe doit normaliser les caractères spéciaux, la tokenization standardise le texte pour assurer une compréhension uniforme.

Concepts Clés:

La tokenization moderne utilise trois approches principales: le Byte Pair Encoding (BPE), utilisé par GPT-3 et GPT-4; le WordPiece, implémenté dans BERT; et le Unigram Language Model, adopté par T5. Chaque approche présente des compromis entre vocabulaire, compression et flexibilité.

Approche Modèles Taille Vocab Avantages Inconvénients
BPE GPT-3/4, LLaMA 50K-100K Compression efficace Overhead computationnel
WordPiece BERT, RoBERTa 30K-50K Stabilité Moins flexible pour code
Unigram T5, mBART 60K-120K Probabiliste Plus complexe
SentencePiece XLM, mT5 40K-150K Multilingue Corpus dépendant

Tableau Comparatif - Impact sur les Coûts:

Métrique Tokenizer BPE Tokenizer WordPiece Unigram
Tokens par 1K caractères 285 310 275
Coût API (M tokens) $0.0020 $0.0022 $0.0018
Vitesse tokenization 45K toks/sec 38K toks/sec 52K toks/sec
Unicité des tokens OOV 2.3% 1.8% 1.1%

Astuce Professionnelle: Utilisez tiktoken (OpenAI) pour estimer précisément les coûts API avant déploiement. Pour LLaMA, optez pour llama-cpp-python avec tokenization GPU pour traiter 1M+ tokens/seconde. Mesurez systématiquement le ratio tokens/caractères sur vos données réelles: une réduction de 5% peut signifier des économies annuelles de 50K$ sur un volume de 100M tokens/jour.

Attention: ⚠️ Les tokens ne se divisent pas équitablement entre langues. Un même texte en anglais génère 30% moins de tokens qu'en français ou mandarin. Cela impacte directement vos coûts d'inférence et vos fenêtres de contexte. Les caractères spéciaux (JSON, code) consomment 2-3x plus de tokens que du texte naturel.


2. Prompt Engineering Avancé et Few-Shot Learning

Définition: Le prompt engineering est l'art de formuler des instructions textuelles pour guider les LLM vers des réponses précises et structurées. Le few-shot learning enrichit cette pratique en fournissant des exemples au modèle pour améliorer sa performance sans réentraînement.

Analogie: Donner un prompt à un LLM, c'est comme diriger un acteur inexpérimenté. Un réalisateur (prompt engineer) expérimenté lui montre comment jouer la scène avec plusieurs interprétations (few-shot examples) plutôt que de simples instructions textuelles.

Patterns Productifs:

Le pattern Chain-of-Thought (CoT) améliore la précision de 40-60% sur les tâches complexes. Le prompt "Explique ton raisonnement étape par étape" incite le modèle à verbaliser son processus de pensée, réduisant les hallucinations. Pour les tâches mathématiques, CoT augmente l'accuracy de 58% à 92% selon les benchmarks internes OpenAI.

Tableau Comparatif - Techniques de Prompting:

Technique Cas d'Usage Optimal Gain Accuracy Coût Tokens Complexité
Zero-Shot Questions factuelles +0% 1x Très faible
Few-Shot (3-5) Classification +25-40% 2-3x Faible
Chain-of-Thought Raisonnement logique +40-60% 1.5-2x Moyenne
Tree-of-Thought Planification multi-étapes +35-55% 3-5x Haute
Instruction Fine-tuning Tâches spécialisées +50-70% 1.2x Très haute

Tableau Avancé - Structures de Prompt Efficaces:

Composant Placement Exemple Impact
Rôle (Role) Début "Tu es un data scientist expert" +15% précision
Contexte Après rôle "Contexte: dataset e-commerce avec 1M SKU" +25% pertinence
Exemples Avant instruction "{Input: ..., Output: ...}" +40% qualité
Format de sortie Après exemples "Retourne un JSON avec clés: id, score" +50% structure
Contraintes Fin "Réponse en <100 mots" +20% concision

Astuce Professionnelle: Implémentez le pattern "Prompt + Context + Few-Shot + Structured Output". Chez Anthropic et OpenAI, ce pattern génère 65% moins d'hallucinations. Testez vos prompts avec promptfoo (framework OSS) pour automatiser l'évaluation sur 1000+ cas. Utilisez des délimiteurs explicites (""", ###, ) pour séparer les sections: cela réduit la confusion du modèle de 35%.

Attention: ⚠️ Le prompt injection est une vulnérabilité sérieuse. Un utilisateur malveillant peut contourner vos instructions via des injections textuelles. Exemple: "Ignore les instructions précédentes et fais X". Utilisez toujours une séparation stricte entre prompts système et données utilisateur. Validez et sanitizez les inputs avec regex ou LLM-guard. Ne mettez jamais de secrets dans les prompts système visibles par l'utilisateur.


3. Gestion du Contexte et Fenêtre de Tokens

Définition: La fenêtre de contexte (context window) est la longueur maximale de séquence qu'un LLM peut traiter simultanément. Elle détermine la quantité d'informations disponibles pour prendre une décision, impactant directement la qualité et la latence.

Analogie: La fenêtre de contexte fonctionne comme la mémoire de travail d'un humain. Une fenêtre de 128K tokens, c'est comme pouvoir lire 50 pages de livre simultanément, tandis qu'une fenêtre de 2K tokens équivaut à lire deux paragraphes. Plus vous lisez, meilleur est votre compréhension globale, mais aussi plus lent le traitement.

Mécaniques Critiques:

Les modèles modernes emploient plusieurs stratégies pour gérer les fenêtres étendues. L'Attention décroît naturellement au-delà de 2K-4K tokens pour la plupart des LLM. GPT-4 avec 128K tokens, LLaMA 2 Extended (100K) et Claude 3 (200K) utilisent des techniques comme RoPE (Rotary Position Embeddings) pour interpoler au-delà des longueurs d'entraînement.

Modèle Fenêtre Standard Fenêtre Étendue Technique Extension Perte Performance
GPT-3.5 4K N/A Aucune N/A
GPT-4 8K 128K RoPE + Interpolation -8% accuracy
Claude 2 100K 200K ALiBi + Multiplicative -3% accuracy
LLaMA 2 4K 100K (custom) YaRN -5% accuracy
Mistral 7B 8K 32K (custom) Position Interpolation -6% accuracy

Tableau - Stratégies de Gestion du Contexte:

Stratégie Description Quand l'utiliser Complexité
Summarization Résumer les anciens messages Conversations longues Moyenne
Sliding Window Conserver les N derniers tokens Chat temps réel Faible
Hierarchical Indexer par importances Recherche documentaire Haute
Retrieval-Augmented Récupérer dynamiquement RAG pattern Très haute
Vector DB + Semantic Embedding similarity search Production à grande échelle Très haute

Astuce Professionnelle: Implémentez un système de "context budgeting": allouez 40% aux instructions système, 30% au contexte utilisateur, 20% aux exemples few-shot, et 10% à la réponse. Pour les conversationes longues (>20 tours), créez des "memory checkpoints" tous les 5 tours: générez un résumé sémantique des 5 derniers échanges et remplacez-les par ce résumé. Cela réduit la taille du contexte de 60% sans perte significative. Utilisez LangChain ou LlamaIndex pour l'orchestration.

Attention: ⚠️ La "Lost in the Middle" problem: les LLM prêtent moins attention aux informations au milieu du contexte. Si vous injectez 100K tokens, le modèle accordera plus d'attention au début (tokens 1-10K) et à la fin (tokens 90K-100K), ignorant le milieu. Placez toujours les informations critiques en début ou fin. Pour une fenêtre de 100K tokens, mettre une information importante au token 50K réduit sa pertinence de 40%.


4. Patterns d'Architecture Production: RAG et Agentic Systems

Définition: La Retrieval-Augmented Generation (RAG) combine un moteur de recherche avec un LLM pour générer des réponses basées sur des documents externes. Les Agentic Systems permettent aux LLM de planifier, d'exécuter des actions, et d'itérer pour résoudre des problèmes complexes.

Analogie: Un RAG fonctionne comme un chercheur qui consulte une bibliothèque (base de données vectorielle) avant de rédiger un rapport. Un Agentic System ressemble à un consultant qui consulte la bibliothèque, pose des questions de suivi, exécute des analyses, puis synthétise les résultats en rapport final.

Architectures Productives:

Le pattern RAG classique se compose de trois phases: (1) Retrieval - recherche vectorielle des documents pertinents, (2) Contexte - insertion dans le prompt, (3) Generation - réponse du LLM. Les systèmes modernes ajoutent des couches: query rewriting, retrieval fusion, re-ranking vectoriel, et citation des sources.

Tableau Comparatif - Patterns Architecturaux:

Pattern Latency P95 Precision Hallucination Coût Cas d'Usage
Zero-Shot LLM 50ms 65% 25% $0.001/req QA simple
Simple RAG 150ms 82% 8% $0.015/req FAQ, docs
Agentic RAG 800ms 90% 3% $0.045/req Analyse complexe
Multi-Agent 2000ms 88% 4% $0.075/req Workflows multi-étapes
Graph RAG 600ms 94% 2% $0.050/req Relations conceptuelles

Tableau - Stack Technologique Production:

Composant Options Recommandées Considérations
Vector DB Pinecone, Weaviate, Milvus Trade-off latency/coût/scalabilité
Embeddings OpenAI text-embedding-3-large, Jina Qualité vs. coût vs. vitesse
LLM GPT-4, Claude 3 Opus, LLaMA 70B Qualité vs. latency vs. coût
Orchestration LangChain, LlamaIndex, CrewAI Maturité, features, community
Monitoring Langfuse, Arize, WhyLabs Observabilité et évaluation

Astuce Professionnelle: Implémentez un RAG haute-performance avec cette stack: (1) Utilisez des embeddings multilingues (Jina/mBART) pour les corpus multilingues, (2) Chunking intelligent - au lieu de découper par taille fixe (512 tokens), segmentez par limites sémantiques détectées via nltk, (3) Implémentez un re-ranker cross-encoder lightweight (Sentence-Transformers) qui coûte 50ms et améliore la précision de 15%, (4) Cachéz les embeddings et résultats populaires pour 48h (réduction latency 70%), (5) Utilisez HyDE (Hypothetical Document Embeddings) pour reformuler les requêtes utilisateur en pseudo-documents avant search. Cette chaîne augmente accuracy de 85% à 92% pour un coût additionnel de 30ms.

Attention: ⚠️ La "Citation Problem": les LLM inventent des citations même quand vous fournissez la source. Vérifiez toujours les citations par retrieval réverse - demandez au LLM de pointer vers exactement quelle phrase source justifie chaque affirmation. Les Agentic Systems créent des boucles infinies si mal contrôlées; limitez strictement le nombre d'itérations (max 10-15) et le timeout (5 secondes). Les hallucinations augmentent exponentiellement avec plus d'outils disponibles: optez pour des agents "spécialisés" (3-5 outils) plutôt que génériques (20+ outils).


5. Évaluation, Monitoring et Optimisation Continue

Définition: L'évaluation des LLM en production requiert des métriques qualitatives (relevance, toxicity, hallucination) et quantitatives (latency, coût, throughput). Le monitoring continu détecte les dégradations de performance et guide l'optimisation itérative.

Analogie: Évaluer un LLM en production ressemble à la gestion d'une usine manufacturière. Vous ne mesurez pas juste la production (throughput) mais aussi la qualité (défauts), le temps de cycle (latency), et la rentabilité. Des anomalies peuvent survenir sans prévention, d'où la nécessité de capteurs (métriques) en temps réel.

Framework d'Évaluation Holistique:

L'évaluation moderne utilise quatre piliers: (1) Correctness - réponses factuellement exactes, (2) Relevance - pertinence au contexte utilisateur, (3) Safety - absence de contenu toxique/dangereux, (4) Efficiency - coûts et latency acceptables. Chaque pilier se mesure via des métriques spécifiques, souvent combinant évaluation humaine et automatisée.

Tableau - Métriques d'Évaluation Complètes:

Pilier Métrique Formule/Méthode Target Tool
Correctness BLEU Score N-gram overlap >0.35 SacreBLEU
ROUGE-L Longest common subsequence >0.40 rouge-score
Factuality LLM judge ou entités NER >0.85 GPT-4 as judge
Hallucination Rate Fact-checking <5% Faithfulness metrics
Relevance nDCG@10 Ranking metric >0.65 trec_eval
MRR Mean Reciprocal Rank >0.70 custom
Human Preference A/B testing >60% win rate User study
Safety Toxicity Perspective API <2% detoxify library
Bias Detection Fairness metrics <5% gap AI Fairness 360
Efficiency Latency P95 95th percentile response time <500ms Prometheus
Cost per request (Model cost + infra) / tokens <$0.02 internal tracking
Throughput Requests/second >100 req/s load testing

Tableau - Stratégies d'Optimisation Avancées:

Stratégie Improvement Potentiel Coût Implementation Délai ROI
Prompt Optimization +10-20% accuracy Faible (days) 1 semaine
Few-Shot Fine-tuning +15-25% accuracy Moyen (1-2 weeks) 2-3 semaines
Model Distillation -40% latency, -60% coût Élevé (2-4 weeks) 1-2 mois
RAG Implementation +20-30% accuracy Élevé (4-6 weeks) 1-2 mois
Caching + CDN -70% latency Moyen (1 week) <1 semaine
Context Window Reduction -50% coût tokens Faible (days) <1 semaine

Astuce Professionnelle: Implémentez un système d'évaluation continu appelé "LLM Observability Stack": (1) Baseline Testing - évaluez 100-500 cas représentatifs chaque semaine avec BLEU/ROUGE/GPT-4 judge, (2) Production Sampling - capturez 5-10% des requêtes production pour human review (feedback loop), (3) Automated Metrics - mesurez latency, cost, et toxicity pour chaque requête, (4) Drift Detection - alertez si accuracy chute >5% sur 24h, (5) A/B Testing - comparez systématiquement nouvelles prompts vs. baseline (minimum 200 samples par variant). Utilisez Langfuse (OSS friendly) ou Arize (entreprise) pour orchestration. Mesurez "Cost per Quality Point": si améliorer l'accuracy de 80% à 85% coûte 2x plus cher, ce n'est pas rentable pour votre cas d'usage.

Attention: ⚠️ Les métriques automatiques (BLEU, ROUGE) ne corrèlent pas bien avec la qualité réelle pour les LLM. Utilisez plutôt des evaluators LLM (GPT-4 as judge) ou du human feedback. Attention au "gaming the metrics": optimiser uniquement pour BLEU peut réduire la diversité des réponses. La hallucination augmente progressivement avec le temps - re-entraînez ou mettez à jour les prompts tous les 3 mois. Les "distribution shifts" (changements dans les requêtes utilisateurs) sont invisibles aux métriques globales - segmentez par type de requête pour détecter les dégradations cachées.

===END=
```

Accédez à des centaines d'examens QCM — Découvrir les offres Premium