Pour les développeurs manipulant du code source propriétaire et les utilisateurs traitant des données confidentielles, l'envoi de requêtes vers des API cloud tierces comporte des risques de conformité et de fuite d'informations. Exécuter les modèles open source de DeepSeek en local garantit une souveraineté numérique totale : aucune télémétrie sortante, aucun coût de facturation au jeton et une indépendance absolue vis-à-vis des serveurs externes.
Ollama et LM Studio permettent d'exécuter les modèles de raisonnement et de programmation de DeepSeek directement sur du matériel grand public. Une fois les poids téléchargés ou importés, ces deux plateformes fonctionnent en isolation réseau complète (air-gapped). Ce guide pratique détaille le dimensionnement matériel, les étapes de vérification hors ligne, la mise en place d'un serveur de développement local compatible OpenAI et les paramètres d'inférence recommandés par l'équipe de DeepSeek.
1. Choisir le modèle DeepSeek adapté à son matériel
La gamme DeepSeek-R1 comprend le modèle phare d'origine de 671 milliards de paramètres (671B) reposant sur une architecture Mixture-of-Experts (MoE), ainsi que six modèles denses distillés à partir de Qwen 2.5 et Llama 3. Alors que le modèle complet 671B requiert des grappes de serveurs d'entreprise multi-GPU ou des stations à mémoire unifiée très élevée (comme un Mac Studio doté de 512 Go de RAM), les modèles distillés fonctionnent avec une grande fluidité sur des ordinateurs portables ou fixes standard.
Pour les tâches spécifiquement axées sur le développement logiciel, DeepSeek-Coder-V2 propose également un modèle MoE compact de 16B adapté aux postes de travail des développeurs.
| Variante du modèle | Architecture de base | Taille de téléchargement (Quantification Q4) | Mémoire requise (VRAM / RAM) | Matériel recommandé |
|---|---|---|---|---|
| DeepSeek-R1-Distill-Qwen-1.5B | Qwen 2.5 Math | ~1,1 Go | 4 Go RAM système | PC portables ultra-légers ; inférence pure CPU ; objets connectés |
| DeepSeek-R1-Distill-Qwen-7B | Qwen 2.5 Math | ~4,7 Go | 8 Go VRAM ou 16 Go RAM | Portables standard ; cartes 8 Go (RTX 3060/4060) ; puces Apple Silicon |
| DeepSeek-R1-Distill-Llama-8B | Llama 3.1 | ~5,2 Go | 8 Go VRAM ou 16 Go RAM | Excellent rapport performance/ressources pour la revue de code |
| DeepSeek-R1-Distill-Qwen-14B | Qwen 2.5 | ~9,0 Go | 12–16 Go VRAM ou 24 Go RAM | Cartes graphiques milieu/haut de gamme (RTX 4070/4080) ; Mac 16/24 Go |
| DeepSeek-R1-Distill-Qwen-32B | Qwen 2.5 | ~20 Go | 24 Go VRAM ou 32–64 Go RAM | Cartes haut de gamme (RTX 3090/4090) ; Mac 36 Go+ ; équilibre idéal en logique |
| DeepSeek-R1-Distill-Llama-70B | Llama 3.3 | ~43 Go | Deux cartes 24 Go ou 64–96 Go RAM | Stations de travail multi-GPU ; Mac Studio (64 à 128 Go) |
| DeepSeek-R1 (Complet 671B MoE) | DeepSeek-V3 Base | ~404 Go | 400 Go+ VRAM / Grappe dédiée | Nœuds de serveurs professionnels ; 8 GPU de 80 Go ; Mac Studio 512 Go |
Pour la majorité des cas d'usage en génie logiciel, DeepSeek-R1-Distill-Qwen-14B et DeepSeek-R1-Distill-Qwen-32B représentent le meilleur compromis entre rigueur de déduction et encombrement mémoire.
2. Déploiement local de DeepSeek avec Ollama
Ollama est un environnement d'exécution léger axé sur la ligne de commande, particulièrement adapté aux services d'arrière-plan, aux scripts d'automatisation et à l'intégration directe dans les éditeurs de code (IDE).
Étape 1 : Installer Ollama
Téléchargez l'exécutable adapté à votre système d'exploitation :
- macOS : Téléchargez l'archive ZIP sur le site officiel, décompressez-la et déplacez Ollama dans le dossier Applications.
- Windows : Téléchargez et lancez le programme d'installation
OllamaSetup.exe. - Linux : Exécutez le script officiel dans votre terminal :
curl -fsSL https://ollama.com/install.sh | sh
Étape 2 : Télécharger et exécuter le modèle
Lorsque votre machine est connectée à internet, téléchargez et lancez la variante de votre choix :
# Télécharger et démarrer une session interactive dans le terminal avec le modèle 8B
ollama run deepseek-r1:8b
# Ou déployer les modèles 14B ou 32B pour une précision accrue
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
Ollama détecte automatiquement vos processeurs graphiques (NVIDIA CUDA, Apple Metal ou AMD ROCm), alloue la mémoire VRAM nécessaire et ouvre l'interface de commande.
Étape 3 : Vérifier le fonctionnement en mode hors ligne strict
Pour vous assurer qu'aucune communication externe n'est sollicitée pendant l'inférence :
- Désactivez le Wi-Fi ou débranchez votre câble réseau Ethernet.
- Ouvrez une nouvelle fenêtre de terminal et lancez la commande :
ollama run deepseek-r1:8b
Les fichiers de poids étant enregistrés dans votre stockage local (~/.ollama/models sous Linux/macOS ou %USERPROFILE%\.ollama\models sous Windows), la génération de texte s'exécute sans aucun accès au réseau internet.
Étape 4 : Déploiement sur machines isolées (Air-Gapped)
Pour déployer le modèle sur des machines hautement sécurisées dépourvues de connexion internet :
- Sur un ordinateur connecté, exécutez
ollama pull deepseek-r1:14b. - Repérez le dossier défini par la variable
OLLAMA_MODELS(ou le dossier par défaut~/.ollama/models). - Copiez l'intégralité du répertoire sur un support de stockage externe chiffré.
- Collez les fichiers dans l'arborescence correspondante de la machine isolée et vérifiez la présence du modèle avec
ollama list.
Étape 5 : Ajuster la taille de la fenêtre de contexte (Context Window)
Ollama applique par défaut une fenêtre de contexte de 4 096 jetons. Pour analyser des bases de code volumineuses :
- Au sein de la session interactive :
/set parameter num_ctx 16384 - Lors du lancement du service d'arrière-plan :
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
Étape 6 : Utiliser l'API locale pour les développeurs
Ollama met à disposition une API REST native sur le port 11434, compatible avec les formats de requête OpenAI.
Requête via cURL
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1:8b",
"messages": [
{"role": "user", "content": "Écris un composant de cache concurrent en Go sécurisé pour les threads."}
],
"stream": false
}'
Requête en Python avec la bibliothèque officielle Ollama
from ollama import chat
response = chat(
model="deepseek-r1:8b",
messages=[
{
"role": "user",
"content": "Explique l'impact du GIL en Python sur les tâches intensives en CPU et les solutions d'architecture.",
}
],
options={
"temperature": 0.6,
},
)
print(response.message.content)
Dans les éditeurs comme VS Code ou JetBrains, vous pouvez configurer des extensions telles que Continue.dev ou Aider en pointant l'URL de base vers http://localhost:11434/v1 afin de bénéficier d'une assistance au codage entièrement locale.
3. Déploiement local de DeepSeek avec LM Studio
LM Studio propose une interface graphique conviviale dotée de curseurs visuels pour répartir la charge sur le GPU, d'outils de comparaison de modèles et d'un serveur d'inférence local intégré.
Étape 1 : Installer LM Studio
Téléchargez le programme d'installation adapté à votre système (macOS pour puces Apple Silicon M1 à M4, Windows x64 / Snapdragon ARM, ou Linux AppImage) depuis le site officiel et procédez à l'installation.
Étape 2 : Rechercher et télécharger les modèles DeepSeek
- Cliquez sur l'onglet Discover (icône de loupe dans la barre latérale gauche).
- Saisissez
deepseek-r1oudeepseek-coderdans la barre de recherche. - L'interface affiche les différents fichiers GGUF quantifiés par la communauté (comme Q4_K_M, Q5_K_M ou Q8_0).
- Consultez l'estimation de mémoire requise et cliquez sur Download pour la version adaptée à vos ressources.
Étape 3 : Importation manuelle sans connexion (Sideloading de fichiers GGUF)
Si votre machine cible n'a pas accès à internet :
- Téléchargez le fichier
.ggufde DeepSeek souhaité depuis Hugging Face sur une machine connectée. - Dans LM Studio, ouvrez l'onglet My Models (icône de dossier).
- Glissez-déposez le fichier
.ggufdirectement dans la fenêtre ou déplacez-le vers le dossier~/.cache/lm-studio/models. - L'application identifie immédiatement l'architecture du modèle.
Étape 4 : Répartition des ressources et réglage du GPU Layer Offload
- Ouvrez l'onglet AI Chat.
- En haut de l'interface, cliquez sur Select a model to load et sélectionnez le modèle DeepSeek importé.
- Dans le panneau latéral droit Inference Parameters :
- GPU Offload : Déplacez le curseur pour déterminer le nombre de couches de calcul confiées à la VRAM de la carte graphique. Si votre VRAM est suffisante, sélectionnez le maximum (Max) ; si elle est limitée (par exemple pour un modèle 14B sur une carte 8 Go), confiez une partie des couches au GPU et laissez la RAM système (CPU) gérer le reste.
- Context Length : Ajustez la longueur du contexte selon la mémoire disponible.
Étape 5 : Démarrer le serveur local pour développeurs
Pour transformer LM Studio en serveur d'API local pour vos propres scripts :
- Cliquez sur l'onglet Developer (icône de crochets de code).
- Activez le bouton bascule Start Server.
- Le serveur écoute par défaut sur
http://localhost:1234/v1.
Connexion avec le kit de développement officiel OpenAI en Python
Les projets conçus avec la bibliothèque OpenAI peuvent être connectés sans modification de logique interne :
from openai import OpenAI
# Connexion au serveur local LM Studio sans passage par le cloud
client = OpenAI(
base_url="http://localhost:1234/v1",
api_key="lm-studio", # Aucune clé requise par défaut dans LM Studio
)
completion = client.chat.completions.create(
model="deepseek-r1-distill-qwen-14b",
messages=[
{
"role": "user",
"content": "Analyse le schéma SQL suivant et propose des index optimisés :\nCREATE TABLE audit_records (id BIGINT, organization_id INT, payload TEXT, created_at TIMESTAMP);",
}
],
temperature=0.6,
)
print(completion.choices[0].message.content)
4. Paramètres essentiels pour DeepSeek-R1 et traitement des balises de réflexion
DeepSeek-R1 reposant sur un raisonnement en chaîne de pensée (Chain-of-Thought), son exploitation nécessite quelques adaptations :
1. Maintenir la température à 0,6
L'équipe de DeepSeek recommande explicitement une température d'échantillonnage comprise entre 0,5 et 0,7, la valeur de référence officielle étant fixée à 0,6. Une température trop élevée provoque des hallucinations ou des répétitions en boucle, tandis qu'une valeur proche de zéro bride la créativité exploratoire du modèle.
2. Éviter les System Prompts complexes
Contrairement aux modèles de discussion classiques, DeepSeek-R1 a été optimisé par apprentissage par renforcement pour recevoir l'intégralité des consignes directement dans le message de l'utilisateur. L'ajout d'un System Prompt complexe peut dégrader la qualité du raisonnement logique. Il est préférable d'intégrer le rôle, les contraintes et le format souhaité directement dans le User Prompt.
3. Gestion des balises <think> dans les applications logicielles
DeepSeek-R1 expose son cheminement logique intermédiaire entre les balises <think>...</think> avant de délivrer sa réponse finale.
- Pour les interfaces destinées aux utilisateurs finaux : Le contenu compris entre
<think>et</think>peut être retiré au moyen d'une expression régulière afin de ne présenter que la conclusion finale. - Pour la revue de code et la vérification d'algorithmes : Conserver la séquence de pensée permet de vérifier la validité de chaque hypothèse intermédiaire formulée par le modèle.
5. Comparatif et grille de décision : Ollama vs LM Studio
| Critère d'évaluation | Ollama | LM Studio |
|---|---|---|
| Interface principale | Ligne de commande (CLI) ; service démon d'arrière-plan | Application bureautique avec interface graphique |
| Public cible | Développeurs backend ; DevOps ; utilisateurs de terminal | Chercheurs ; analystes de prompts ; utilisateurs de bureau |
| Gestion des ressources GPU | Détection automatique ; configuration via Modelfile / CLI | Curseur visuel pour régler finement le déchargement de couches |
| Importation de fichiers GGUF | Nécessite un fichier Modelfile FROM ./fichier.gguf | Prise en charge directe par glisser-déposer |
| Adresse du serveur local | http://localhost:11434 | http://localhost:1234/v1 |
| RAG sur documents locaux | Nécessite des interfaces externes comme Open WebUI | Fonctionnalité intégrée de discussion avec des documents |
| Intégration dans les IDE | Support direct pour Continue, Aider et Claude Code | Compatible via les points de terminaison standard OpenAI |
Recommandations :
- Choisissez Ollama si vous privilégiez un moteur discret en arrière-plan, automatisable en scripts shell, intégrable dans des conteneurs Docker ou branché à vos extensions de codage.
- Choisissez LM Studio si vous recherchez une interface visuelle pour surveiller l'occupation de la mémoire VRAM, ajuster avec précision la répartition GPU/CPU ou interroger des documents confidentiels sans avoir à utiliser le terminal.