Strands Decider 2B d’AWS : que vaut ce modèle décisionnel open source ?
Strands Decider 2B d'AWS classe et évalue sans générer de texte. Licence Apache-2.0, 3,8 Go de VRAM et décisions en 135 ms : test complet et performances.
👁 124 lectures
Strands Decider 2B est un modèle décisionnel open source conçu par AWS : au lieu de générer du texte, il sélectionne une réponse dans une liste prédéfinie et indique son niveau de confiance. Doté de 2 milliards de paramètres et publié sous licence Apache-2.0, AWS a mis à disposition non seulement les poids, mais également les données d’entraînement et les scripts associés. Je l’ai exécuté sur une carte RTX 4090 : il n’a occupé que 3,8 Go de VRAM et a classé des demandes clients sans aucune faute en 135 ms. Une analyse plus globale et une comparaison avec Cloudflare Clef sont disponibles dans le guide sur les modèles décisionnels IA.
Qu’est-ce que Strands Decider 2B
Le modèle a été publié le 1er octobre 2026 par l’équipe Strands Labs d’AWS (les auteurs de l’article de présentation sont Marc Brooker, Mike Chambers et Fabio Nonato de Paula). Son nom s’inspire de Strands Agents, le framework open source d’AWS dédié à la conception d’agents. Voici les éléments techniques clés :
- Base : Qwen3.5-2B-Base. AWS a retiré la tête de génération de langage pour intégrer une tête de pointage (pointer head) d’un peu plus d’un million de paramètres, chargée d’évaluer l’état caché sur la position de chaque option.
- Affinement : un adaptateur LoRA de rang 16. Le checkpoint
StrandsAgents/strands-decider-2B-hobson-v19est accessible sur Hugging Face : l’adaptateur pèse 67 Mo et le modèle de base se télécharge automatiquement lors de la première initialisation (environ 4,3 Go sur ma machine). - Licence : Apache-2.0 pour le modèle, le code et la recette d’entraînement ; le modèle de base Qwen3.5-2B-Base est lui aussi sous licence Apache-2.0.
- Transparence : le dépôt
strands-labs/strands-decidercontient les scripts d’entraînement, la liste de 29 jeux de données publics (notamment BANKING77, CLINC, AG News, HotpotQA) et les résultats bruts d’évaluation. - Installation : la commande
pip install strands-deciderfournit un outil en ligne de commande ainsi qu’un serveur HTTP. - API : compatible avec le format System One, le standard partagé par Jev de TypeSafe, Cloudflare Clef et Kev.
Comment formuler vos requêtes
Comme tout modèle décisionnel, Strands Decider prend en entrée un état contextuel et des requêtes étiquetées réparties en trois catégories :
| Type | Exemple | Résultat |
|---|---|---|
choice |
Quel service : facturation, livraison, retours ? | option + niveau de confiance + distribution |
noul |
Le client est-il irrité ? | probabilité de « oui » |
score |
Degré d’urgence : peut attendre / cette semaine / aujourd’hui ? | niveau attendu + distribution |
Le nombre d’options n’est soumis à aucune restriction stricte, car les étiquettes sont transmises dynamiquement avec la requête au lieu d’être figées dans l’architecture du modèle. Le verdict est produit en une seule passe dans le réseau, sans boucle de génération autorégressive. L’état est calculé une seule fois puis réutilisé en mémoire cache pour les questions annexes, ce qui rend l’ajout de requêtes supplémentaires quasi indolore sur le temps d’exécution.
Les performances mesurées par AWS
- JevBench (231 tâches publiques) : 167 réussites, soit 72,3%. Selon AWS, le modèle se classe 3e sur 33 architectures de la catégorie 2B, et 1er sur 30 si l’on exclut les modèles légèrement supérieurs à 2B.
- Tâches simples sur JevBench : 100% de précision.
- Latence : médiane d’environ 115 ms sur une RTX 3090, et environ 153 ms sur un MacBook équipé d’une puce M3.
- Jeux de données internes : de 64,1% (tâches courtes, 6000 exemples) à 89,8% (identification de questions sans réponse sur MuSiQue).
AWS documente en toute franchise les limites de son outil. Ce système reste nettement moins performant que les modèles de raisonnement complets sur les problématiques complexes ; il ne convient ni au code, ni au dialogue libre, ni au résumé. La fiche technique précise également que le modèle « lit la question avec moins d’attention que le document » : pour un état et des options identiques, modifier la formulation de la question n’infléchit que rarement la décision finale. Vos requêtes doivent donc être totalement univoques.
Mon test sur un jeu de tickets clients réels
Le protocole d’évaluation a porté sur 30 tickets réels représentatifs d’une boutique en ligne ou d’une application SaaS : 5 exemples par service (facturation, livraison, retours, gestion du compte, incidents techniques, ventes). Une partie comportait des fautes d’inattention et des coquilles. Deux questions ont été posées pour chaque cas : identifier le service compétent et déterminer si le dossier exigeait un traitement le jour même. Configuration matérielle : carte graphique NVIDIA RTX 4090, Windows 11, PyTorch 2.11. Nous avons effectué le test initial en polonais.
| Scénario testé | Service correct | Urgence (seuil à 0,5) | Temps médian |
|---|---|---|---|
| Demandes en polonais, intitulés des services en polonais | 30/30 | 24/30 | 135 ms |
| Demandes en polonais, intitulés en anglais | 30/30 | 26/30 | 135 ms |
| Ensemble formulé en anglais | 29/30 | 26/30 | 130 ms |
- Empreinte mémoire : pic à 3,8 Go de VRAM, chargement initial effectué en 16 s.
- Routage vers le service : sans aucune erreur sur le test en polonais. La seule erreur observée sur la variante anglaise concernait un changement d’abonnement en milieu de cycle de facturation, classé par erreur dans la facturation au lieu des ventes - une ambiguïté sur laquelle la plupart des modèles butent.
- Détection de l’urgence : un défaut d’étalonnage est apparu. La probabilité attribuée au « oui » pour les 6 demandes véritablement urgentes oscillait entre 0,22 et 0,47. Aucune n’ayant franchi le seuil par défaut de 0,5, le modèle n’a signalé aucun cas urgent d’office. La hiérarchie relative des scores était toutefois cohérente : en abaissant le seuil critique à 0,4, le score passe à 26/30.
- Indice de confiance sur le routage : médiane à 0,86, score le plus bas à 0,31. À titre de comparaison, le modèle Clef-flash, plus lourd, affichait une médiane de 0,97.
Sur le même GPU, Gemma 4 12B exécuté via Ollama avec contrainte de sortie JSON a également atteint 30/30, mais en 413 ms, tandis que Llama 3.1 8B a signé un score de 25/30 en 173 ms. Un comparatif exhaustif portant sur huit architectures est détaillé dans notre guide des modèles décisionnels.
Strands Decider ou Cloudflare Clef
| Critère | Strands Decider 2B | Clef-flash |
|---|---|---|
| Taille de l’architecture | 2B, env. 4,4 Go à télécharger | 9B, 19 Go |
| Consommation VRAM (test pratique) | 3,8 Go | 18,3 Go |
| Temps médian (sur 4090) | 135 ms | 112 ms |
| Traitement image et vidéo | non | oui |
| Hébergement géré | aucun, déploiement autonome requis | Workers AI, environ 0,08 EUR (0,09 USD) pour 1 million de tokens (taux BCE du 12/10/2026 : 1 EUR = 1,1181 USD ; source : https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml) |
| Jeux de données d’entraînement | publics | internes, données synthétiques |
| Compatibilité CPU / Mac | oui | carte 24 Go quasi indispensable |
Privilégiez Strands Decider si votre cas d’usage nécessite une exécution locale sur un ordinateur portable, sur une instance serveur modeste dépourvue de GPU volumineux ou directement sur processeur (CPU), et si vous tenez à pouvoir affiner l’entraînement sur vos propres classes à partir de la méthodologie officielle. Tournez-vous vers Clef-flash si vous possédez une carte de 24 Go ou si vous cherchez une solution cloud gérée capable d’ingérer des éléments visuels. Retrouvez l’analyse du lancement de Clef dans notre article dédié.
Comment le déployer en 3 étapes
- Installez PyTorch (avec le support CUDA si vous disposez d’un processeur graphique NVIDIA), puis exécutez
pip install strands-decider. La bibliothèque requiert une version de transformers égale ou supérieure à 5.15. - Soumettez une requête via le terminal :
# Exemple traduit du test polonais d'origine : # --state "Le livreur a dépose le colis devant la porte du voisin et il a disparu" # --choice "Quel service ?=facturation,livraison,retours,compte" # --noul "Le client est-il irrite ?" strands-decider ask StrandsAgents/strands-decider-2B-hobson-v19 \ --state "Le livreur a depose le carton sur le palier du voisin et il a disparu" \ --choice "Quel service ?=facturation,livraison,retours,compte" \ --noul "Le client est-il irrite ?" - Démarrez l’API locale :
strands-decider serve StrandsAgents/strands-decider-2B-hobson-v19 --port 8000et transmettez vos requêtes sur l’endpoint/v1/systemone.
Sous Windows, transformers peut vous avertir de l’absence des packages flash-linear-attention et causal-conv1d. Le modèle reste pleinement opérationnel sans ces dépendances (le temps de 135 ms relevé lors de notre banc d’essai a été obtenu dans cette configuration), bien qu’un léger gain de vitesse soit possible avec ces briques optimisées. Le serveur écoute exclusivement sur 127.0.0.1 et n’embarque aucun mécanisme d’authentification par défaut : prévoyez un proxy inverse sécurisé avant toute exposition sur un réseau public.
Sources
- Strands Agents: Introducing Strands Decider 2B (01/10/2026)
- Fiche du modèle sur Hugging Face
- Code source sur GitHub
- Test technique réalisé le 05/10/2026 sur RTX 4090.
Foire aux questions
Quelle quantité de mémoire GPU requiert Strands Decider 2B et quelle est sa rapidité ?
Le modèle occupe 3,8 Go de VRAM sur carte graphique. Lors de notre évaluation sur une RTX 4090 avec des requêtes réelles, la latence médiane a atteint 135 ms. Selon les mesures communiquées par AWS, le délai médian s’élève à environ 115 ms sur une RTX 3090 et à 153 ms sur un MacBook à puce M3.
Sous quelle licence Strands Decider 2B est-il distribué et quels éléments AWS met-il à disposition ?
L’ensemble est proposé sous licence Apache-2.0, qui s’applique au modèle, au code source et à la recette d’entraînement. AWS a publié les poids, les scripts d’apprentissage, la liste des 29 jeux de données ouverts ainsi que les métriques d’évaluation brutes dans le répertoire strands-labs/strands-decider.
Quelle a été l’efficacité de Strands Decider 2B lors de l’évaluation sur des tickets clients ?
Sur un banc de 30 demandes réparties entre 6 départements (testé initialement en polonais), le modèle a orienté l’intégralité des dossiers vers le bon service, soit un score parfait de 30 sur 30. L’évaluation de l’urgence a en revanche révélé un calibrage perfectible : aucun cas n’a dépassé le seuil par défaut de 0,5, mais le réglage du seuil à 0,4 a permis de valider 26 classements sur 30.


