Agents en Production · N°1
Dans la série LoRA Factory, nous avons construit une usine à agents spécialisés sur Phi-3.5-mini-instruct. Trois agents (OPNsense, WireGuard, CrowdSec), trois adapters LoRA, un pipeline d’entraînement automatisé.
Tout fonctionnait — jusqu’à ce que les limites du modèle de base se manifestent en production. Ce premier article de la série Agents en Production documente pourquoi et comment nous avons migré vers Qwen2.5-3B-Instruct.
Pourquoi changer de modèle de base ? Phi-3.5-mini est un excellent modèle compact.
Agents en Production · N°2
C’est le type de bug qu’on ne voit pas venir.
L’entraînement se termine normalement. La loss finale est bonne — 0.2532 pour OPNsense, comparable aux runs précédents. Pas d’anomalie dans les courbes. Le modèle a convergé.
Puis on lance la vérification fonctionnelle. Et le score tombe à zéro.
Score : 0/102 (0%) ❌ ADAPTATEUR NON VALIDÉ L’investigation La première réaction est de chercher un bug dans le script de vérification. On inspecte le chargement du modèle, l’application de l’adapter, le décodage.
Agents en Production · N°3
Après entraînement, la question n’est pas “quelle est la loss ?”, c’est “l’agent appelle-t-il la bonne fonction quand on lui donne une directive réelle ?”.
C’est cette distinction qui a motivé la construction d’un système de vérification comportementale, distinct et indépendant du pipeline d’entraînement.
Le format CAP v1 Le coordinateur communique avec les agents via un format structuré appelé CAP v1 (Coordinator-Agent Packet). C’est le format de production — ce que reçoit l’agent dans un déploiement réel.
Agents en Production · N°4
Les trois agents sont validés à 100%. La question devient : comment les servir simultanément sur un GPU de 12 Go déjà occupé par le coordinateur ?
Le problème du multi-agent sur GPU contraint L’architecture cible est simple :
Utilisateur │ ▼ Coordinateur (Qwen2.5-3B, port 3001) │ CAP v1 ├──→ OPNsense agent ├──→ WireGuard agent └──→ CrowdSec agent │ ▼ Tool-agent-server (port 3000) Le coordinateur et les agents-outils tournent sur le même GPU — une RTX 4070 Ti avec 12 Go de VRAM réels (11.
Fine-tuning NLP pour les logs · N°1
Fine-tuner un NER sur des logs serveur : méthodologie et choix du framework Un log serveur n’est pas du texte. C’est une séquence semi-structurée, produite par un démon, dans un format qui varie selon la version du logiciel, la configuration, et parfois l’humeur de l’admin qui a écrit le rsyslog.conf. Les modèles NLP généralistes — entraînés sur des corpus de presse et de Wikipedia — sont largement aveugles à ce type de données.
AnonyNER · N°3
Entraîner un NER sécurité : du corpus annoté au modèle en production Les entités de sécurité que spaCy standard ne détecte pas ne sont pas impossibles à apprendre — elles sont simplement absentes de ses données d’entraînement. La solution n’est pas de remplacer spaCy par un LLM lourd, mais d’entraîner le composant NER de spaCy sur des exemples spécifiques au domaine.
Ce chemin — annotation LLM-assistée → fine-tuning spaCy → modèle production léger — est à la fois robuste et déployable sans GPU.
LoRA Factory · N°1
L’Usine à Cerveaux : Automatiser la Spécialisation des LLM Dans le paysage actuel de la cybersécurité, la réactivité n’est plus une option ; c’est une question de survie. Un analyste SOC (Security Operations Center) moderne doit jongler entre une multitude d’interfaces : SIEM (Wazuh), plateformes d’orchestration (TheHive/Cortex), firewalls de nouvelle génération (OPNsense/Stormshield), et outils de threat intelligence (MISP).
L’idée d’un “Agent de Sécurité IA” capable d’unifier ces interfaces est séduisante, mais elle se heurte à un obstacle de taille : la précision technique absolue.
LoRA Factory · N°2
Apprendre à l’IA à “Réfléchir” : Le Moteur de Traces ReAct Dans l’article précédent, nous avons vu comment lora-factory transforme des spécifications OpenAPI en contrats techniques rigides via Pydantic. Aujourd’hui, nous plongeons dans le “carburant” de nos experts : la donnée synthétique de haute qualité.
Entraîner un modèle sur de simples couples “Question -> Appel API” est l’erreur la plus commune dans le monde du fine-tuning. Cela crée des modèles “parrots” (perroquets) qui s’effondrent dès que la requête utilisateur s’écarte du script nominal ou contient des ambiguïtés.
LoRA Factory · N°3
La Forge Technique : Optimiser l’Entraînement avec Unsloth & QLoRA Une fois que nous disposons de données de haute qualité (le dataset ReAct de l’Article 2), il est temps de passer à la “forge”. Fine-tuner un modèle de 12 milliards de paramètres (comme Mistral-Nemo-12B) n’est pas une mince affaire sur du matériel grand public. Sans optimisation extrême, l’entraînement d’un expert métier pourrait prendre des heures, ce qui briserait le cycle d’itération rapide indispensable à notre usine.
LoRA Factory · N°6
Affiner sans Oublier : Itération Continue et Mémoire du LoRA Dans les articles précédents, nous avons posé les fondations : générer des traces ReAct de qualité, entraîner efficacement avec QLoRA et Unsloth, orchestrer les agents sur du matériel réel. Mais une question reste entière : que se passe-t-il quand le premier agent certifié n’est pas assez bon ?
C’est le lot commun du fine-tuning sur domaine étroit. Un premier run d’entraînement produit un agent fonctionnel, mais la validation fonctionnelle — le vrai test, pas la loss — révèle des angles morts.