Laya-MLX, décisions typées en local
Le modèle re-score à chaque frappe, sans génération de texte, sur ta machine.
Comment cet exemple est construit
Chargement...
Comment fonctionne le modèle
Un modèle qui décide, sans rédiger
Un LLM classique (ChatGPT, Claude) écrit sa réponse mot après mot. Pour obtenir un simple chiffre, il faut attendre qu'il finisse sa phrase, puis espérer qu'il a respecté le format demandé.
Laya fonctionne comme un questionnaire à choix multiples : on lui donne un texte et une question avec ses réponses possibles, et il renvoie directement une probabilité pour chaque réponse, en une seule passe. Aucun mot n'est généré. Conséquences :
- rapide : une lecture du texte au lieu d'une rédaction mot par mot ;
- fiable dans la forme : la réponse est forcément l'une des options prévues ;
- local : le modèle est assez petit pour tourner sur un Mac, aucune donnée ne quitte la machine.
Trois types de questions
| Type | Exemple | Réponse du modèle |
|---|---|---|
noul oui / non | « Le texte mentionne-t-il un budget ? » | P(vrai), par exemple 74 % |
choice choix | « Service concerné : facturation / technique / commercial » | Un pourcentage par option |
score échelle | « Urgence : faible / moyenne / critique » | Le niveau attendu, Σ i · pᵢ, par exemple 1,6 sur 2 |
Sous le capot
Chaque question est mise en forme ainsi, puis lue d'un seul bloc :
[CLS] <type> question [SEP] [MASK] option₀ [MASK] option₁ ... [SEP] texte [SEP]
- Encodeur : ModernBERT-large, 28 couches, dimension 1 024. Il est bidirectionnel : chaque mot est interprété à la lumière de tous les autres, avant comme après lui, contrairement aux LLM génératifs qui ne regardent que vers la gauche.
- Type de question : un vecteur propre à
choice,scoreounoulest ajouté, pour que le modèle sache quel genre de réponse on attend. - Tête de décision : 2 couches Transformer, puis un petit réseau (le scorer) lu à la
position de chaque
[MASK]. Chaque option obtient ainsi un score qui tient compte de la question et du texte. - Calibration : les scores sont divisés par une température, puis transformés en probabilités (softmax). But : qu'un « 80 % » soit correct environ 8 fois sur 10.
La calibration dépend de la forme de la question
La température a été ajustée à l'entraînement selon le type de question et le nombre d'options. Plus elle est haute, plus les probabilités sont tassées vers l'incertitude :
| Forme de la question | Température | Effet |
|---|---|---|
| Oui / non | 1,98 | Fortement tassé : dépasse rarement 70 % |
| Choix à 2 options | 1,91 | Fortement tassé |
| Choix à 3 à 5 options | 1,76 | Tassé |
| Échelle à 3 à 5 niveaux | 1,25 | Légèrement tassé |
| Choix à 6 à 10 options, échelle à 6 niveaux ou plus | ≈ 1,0 | Neutre |
| Choix à 11 options ou plus | 0,5 | Accentué |
La forme d'une question influence donc la netteté de ses réponses, indépendamment de son contenu.
Une question, une passe
Le texte n'est pas lu une seule fois pour toutes les questions : chaque question est encodée avec le texte, séparément. Les questions passent en parallèle dans un même lot, mais le nombre de tokens en entrée est à peu près nombre de questions × (texte + question). Le nombre de tokens générés, lui, est toujours 0.
Les modèles utilisés ici
Des checkpoints de 421 millions de paramètres (des centaines de fois moins qu'un grand LLM), sans API cloud. Deux moteurs exécutent les mêmes poids : laya-mlx sur Mac (MLX, le framework d'Apple pour le GPU des puces M) pour les tests en local, et le Laya d'origine (PyTorch) sur serveur. Quand les deux modèles sont chargés, chaque question est envoyée à celui qui y répond le mieux :
laya-typed-decisions, spécialisé dans les décisions typées : cas 1, cas 3, et la prochaine étape et les garde-fous du cas 2 ;laya(anglais généraliste) : les détecteurs de défauts du cas 2, qu'il sépare bien mieux. Une instance légère peut ne charger quelaya-typed-decisions.
- Laya : le modèle d'origine, créé et entraîné par Convai Innovations
- laya-mlx : le portage indépendant pour Apple Silicon utilisé ici
- Poids sur Hugging Face : laya-typed-decisions-mlx et laya-mlx