Le guide de référence sur l'IA open source en 2026. Modèles de pointe, frameworks d'entraînement, serveurs d'inférence, techniques de fine-tuning, bases de données vectorielles et outils d'orchestration — avec des conseils pratiques pour choisir la bonne stack selon votre cas d'usage.
En 2022, GPT-3.5 était largement considéré comme hors de portée pour la communauté open source. L'écart semblait infranchissable. En 2026, le tableau est radicalement différent : Llama 4 Maverick rivalise avec les modèles propriétaires de pointe sur la plupart des benchmarks, DeepSeek-R1 défie OpenAI o1 sur le raisonnement mathématique, et l'écosystème open source a produit des modèles spécialisés qui surpassent leurs équivalents propriétaires dans des domaines précis.
Pour les entreprises et les développeurs, cela signifie un véritable choix pour la première fois. Les modèles open-weight ne sont plus un repli ; ils constituent souvent le premier choix.
Le modèle s'exécute entièrement sur votre infrastructure. Vos données ne quittent jamais votre environnement — essentiel pour la santé, le juridique, la finance et tout secteur réglementé.
Un seul cluster A100 remplace les coûts d'API au $/token en volume. À plus de 10 M de requêtes par mois, les modèles auto-hébergés offrent généralement une réduction de coût de 5 à 20×.
Affinez sur votre domaine, votre ton, vos données. Les API fermées vous donnent l'ingénierie de prompt ; les poids ouverts vous donnent le contrôle total du modèle.
La charge opérationnelle. Auto-héberger un modèle signifie que vous assumez le provisionnement de l'infrastructure, les mises à jour de modèle, la supervision, la planification de capacité et la réponse aux incidents. Les API fermées externalisent tout cela. La question n'est jamais « l'open source est-il meilleur ? » — c'est « avez-vous la capacité d'ingénierie pour l'exploiter de façon fiable ? »
graph TB A["Foundation Models (Llama 4, Mistral Large 3, Qwen 2.5, DeepSeek R2)"] --> B["Fine-tuned / Instruction-tuned Variants"] B --> C["Inference Server (vLLM / TGI / Ollama)"] C --> D["Orchestration Layer (LangChain, LlamaIndex, CrewAI)"] D --> E["Application (RAG, Agents, Chatbot, Code assistant)"]
Le panorama début 2026. Les scores MMLU sont indicatifs — évaluez toujours sur votre tâche spécifique avant de sélectionner un modèle pour la production.
| Modèle | Org. | Paramètres | Contexte | Licence | MMLU | Idéal pour |
|---|---|---|---|---|---|---|
| Llama 4 Maverick | Meta | 400B (MoE) | 1M | Llama 4 | 87.5 | Compétitif au sommet, multimodal |
| Llama 4 Scout | Meta | 109B (MoE) | 10M | Llama 4 | 79.6 | Long contexte, MoE efficace |
| Llama 4 Behemoth | Meta | 2T (MoE, preview) | 256K | Llama 4 | 92.0 | Capacité maximale (modèle enseignant) |
| Mistral Large 3 | Mistral | 123B | 128K | MRL | 84.0 | Entreprise, conformité européenne |
| Mistral Small 3 | Mistral | 24B | 128K | Apache 2.0 | 81.0 | Efficace, licence permissive |
| DeepSeek-R1 | DeepSeek | 671B (MoE) | 128K | MIT | 90.8 | Raisonnement, maths, code |
| DeepSeek-R1-Distill-70B | DeepSeek | 70B | 128K | MIT | 86.7 | Raisonnement efficace |
| Qwen2.5 72B | Alibaba | 72B | 128K | Qwen License | 86.6 | Multilingue, codage |
| Qwen2.5-Coder 32B | Alibaba | 32B | 128K | Apache 2.0 | — | Génération de code |
| Gemma 2 27B | 27B | 8K | Gemma | 75.2 | Compact, bien optimisé | |
| Phi-4 | Microsoft | 14B | 16K | MIT | 84.8 | Petit mais étonnamment performant |
La plus permissive pour un usage commercial. Octroie des droits de brevet, autorise la modification et la redistribution. Mistral la privilégie pour ses modèles phares.
Extrêmement permissive, restrictions minimales. DeepSeek publie sous MIT, ce qui place ses modèles parmi les modèles de pointe sous licence la plus libérale.
Permissive pour la plupart des usages commerciaux, mais exige un accord de licence pour les produits/services dépassant 700 M d'utilisateurs actifs mensuels. Mêmes conditions que Llama 3.
Distinction importante : « open weight » signifie que les poids du modèle sont disponibles, mais le code et les données d'entraînement peuvent ne pas l'être. Le véritable open source (comme Mistral) publie les deux.
Les modèles généralistes ne sont qu'un début. L'écosystème open source a produit des modèles spécialistes très performants qui surpassent des modèles généralistes bien plus grands dans leur domaine.
Pour les entreprises européennes, les modèles de Mistral (sous licence Apache 2.0 pour Mistral Small 3, siège dans l'UE, options d'hébergement dans l'UE disponibles) sont souvent le choix par défaut pour des raisons de conformité et de souveraineté des données. Mistral Small 3 et Mistral Large 3 offrent une licence permissive ou compatible avec un usage commercial, avec une provenance européenne claire qui satisfait de nombreuses exigences d'achat et de résidence des données.
Deux frameworks dominent : PyTorch et JAX. Sauf raison précise de choisir JAX, commencez par PyTorch — l'écosystème, l'outillage et le support communautaire sont inégalés.
Graphes de calcul dynamiques, style d'exécution impératif, et le plus grand écosystème de tous les frameworks de ML. Utilisé par Meta, Microsoft, Hugging Face et la grande majorité de la communauté de recherche.
Le framework de ML fonctionnel de Google avec compilation XLA. Excelle sur les TPU, permet les transformations de fonctions (grad, jit, vmap, pmap). Flax et Equinox sont les principales bibliothèques de réseaux de neurones construites par-dessus.
Charger, affiner et partager n'importe quel modèle du Hub. La bibliothèque centrale de l'écosystème de l'IA open source.
Boucles d'entraînement de fine-tuning supervisé (SFT), RLHF, DPO et GRPO. La bibliothèque standard pour l'entraînement d'alignement.
Couche d'abstraction unique pour l'entraînement multi-GPU, multi-nœuds et en précision mixte. Écrivez une fois, exécutez partout.
Étapes 1/2/3 de l'optimiseur ZeRO, parallélisme 3D (tenseur, pipeline, données). Indispensable pour entraîner de très grands modèles.
Fully Sharded Data Parallel — la réponse native de PyTorch à DeepSpeed ZeRO. Intégration plus simple, performances comparables.
from transformers import AutoTokenizer, AutoModelForCausalLM
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset
import torch
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-4-Scout-17B-16E-Instruct",
torch_dtype=torch.bfloat16,
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-4-Scout-17B-16E-Instruct")
dataset = load_dataset("HuggingFaceH4/ultrachat_200k", split="train_sft[:10000]")
trainer = SFTTrainer(
model=model,
args=SFTConfig(
output_dir="./sft-output",
num_train_epochs=3,
per_device_train_batch_size=4,
),
train_dataset=dataset,
processing_class=tokenizer,
)
trainer.train()Le fine-tuning complet exige autant de GPU que le pré-entraînement — prohibitif pour la plupart des équipes. Les méthodes de fine-tuning économe en paramètres (PEFT) rendent possible l'adaptation de modèles de pointe sur un seul GPU.
Au lieu de mettre à jour tous les poids du modèle, LoRA ajoute de petites matrices d'adaptation A et B à côté de matrices de poids gelées. Seuls les adaptateurs sont entraînés, réduisant les paramètres entraînables jusqu'à 10 000× pour un modèle de 7B.
Le rang r contrôle la capacité des adaptateurs. Valeurs typiques : 8 à 64. Un rang plus élevé = plus de capacité mais plus de paramètres. À l'inférence, les adaptateurs peuvent être fusionnés dans le modèle de base pour un surcoût nul.
QLoRA quantifie les poids du modèle de base en 4 bits NF4 (Normal Float 4), puis entraîne les adaptateurs LoRA en bfloat16. Cela permet d'affiner un modèle de 70B sur seulement 2× GPU A100 80 Go — ce qui exigerait normalement un cluster de 16 GPU. La perte de qualité due à la quantification est minime lorsque les adaptateurs sont entraînés en précision supérieure.
from peft import LoraConfig, get_peft_model
lora_config = LoraConfig(
r=16, # rank — controls adapter capacity
lora_alpha=32, # scaling factor (alpha/r = effective LR)
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: 6,815,744 || all params: 8,036,802,560 || trainable%: 0.085| Méthode | Mémoire GPU (7B) | Paramètres entraînables | Qualité | Meilleur cas d'usage |
|---|---|---|---|---|
| Full Fine-Tuning | ~112 GB | 100% | La plus élevée | Quand la qualité prime et que les GPU sont abondants |
| LoRA | ~16 GB | 0.1–1% | Quasi complète | Adaptation de style/format, instruction tuning |
| QLoRA | ~6 GB | 0.1–1% | 95–98 % de LoRA | Fine-tuning à ressources limitées, 70B sur 2 GPU |
Une variante plus récente qui décompose les matrices de poids en composantes de magnitude et de direction, puis applique LoRA uniquement à la composante de direction. Atteint souvent une meilleure qualité que LoRA standard au même rang. Pris en charge dans peft via use_dora=True.
Utilisez le fine-tuning quand :
Utilisez le RAG quand :
Une fois le modèle obtenu, il faut le servir. Le choix du serveur d'inférence détermine votre débit, votre latence et votre complexité opérationnelle. Pour les charges de production, vLLM est le choix le plus largement adopté.
| Serveur | Langage | Idéal pour | Quantification | Streaming | Licence |
|---|---|---|---|---|---|
| vLLM | Python | Production à haut débit | GPTQ, AWQ, GGUF | ✓ | Apache 2.0 |
| TGI | Rust/Python | Stack HuggingFace | bitsandbytes, GPTQ | ✓ | Apache 2.0 |
| Ollama | Go | Développement local | GGUF (llama.cpp) | ✓ | MIT |
| llama.cpp | C++ | Périphérie/CPU/Apple Silicon | GGUF all levels | ✓ | MIT |
| LMDeploy | Python | Inférence rapide + int4 | W4A16, W8A8 | ✓ | Apache 2.0 |
| Triton Inference Server | C++ | Production multi-framework | Backend dependent | ✓ | BSD |
L'inférence traditionnelle alloue le cache KV en grands blocs contigus, gaspillant de la mémoire et empêchant le batching de requêtes de longueurs de séquence différentes. PagedAttention traite le cache KV comme des pages de mémoire virtuelle — les blocs sont alloués à la demande et partagés entre les requêtes lorsque c'est possible. Cela permet le batching continu (les nouvelles requêtes rejoignent les lots en cours) et offre une utilisation du GPU 2 à 4× meilleure qu'un service naïf.
# Start vLLM OpenAI-compatible server
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-4-Scout-17B-16E-Instruct \
--dtype bfloat16 \
--max-model-len 8192 \
--port 8000from openai import OpenAI
# vLLM exposes an OpenAI-compatible API
client = OpenAI(base_url="http://localhost:8000/v1", api_key="token")
response = client.chat.completions.create(
model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
messages=[{"role": "user", "content": "Explain attention mechanisms"}],
temperature=0.7,
max_tokens=512,
)
print(response.choices[0].message.content)Pour le développement, les environnements isolés (air-gapped) ou un usage personnel, les outils d'inférence locale permettent d'exécuter des modèles sur du matériel grand public sans compte cloud. Ollama est le point d'entrée le plus simple.
Gère les téléchargements de modèles, la quantification GGUF et expose une API locale compatible OpenAI. Aucun environnement Python requis.
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Télécharger et exécuter des modèles
ollama run llama4:scout # ~23 Go GGUF Q4_K_M (MoE, efficace)
ollama run mistral-small3 # ~14 Go GGUF Q4
ollama run deepseek-r1:70b # ~40 GB
ollama run qwen2.5-coder:7b # Spécialiste du code
# Lister les modèles téléchargés
ollama list| Format | Bits/poids | Qualité | Recommandé pour |
|---|---|---|---|
| Q2_K | 2-bit | Faible | Minimum absolu de RAM |
| Q4_K_M | 4-bit | Bonne | Meilleur équilibre qualité/taille — valeur par défaut recommandée |
| Q5_K_M | 5-bit | Très bonne | Quand vous avez de la RAM en plus |
| Q6_K | 6-bit | Excellente | Quasi sans perte, RAM abondante disponible |
| Q8_0 | 8-bit | Quasi sans perte | Développement, systèmes à RAM élevée |
| F16 | 16-bit | Sans perte | Qualité maximale, GPU serveur uniquement |
| Matériel | Modèle recommandé |
|---|---|
| MacBook M2/M3/M4 (16GB) | 8B Q4_K_M |
| MacBook M2 Pro (32GB) | 13-14B Q4_K_M |
| MacBook M3 Max (64GB) | 70B Q4_K_M |
| RTX 3090 24GB | 13B Q8_0 or 30B Q4 |
| A100 80GB | 70B FP16 or Llama 4 Scout Q4 |
| 2× A100 80GB | Llama 4 Maverick Q4 or 70B FP16 |
Interface graphique multiplateforme pour modèles locaux. Parcourez et téléchargez depuis HuggingFace, serveur local compatible OpenAI, suivi de l'utilisation matérielle. Idéal pour les utilisateurs non développeurs.
Application LLM de bureau privilégiant la confidentialité. 100 % hors ligne, open source (AGPL), prend en charge les modèles compatibles Ollama. Conçue pour les utilisateurs qui veulent zéro télémétrie.
Les bases de données vectorielles sont la colonne vertébrale des systèmes RAG. Le bon choix dépend de l'échelle, de l'infrastructure existante et du besoin de filtrage par métadonnées en parallèle de la recherche vectorielle.
| Base de données | Type | Échelle | Licence | Atout distinctif |
|---|---|---|---|---|
| pgvector | PostgreSQL extension | Moyenne | Apache 2.0 | SQL + vecteurs, aucune nouvelle infra |
| Chroma | Embedded/server | Petite-Moyenne | Apache 2.0 | API la plus simple, idéale pour le prototypage |
| Qdrant | Rust server | Grande | Apache 2.0 | Filtrage par payload, rapide |
| Weaviate | Go server | Grande | BSD | Recherche hybride, GraphQL |
| Milvus | C++ server | Très grande | Apache 2.0 | Échelle du milliard, cloud-native |
| LanceDB | Embedded | Moyenne | Apache 2.0 | Natif Arrow, serverless |
Si vous exploitez déjà PostgreSQL, pgvector ajoute la recherche vectorielle sans aucune nouvelle infrastructure. Il gère confortablement des millions de vecteurs avec des index IVFFlat ou HNSW — largement suffisant pour la plupart des systèmes RAG en production.
-- Enable the extension
CREATE EXTENSION IF NOT EXISTS vector;
-- Create table with vector column
CREATE TABLE documents (
id bigserial PRIMARY KEY,
content text,
embedding vector(1536) -- dimension matches your embedding model
);
-- Create approximate nearest neighbor index (IVFFlat)
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100);
-- Alternatively, HNSW (better recall, slower build)
-- CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);
-- Semantic similarity query
SELECT content, 1 - (embedding <=> '[0.1, 0.2, ...]'::vector) AS similarity
FROM documents
ORDER BY embedding <=> '[0.1, 0.2, ...]'::vector
LIMIT 5;Les frameworks d'orchestration relient votre modèle aux outils, à la mémoire et aux pipelines multi-étapes. Le paysage est encombré — choisissez selon votre cas d'usage, pas seulement sur les étoiles GitHub.
| Framework | Étoiles GitHub | Idéal pour | Niveau d'abstraction |
|---|---|---|---|
| LangChain | 90k+ | Pipelines polyvalents | Élevé |
| LangGraph | 10k+ | Workflows d'agents avec état | Moyen |
| LlamaIndex | 35k+ | Applications fortement RAG | Moyen |
| CrewAI | 20k+ | Collaboration multi-agents | Élevé |
| AutoGen | 30k+ | Multi-agents conversationnels | Moyen |
| DSPy | 20k+ | Optimisation de prompts | Faible-Moyen |
| Semantic Kernel | 20k+ | Intégration .NET/entreprise | Élevé |
| Haystack | 15k+ | Pipelines NLP, ouverts | Moyen |
DSPy adopte une philosophie différente des autres frameworks : au lieu de concevoir manuellement des modèles de prompt, vous définissez une signature de tâche (entrées, sorties et contraintes) et quelques exemples étiquetés, puis DSPy optimise automatiquement les prompts à l'aide d'algorithmes comme OPRO ou BootstrapFewShot. C'est particulièrement puissant avec des modèles open source plus petits, sensibles à la formulation des prompts — laissez l'optimiseur trouver ce qui fonctionne plutôt que d'itérer à la main.
L'évaluation est l'endroit où la plupart des projets d'IA open source échouent en production. Avant de déployer un modèle, définissez des critères de qualité mesurables et établissez une référence.
lm-evaluation-harness
by EleutherAI
Le lanceur de benchmarks standard pour les modèles open source. Exécute MMLU, HellaSwag, ARC, WinoGrande et plus de 60 autres benchmarks. Utilisé pour générer les scores de l'Open LLM Leaderboard.
OpenCompass
by Shanghai AI Lab
Plateforme d'évaluation complète avec plus de 100 benchmarks, particulièrement bien fournie en benchmarks de langue chinoise et en modèles de langues asiatiques.
Ragas
by Explodinggradients
Framework d'évaluation spécifique au RAG. Mesure le rappel de contexte, la fidélité, la pertinence des réponses et la précision du contexte via une méthodologie LLM-juge.
DeepEval
by Confident AI
Framework d'évaluation de type tests unitaires. Écrivez des assertions d'évaluation en Python, intégrez-les à la CI/CD, suivez les métriques au fil des versions de modèles.
Evals
by OpenAI
Le format d'évaluation d'OpenAI est devenu un standard de l'industrie. De nombreux projets open source adoptent la même structure d'éval pour l'interopérabilité.
HELMET
by Princeton
Évaluation holistique des modèles de langage à long contexte. Crucial pour les modèles revendiquant de grandes fenêtres de contexte — teste le rappel et le raisonnement réels sur long contexte.
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_recall
from datasets import Dataset
eval_data = Dataset.from_dict({
"question": ["What is LoRA?"],
"answer": ["LoRA adds low-rank adapter matrices to frozen weights..."],
"contexts": [["Low-Rank Adaptation adds trainable matrices A and B..."]],
"ground_truth": ["LoRA is a parameter-efficient fine-tuning method..."],
})
result = evaluate(
eval_data,
metrics=[faithfulness, answer_relevancy, context_recall]
)
print(result)
# {'faithfulness': 0.96, 'answer_relevancy': 0.89, 'context_recall': 0.92}Il n'y a pas de bonne réponse universelle. Parcourez ces questions dans l'ordre — chaque réponse restreint nettement vos choix.
Si les données ne peuvent pas quitter votre infrastructure, vous êtes par défaut sur la voie du tout-open-source. Cela exclut immédiatement tout service d'API managé. Dimensionnez d'abord votre infrastructure.
< 1K req/jour : Ollama sur une seule machine suffit. 1K–100K/jour : vLLM sur un seul nœud A100. > 100K/jour : cluster vLLM ou TGI derrière un répartiteur de charge. À très grand volume, les économies par rapport à l'accès API amortissent l'infrastructure en quelques semaines.
Repère approximatif : modèle 7B ≈ 14 Go FP16 (ou 5–6 Go Q4) ; 13B ≈ 26 Go ; 70B ≈ 140 Go FP16 (ou 40 Go Q4) ; 405B ≈ 810 Go FP16 (ou 200 Go Q4). Ajoutez 20 % de surcoût pour le cache KV. Le fine-tuning QLoRA nécessite ~1,5× la mémoire d'inférence.
Chat généraliste → Llama 4 Scout. Génération de code → Qwen2.5-Coder. Raisonnement/maths → DeepSeek-R1. Multilingue → Qwen2.5 72B. Q&R sur documents → Mistral Small 3 + pgvector. Chaque domaine a un vainqueur clair — n'utilisez pas un modèle généraliste quand un spécialiste existe.
Changements de style et de format → LoRA (rapide, économique). Connaissances spécifiques à un domaine → QLoRA + SFT sur votre corpus. Amélioration du raisonnement → GRPO ou DPO sur des données de préférence. Si le comportement du modèle de base est assez proche avec le prompting, sautez complètement le fine-tuning.
| Cas d'usage | Modèle | Service | Orchestration | BD vectorielle |
|---|---|---|---|---|
| Chatbot interne | Llama 4 Scout | vLLM | LangChain | pgvector |
| Assistant de code | Qwen2.5-Coder 7B | Ollama | Claude Code | — |
| Q&R sur documents | Mistral Small 3 | vLLM | LlamaIndex | Qdrant |
| Workflow multi-agents | Llama 4 Scout | vLLM | LangGraph | pgvector |
| Tâches de raisonnement | DeepSeek-R1-Distill 7B | Ollama/vLLM | Custom | — |
| Confidentialité critique | Llama 4 Scout | Ollama (air-gapped) | Custom | Chroma |
Sélectionner le bon modèle et la bonne infrastructure pour votre cas d'usage exige d'équilibrer performance, coût, conformité et maturité opérationnelle. Nous aidons les entreprises à arbitrer ces décisions et à mettre en œuvre des systèmes d'IA open source fiables, privés et économiques à grande échelle.
Construire des systèmes de génération augmentée par récupération qui fonctionnent en production avec des bases de données vectorielles open source
Construire des agents de production avec des LLM open source, de l'architecture au déploiement
Réduire les coûts d'inférence de 70 à 90 % grâce à la sélection de modèles, la quantification et les stratégies de cache