Dans le domaine de l’intelligence artificielle en évolution rapide, DeepSeek s’est imposé comme un concurrent redoutable, défiant des géants établis comme OpenAI et Google. Fondée en juillet 2023 par Liang Wenfeng, DeepSeek est une entreprise chinoise d’IA qui s’est fait remarquer pour ses approches innovantes des grands modèles de langage (LLM) et son engagement en faveur du développement open source. Cet article se penche sur l’architecture, les innovations et les implications des modèles de DeepSeek, en se concentrant particulièrement sur son cadre à mélange d’experts (MoE) et les avancées de ses modèles DeepSeek-V2 et DeepSeek-R1.
Qu’est-ce que DeepSeek et pourquoi est-ce important ?
L’intelligence artificielle (IA) a évolué rapidement, DeepSeek s’imposant comme l’un des projets les plus ambitieux à ce jour. Développé par une équipe d’anciens ingénieurs et chercheurs IA de premier plan, DeepSeek représente une nouvelle génération de modèles de langage open source visant à combler l’écart entre les grands modèles propriétaires (comme GPT-4) et la communauté de recherche ouverte.
Lancé fin 2024, DeepSeek a introduit plusieurs idées novatrices sur l’efficacité de l’entraînement, la mise à l’échelle et la récupération de mémoire, repoussant les limites de ce que les modèles ouverts peuvent accomplir.
En quoi l’architecture de DeepSeek diffère-t-elle des modèles traditionnels ?
Qu’est-ce que le MoE ?
Dans les réseaux neuronaux denses conventionnels, chaque entrée traverse l’intégralité du réseau, activant tous les paramètres indépendamment de la nature de l’entrée. Cette approche, bien que simple, entraîne des inefficacités, surtout à mesure que les modèles gagnent en taille.
L’architecture à mélange d’experts répond à cela en divisant le réseau en plusieurs sous-réseaux, ou « experts », chacun se spécialisant dans différentes tâches ou différents motifs de données. Un mécanisme de gate sélectionne dynamiquement un sous-ensemble de ces experts pour chaque entrée, garantissant que seules les parties les plus pertinentes du réseau sont activées. Cette activation sélective réduit la charge de calcul et permet une plus grande spécialisation du modèle.
L’architecture à mélange d’experts est une technique conçue pour améliorer l’efficacité et l’évolutivité des grands réseaux neuronaux. Au lieu d’activer tous les paramètres pour chaque entrée, le MoE n’active qu’un sous-ensemble d’« experts » spécialisés en fonction des données d’entrée. Cette approche réduit la charge computationnelle et permet un traitement plus ciblé.
Mise en œuvre du MoE chez DeepSeek
Les modèles de DeepSeek, tels que DeepSeek-R1 et DeepSeek-V2, utilisent un cadre MoE avancé. Par exemple, DeepSeek-R1 comprend 671 milliards de paramètres, mais seulement 37 milliards sont activés lors de toute propagation avant donnée. Cette activation sélective est gérée par un mécanisme de gate sophistiqué qui achemine les entrées vers les experts les plus pertinents, optimisant l’efficacité de calcul sans compromettre les performances.
À quoi ressemble un Transformer DeepSeek simplifié ?
Voici un exemple de code simplifié montrant comment DeepSeek pourrait implémenter un mécanisme de mélange d’experts clairsemé :
pythonimport torch
import torch.nn as nn
import torch.nn.functional as F
class Expert(nn.Module):
def __init__(self, hidden_dim):
super(Expert, self).__init__()
self.fc = nn.Linear(hidden_dim, hidden_dim)
def forward(self, x):
return F.relu(self.fc(x))
class SparseMoE(nn.Module):
def __init__(self, hidden_dim, num_experts=8, k=2):
super(SparseMoE, self).__init__()
self.experts = nn.ModuleList()
self.gate = nn.Linear(hidden_dim, num_experts)
self.k = k
def forward(self, x):
scores = self.gate(x)
topk = torch.topk(scores, self.k, dim=-1)
output = 0
for idx in range(self.k):
expert_idx = topk.indices
expert_weight = F.softmax(topk.values, dim=-1)
expert_output = torch.stack((x) for j, i in enumerate(expert_idx)])
output += expert_weight.unsqueeze(-1) * expert_output
return output
# Example usage
batch_size, hidden_dim = 16, 512
x = torch.randn(batch_size, hidden_dim)
model = SparseMoE(hidden_dim)
out = model(x)
print(out.shape) # Output shape: (16, 512)
Cet exemple de base simule la sélection dynamique de 2 experts en fonction de l’entrée et l’agrégation de leurs sorties.

Quelles stratégies d’entraînement DeepSeek a-t-il utilisées ?
Comment la collecte et la curation des données ont-elles été gérées ?
Les créateurs de DeepSeek ont mis l’accent de manière massive sur la qualité des données plutôt que sur la quantité. Alors qu’OpenAI et d’autres ont collecté des données sur l’ensemble d’Internet public, DeepSeek a combiné :
- Jeux de données ouverts sélectionnés (Pile, segments de Common Crawl)
- Corpus académiques
- Dépôts de code (comme GitHub)
- Jeux de données synthétiques spéciaux générés à l’aide de modèles supervisés plus petits
Leur entraînement a suivi une approche d’apprentissage curriculaire en plusieurs étapes :
- Les premières étapes ont été entraînées sur des jeux de données factuels et plus simples
- Les étapes ultérieures ont mis l’accent sur des tâches de raisonnement poussé et de codage
Quelles techniques d’optimisation ont été employées ?
L’entraînement efficace de grands modèles de langage reste un défi majeur. DeepSeek a employé :
- Parallélisme ZeRO-3 : Répartition des états de l’optimiseur, des gradients et des paramètres entre les GPU.
- Quantification Int8 pendant l’entraînement : Pour minimiser l’usage mémoire sans dégrader la qualité du modèle.
- Taux d’apprentissage adaptatifs : En utilisant des techniques comme le cosine annealing avec échauffement.
Voici un petit extrait illustrant l’ordonnancement adaptatif du taux d’apprentissage :
pythonfrom torch.optim.lr_scheduler import CosineAnnealingLR
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4)
scheduler = CosineAnnealingLR(optimizer, T_max=100)
for epoch in range(100):
train(model)
validate(model)
scheduler.step()
Ce code ajuste en douceur le taux d’apprentissage au cours de l’entraînement.
Comment DeepSeek atteint-il des performances supérieures ?
Quel rôle joue la récupération d’informations ?
DeepSeek intègre un système de récupération intégré — comme brancher un moteur de recherche dans un réseau neuronal. Lorsqu’on lui soumet un prompt, le modèle peut :
- Encoder la requête
- Récupérer des documents pertinents depuis une mémoire externe
- Fusionner ces documents avec sa propre connaissance interne
Cela permet à DeepSeek de rester factuel et à jour bien mieux que les modèles fermés classiques.
Conceptuellement, cela ressemble à ceci :
pythonclass Retriever:
def __init__(self, index):
self.index = index # Assume some pre-built search index
def retrieve(self, query_embedding):
# Search based on similarity
return self.index.search(query_embedding)
class DeepSeekWithRetriever(nn.Module):
def __init__(self, model, retriever):
super().__init__()
self.model = model
self.retriever = retriever
def forward(self, query):
embedding = self.model.encode(query)
docs = self.retriever.retrieve(embedding)
augmented_input = query + " " + " ".join(docs)
output = self.model.generate(augmented_input)
return output
Ce type de génération augmentée par récupération (RAG) renforce considérablement les capacités de raisonnement à long terme de DeepSeek.

Comment DeepSeek est-il évalué ?
Le modèle a été évalué sur les références suivantes :
- MMLU : Compréhension linguistique multitâche
- HumanEval : Précision de génération de code
- TruthfulQA : Capacité à répondre de manière véridique
- BIG-bench : Évaluation générale large de l’IA
Dans la plupart des cas, les plus grands modèles de DeepSeek (30B, 65B paramètres) ont égalé, voire dépassé, GPT-4-turbo sur les tâches de raisonnement tout en restant nettement moins coûteux à exécuter.
Quels défis restent à relever pour DeepSeek ?
Aussi impressionnant soit-il, DeepSeek n’est pas exempt de défauts :
- Biais et toxicité : Même des jeux de données soigneusement sélectionnés peuvent laisser filtrer des sorties problématiques.
- Latence de récupération : Les systèmes RAG peuvent être plus lents que les modèles de génération pure.
- Coûts de calcul : L’entraînement et l’inférence de ces modèles restent coûteux, même avec le MoE.
L’équipe DeepSeek travaille activement sur l’élagage des modèles, des algorithmes de récupération plus intelligents et l’atténuation des biais.
Conclusion
DeepSeek représente l’un des tournants les plus importants du développement d’IA ouverte depuis l’essor des modèles Transformer. Grâce à des innovations architecturales comme les experts clairsemés, l’intégration de la récupération et des objectifs d’entraînement plus intelligents, il a établi un nouveau standard de ce que les modèles ouverts peuvent accomplir.
À mesure que le paysage de l’IA évolue, attendez-vous à ce que DeepSeek (et ses dérivés) jouent un rôle majeur dans la prochaine vague d’applications intelligentes.
Pour commencer
Les développeurs peuvent accéder à la DeepSeek R1 API et à la DeepSeek V3 API via CometAPI. Pour débuter, explorez les capacités du modèle dans le Playground et consultez le guide de l’API pour des instructions détaillées. Notez que certains développeurs devront peut-être vérifier leur organisation avant d’utiliser le modèle.
