Jev répond en probabilités. La question reste la vôtre.
Écouter l'article (expérimental) · 15:42

Depuis une semaine environ, mes flux sont pleins d'un modèle qui n'écrit pas. TypeSafe AI appelle Jev un modèle System One. Vous lui envoyez un état, n'importe quel texte ou JSON, et des questions typées. Un Choice retient une option parmi jusqu'à 255 que vous avez définies, un Score note l'état sur deux à dix niveaux que vous avez décrits, et un Noul renvoie la probabilité qu'un énoncé soit vrai. Ce qui revient, c'est la réponse retenue, une probabilité pour chaque réponse que vous avez autorisée et, sauf pour un Noul, une valeur de confiance. Pas de prose. TypeSafe le facture 0,042 $ par million de tokens d'entrée, la sortie étant gratuite, et le dit 200 fois plus rapide et 400 fois moins cher que les modèles de chat que les gens utilisent pour les mêmes tâches.
TypeSafe a suspendu les inscriptions avant que j'aie une clé, et les essais d'ici sont censés mesurer plutôt que témoigner. Celui-ci pèse donc les comptes rendus des gens qui l'ont bel et bien essayé, puis lance le pilote qu'il me faudrait avant de croire un multiple, sur mes propres essais, avec le modèle ouvert qui a servi de doublure à Jev.
L'intéressant, c'est la forme, pas la vitesse
Retirez les multiples et ce qui reste est un contrat. Un modèle conversationnel renvoie du texte que votre code doit parser, valider et remettre en doute. Jev renvoie quelque chose selon quoi un programme peut s'aiguiller directement, et il refuse de renvoyer quoi que ce soit d'autre. Le modèle fournit un jugement. La suite appartient à l'application.
Dans l'expérience sur les agents, la première étape du workflow était une question Jev avant que Jev existe : le modèle choisissait une route dans un enum fermé, l'arithmétique était du code, et une classification correcte ne pouvait donc pas produire un nombre faux. Jev fait de ce motif la seule chose que le modèle sache faire. C'est le premier modèle en vogue dont l'argument de vente est ce qu'il ne fera pas.
Il convient aux jugements répétés dont on peut nommer l'espace des réponses : à quelle équipe revient ce ticket, cette action proposée a-t-elle l'air destructrice, la tâche est-elle terminée. Il ne convient à rien d'exact, comme l'arithmétique ou les dates, ni à la réponse destinée au client. Et il ne rend pas votre agent sûr. Il rend un type de décision assez bon marché pour qu'on la demande à propos de tout.
Le chiffre que tout le monde cite n'est pas le bon
Deux cents fois plus rapide et quatre cents fois moins cher sont les chiffres du fournisseur sur des comparaisons choisies. Un compte rendu a fait tourner quatre jugements sur mille avis d'application pour deux centimes, contre seize pour un modèle Gemini rapide, puis a noté qu'il n'avait pas du tout comparé l'exactitude. Un endpoint de décision bon marché n'est pas un workflow bon marché. Ce que vous chiffrez, c'est la tâche accomplie, y compris le modèle de repli, la revue humaine et les tâches parties dans la mauvaise branche.
Le chiffre qui compte se cache sous les multiples. Quand j'ai construit le plan de contrôle de Smithproof, la leçon que j'ai notée, c'est que le modèle que l'on peut se permettre d'exécuter en ligne est celui qui gouverne. Jev brigue ce siège. Une seule décision sur mille tokens coûte quatre millièmes de centime. Un juge génératif est quelque chose qu'on fait tourner sur un échantillon et qu'on lit. Un modèle de décision est quelque chose qu'on fait tourner sur chaque trace et chaque appel d'outil proposé, et selon quoi on aiguille la suite. Passez tout au crible à bas prix, et réservez le modèle coûteux aux échecs que le modèle bon marché a signalés.
La confiance n'est pas la justesse
La probabilité est la partie de Jev qui ressemble le plus à un recours et qui en est le plus éloignée. Le champ de confiance est une arithmétique sur la répartition, et aucun résultat observé n'y entre : Archer Hume, qui a reconstitué l'architecture de Jev à partir d'environ dix mille appels d'API, a mis au jour la formule en lisant l'adaptateur de TypeSafe lui-même. TypeSafe a entraîné le modèle pour la calibration, et au moment où j'écris n'a publié ni courbe de calibration ni article. Et le chiffre d'exactitude du fournisseur lui-même est un accord avec les réponses moyennées de deux modèles de chat de pointe, 67,8 % au global et 61,8 % sur les factures. L'accord n'est pas la justesse.
Un test de spam raconté sur le blog d'Arize montre à quoi sert la probabilité : Jev en zero-shot avait raison sur 98,3 % des e-mails, les 4,6 % dont la probabilité tombait entre 0,3 et 0,7 sont allés à une personne, et le reste est revenu juste à 99,5 %. La probabilité n'a pas rendu le modèle juste. Elle a acheté une voie de revue et dit quelle largeur lui donner.
Prenez l'exemple qui circule : un ticket de support avec facturation à 0,52, technique à 0,46, commercial à 0,02. Facturation l'emporte avec une confiance de 0,28. C'est un pile ou face affublé d'une étiquette, et un système qui s'aiguille selon le gagnant a automatisé un pile ou face. Jev vous donne le chiffre et retient les raisons, si bien que la vérification doit se faire hors du modèle : mesurer la justesse par bande de probabilité sur vos propres exemples étiquetés, fixer chaque seuil selon ce que coûte une erreur, figer la version du modèle, et retester chaque fois que la grille de critères, le modèle ou la distribution des entrées bouge.
Une erreur valide selon le schéma reste une erreur
Le marketing dit que Jev ne peut pas halluciner, ce qui est vrai au sens étroit où il ne peut pas répondre hors de l'espace que vous avez défini. Une réponse valide peut encore être la mauvaise réponse. Jev supprime la sortie malformée, qui a toujours été l'échec le moins cher à attraper. Il garde la branche fausse prise avec assurance, qui a toujours été l'échec coûteux, et vous retire ce qu'un modèle génératif vous donnait pour la diagnostiquer : une explication que vous pouviez lire.
Le recours doit donc être construit. Les règles strictes passent en premier. L'auteur de jev-gate, un filtre d'autorisations pour agents de code, a lancé environ trois cents appels contre son outil : une injection brutale n'a fait passer aucune des trente commandes dangereuses, et une ligne affirmant que le propriétaire du dépôt avait déjà approuvé la commande en a fait passer trois. Trois sur trente font de Jev un filtre devant une frontière, jamais la frontière, et c'est pourquoi les règles strictes se placent devant lui. La bande incertaine va à une personne ou à un modèle qui sait parler ; un Noul ne peut pas s'abstenir, donc l'abstention est votre seuil. Et chaque question reçoit une option de sortie, aucune de ces réponses ou à revoir, avant de régler plutôt qu'après. Le pilote plus bas montre pourquoi.
Puis la question que j'ai posée à dix fournisseurs le mois dernier : si le 0,52 est faux et que cela me coûte quelque chose, qui paie ? Je n'ai pas encore lu les conditions de TypeSafe, et je serais surpris qu'elles se lisent autrement que les dix que j'ai lues : rien n'est garanti, vérifiez tout, un plafond aux alentours du prix d'un livre de poche. Une probabilité ne change rien à cela, si bien que la personne qui a fixé le seuil est la personne qui en répond.
Le pilote, lancé sur mon propre index
Jev, je n'ai pas pu le faire tourner, le pilote a donc tourné sur la doublure. Quelques jours après le lancement, le modèle numéro un des tendances de Hugging Face était Laya, de Convai Innovations. Il a la même forme : un état entre, les trois mêmes types de question, et les mêmes champs reviennent. Il est sous licence Apache 2.0, et à 421 millions de paramètres il tourne sur ce PC portable. Les chiffres ci-dessous sont ceux de Laya, pas ceux de Jev.
La charge de travail est le seul jeu étiqueté que ce blog possède, son propre index : 33 essais, classés chacun à la main sous l'un des six sujets et sous une à quatre des quatre adresses. « D'accord » ci-dessous signifie donc d'accord avec mon classement, et un désaccord n'est pas automatiquement une erreur du modèle. Avant le moindre chiffre, j'ai noté ce que coûte une erreur, un lecteur qui appuie sur une pastille de sujet et tombe sur le mauvais texte, puis la barre : battre l'étiquette la plus fréquente sur chaque question et garder les réponses quand les options sont inversées. Chaque essai a reçu six questions : un Choice pour le sujet, un Choice pour l'adresse que l'essai défend le plus directement, et quatre Nouls, un par adresse. Pas d'option de sortie, parce que l'index n'en a pas. Chacune est partie en trois formulations : la base, les options inversées, et une paraphrase. Laya livre trois checkpoints, un anglais, un multilingue et un affiné sur des décisions typées, et chacun a tourné tel que livré puis de nouveau avec son contexte élargi jusqu'à ce que des essais entiers y tiennent. Tel que livré, le checkpoint anglais lit 512 tokens ; une fois que la question du sujet a pris sa part, il en reste 316 pour l'essai, et l'essai médian d'ici fait 2 658 tokens. Rien dans la réponse ne dit que la plus grande partie de l'essai n'a pas été lue. Cent soixante lignes de Python servent Laya dans le format d'échange de Jev, si bien que le même harnais envoie les mêmes requêtes, et les six configurations ont toutes tourné en moins d'un quart d'heure de GPU.
Le meilleur résultat est juste la moitié du temps, et ne sait pas dire quelle moitié. Le checkpoint affiné sur des décisions typées, lisant les essais entiers, a été d'accord avec mon classement sur le sujet pour 17 essais sur 33 ; répondre toujours par le sujet le plus fréquent en obtiendrait 8. Sur les Nouls, son score de Brier était de 0,257 dans la formulation de base et 0,308 en paraphrase, contre 0,231 pour un modèle qui répond toujours par le taux de base, c'est-à-dire moins bien qu'une constante. Et il le savait. De ses 132 probabilités oui/non, 131 sont tombées entre 0,3 et 0,7, et chaque sujet est revenu avec une confiance sous 0,3. Une autre configuration a au contraire été sûre d'elle : le checkpoint multilingue lisant les essais entiers en a placé 119 sur 132 au-dessus de 0,7 et a eu raison à 37 %, sous les 64 % que répondre toujours non obtiendrait. C'est la branche fausse prise avec assurance, mesurée.
Inverser les options a changé la réponse. Même essai, mêmes six sujets dans l'autre ordre : le sujet a basculé pour 7 à 16 des 33 essais, d'un cinquième à la moitié, selon le checkpoint et selon la part de l'essai qu'il lisait. Hume a trouvé que Jev est lui aussi sensible à l'ordre : inverser les options a fait sortir une classification de support technique de la bande 0,84 pour la porter dans la bande 0,93, ce qui peut faire franchir un seuil à une réponse sans faire basculer l'étiquette.
Ajouter une option a réécrit les réponses aux autres. Hume a aussi trouvé que les options de Jev ne sont pas notées une à une : ajoutez une option sans rapport, et la cote entre deux options auxquelles vous n'avez pas touché bouge. J'ai refait le test sur deux configurations, le checkpoint affiné lisant les essais entiers et le checkpoint anglais tel que livré, en envoyant la question du sujet de quatre façons : les six sujets, les six mêmes à nouveau en témoin, les six plus une option jardinage à laquelle aucun essai d'ici n'appartient, et les six plus une option de sortie. Le témoin est revenu identique sur les 33 essais. Jardinage n'a jamais été choisi une seule fois, n'est jamais monté au-dessus de 0,06 de la probabilité, et a tout de même changé le sujet gagnant pour trois essais sur le checkpoint affiné et quatre sur le checkpoint anglais. L'option de sortie en a changé quatre et six. La valeur de confiance a bougé sur chaque essai, jusqu'à un quart de son amplitude, et c'est ce chiffre-là qu'un seuil lit. L'option de sortie que tout le monde recommande, moi compris, est donc une nouvelle question plutôt qu'un filet de sécurité, et un seuil fixé avant son arrivée a été fixé sur un autre menu.
Rien de tout cela ne dit que Jev ferait pareil. La fiche de Laya elle-même appelle le modèle « a fast base to specialise, not a zero-shot decision engine », et le compte rendu d'une équipe, sur six cents éléments de test qui lui sont propres, tenus à l'écart de l'entraînement, donne Jev à 0,77, Laya de base à 0,72 et un affinage complet de Laya à 0,90. Ce que cette exécution montre, en revanche, c'est que le pilote fonctionne comme pilote. Le test d'inversion à lui seul aurait empêché cette branche d'être livrée, et la barre que j'avais fixée avant les chiffres n'a été atteinte sur aucune question. La réponse go ou no-go pour cette charge de travail est non, et le classement reste à la main.
Ce qu'il ne déplace pas
Un jugement répété dont on peut nommer l'espace des réponses est la moitié bon marché du jugement, et Jev la rend presque gratuite : dix mille décisions sur mille tokens chacune reviennent à quarante-deux centimes. Écrire la question est l'autre moitié, et ce blog a passé un an à soutenir que c'est vers la question que le travail s'est déplacé. Les critères, l'option de sortie et le seuil qui transforme un 0,52 en action, c'est quelqu'un qui décide de ce que vaut une erreur, et Jev consomme ces décisions au lieu de les prendre. La personne dont le ticket est allé à la facturation alors qu'il aurait dû aller à la technique est toujours une personne, avec une soirée, qui se moque que l'erreur ait été valide selon le schéma.
Jev répond en probabilités. La question reste la vôtre. Le seuil aussi, et la réponse quand le seuil était faux aussi. Une décision, il se trouve, peut s'acheter pour quatre millièmes de centime. Dire si c'était la bonne décision, toujours pas.
Les questions auxquelles cet article répond
Qu'est-ce que Jev, et en quoi diffère-t-il d'un modèle de langage ordinaire ?
Jev est un modèle hébergé de TypeSafe AI qui ne génère pas de texte. Vous lui envoyez un état, n'importe quel texte ou JSON, et un ensemble de questions typées : un Choice parmi jusqu'à 255 options que vous définissez, un Score sur deux à dix niveaux que vous décrivez, ou un Noul, une proposition oui/non. Il renvoie la réponse retenue et une probabilité pour chaque réponse autorisée, toutes les questions étant évaluées en parallèle sur le même état, sans prose, sans explication et sans code. Un Choice et un Score portent aussi une valeur de confiance ; un Noul, non. TypeSafe le facture 0,042 $ par million de tokens d'entrée, la sortie étant gratuite, ce qui met une seule décision sur mille tokens à quatre millièmes de centime, et annonce 70 à 500 millisecondes de bout en bout. C'est votre application qui décide de la suite.
Puis-je faire confiance aux probabilités que Jev renvoie ?
Pas avant de les avoir mesurées sur votre propre charge de travail. TypeSafe a entraîné le modèle pour la calibration avec une méthode qu'il appelle Reinforcement Learning for Calibrated Decisions, mais au moment où j'écris il n'a publié ni courbe de calibration ni article, et sa propre évaluation rapporte un accord avec les réponses moyennées de deux modèles de chat plutôt qu'une justesse, à 67,8 % au global et 61,8 % sur les factures. Tous les diagrammes de fiabilité publics viennent de l'extérieur, et ils ne s'accordent pas. Les premiers résultats tiers vont dans les deux sens : un test de spam a envoyé la bande de 0,3 à 0,7 en revue et le reste est revenu à 99,5 %, tandis qu'une comparaison de classification d'émotions a rapporté un score de Brier moins bon qu'un petit modèle entraîné pour la tâche. Mesurez la justesse par bande de probabilité, fixez les seuils décision par décision selon ce que coûte une erreur, figez la version du modèle, et retestez après tout changement.
Où Jev a-t-il sa place dans un agent, et où ne l'a-t-il pas ?
Il convient aux jugements répétés dont on peut nommer l'espace des réponses : à quelle équipe revient ce ticket, quel modèle ou quel outil convient à cette requête, cette action proposée a-t-elle l'air destructrice, la tâche est-elle terminée, ce passage récupéré répond-il à la requête. Sa place est derrière des règles strictes déterministes et devant un chemin de repli pour les cas incertains, et sa sortie est un verdict que votre chemin de requête doit faire appliquer. Il ne convient pas à l'arithmétique, aux dates, aux comptages, à la comparaison de chaînes, à l'extraction de valeurs absentes d'une liste, au texte destiné au client, aux jugements qui demandent plusieurs étapes de raisonnement cachées, aux menus qui peuvent se périmer, ni aux langues et domaines non testés. Dans un test d'injection ouvert, une ligne affirmant que le propriétaire avait déjà approuvé la commande a fait passer trois commandes dangereuses sur trente, c'est donc un filtre devant une frontière de sécurité, jamais la frontière.
Avez-vous fait tourner une partie de tout cela vous-même ?
Oui, avec une doublure. TypeSafe a suspendu les inscriptions à Jev avant que je puisse obtenir une clé, j'ai donc fait tourner le pilote sur Laya, le modèle System One à poids ouverts de Convai Innovations qui a atteint le sommet des tendances de Hugging Face quelques jours après le lancement de Jev : les mêmes questions typées dans le format d'échange de Jev lui-même, les mêmes champs en retour, sur le GPU de ce PC portable. La charge de travail était l'index de ce blog, 33 essais classés chacun à la main sous l'un des six sujets et sous une à quatre des quatre adresses, six questions par essai, trois formulations, six configurations. Le meilleur checkpoint sur la question du sujet a été d'accord avec mon classement pour 17 essais sur 33 contre 8 si l'on répond toujours par le sujet le plus fréquent, a fait moins bien qu'une constante sur les questions oui/non, et a placé 131 de ses 132 probabilités oui/non dans la bande de revue de 0,3 à 0,7. Inverser l'ordre des options a fait basculer entre un cinquième et la moitié des réponses sur le sujet, 7 à 16 sur 33, et ajouter une option qui n'a jamais été choisie a changé le sujet gagnant pour trois des 33 essais sur ce meilleur checkpoint. La barre fixée avant le moindre chiffre n'a été atteinte sur aucune question, donc la réponse go ou no-go a été non. Les chiffres sont ceux de Laya, pas ceux de Jev ; le harnais est écrit pour l'endpoint de Jev lui-même et reste non testé contre lui tant qu'une clé n'est pas arrivée.
À lire ensuite
AIQui paie quand l'IA se trompe ? J'ai lu les conditions de dix fournisseurs pour le savoir
J'ai lu les conditions générales grand public de dix entreprises d'IA en posant à chacune la même question : si votre produit se trompe avec assurance et que cela me coûte quelque chose, qui paie ? Les réponses, mot pour mot : rien n'est garanti, c'est à vous de tout vérifier, le plafond de remboursement commence à dix dollars, et dans la plupart des cas c'est vous qui les assurez. Guide de terrain d'un recours que personne ne vend.
AIQuand l'IA doit filmer sa propre relecture
Quand une pull request est ouverte, la mienne ou une autre que je dois relire, je demande désormais à l'agent de la lancer sur ma machine, d'essayer de la casser et de se filmer en train de le faire. Un paragraphe peut affirmer qu'un test a eu lieu. Un enregistrement doit le montrer, et décider de ce qu'il signifie reste mon travail.