---
title: Evaluation du modèle Jev pour la classification de tweets
description: Benchmark du modèle Jev dans la classification de tweets
---

<https://agoratlas.com/blog>

# [Evaluation du modèle Jev pour la classification de tweets](https://agoratlas.com/blog/evaluation-du-modèle-jev-pour-la-classification-de-tweets)

 Rédigé par [Mathis Hammel-Brylinski](https://agoratlas.com/blog/author/mathis-hammel-brylinski) | Sep 29, 2026, 12:56:33 PM

## Introduction

Jev est un modèle d'IA publié il y a quelques jours par TypeSafe AI, qui promet des performances et des tarifs battant toute concurrence sur certaines tâches qui étaient jusqu'alors dominées par les LLM. Jev est un modèle spécialisé dans la prise de décisions : à partir d'un contexte et d'un ensemble d'options proposées, il sélectionne l'option la plus pertinente à la question posée.

Les questions peuvent prendre deux formes :

### **É**chelle linéaire

Si la question attend une réponse binaire (oui/non), on utilise des questions "noul" :

Le modèle répondra avec une valeur entre 0.0 et 1.0 qui représente son taux de confiance que la réponse est "oui". Dans cet exemple, Jev est assez indécis sur la nature du hotdog (57% oui, 43% non) et fortement convaincu qu'un croque-monsieur est un sandwich (98% oui, 2% non).

Il est également possible de définir une échelle graduée pour les réponses, en utilisant un type "score" pour la question : par exemple, on pourrait aussi demander à Jev de produire un choix sur une échelle de 1 à 5 représentée par :  
\- 1 = Pas comestible  
\- 2 = Nourriture qui n'a rien à voir avec un sandwich  
\- 3 = Présente quelques caractéristiques similaires à un sandwich  
\- 4 = Présente de nombreuses caractéristiques d'un sandwich  
\- 5 = Indéniablement un sandwich

### Choix multiple

On peut aussi demander au modèle de choisir parmi plusieurs options dans un contexte donné, avec une question "choice". Quelques exemples :  
\- "La facturation du client XYZ ne fonctionne plus depuis 3 jours, quel service doit traiter la demande ?" avec les choix "Service technique", "Service facturation", "Service RH"  
\- "Dans quelle catégorie classer cet email ?" avec les choix "Urgent", "Perso", "Pro", "Newsletter", "Spam"

Avec ces différents types de questions, Jev peut donc couvrir un large éventail de tâches qui nécessitent des décisions rapides parmi un petit ensemble de choix. Cette nouvelle famille de modèles "System One" rappelle beaucoup les LLM, mais elle se spécialise sur un ensemble restreint de fonctionnalités (typiquement, un modèle System One ne peut pas générer de texte ou effectuer des raisonnements complexes) en contrepartie d'une rapidité et d'une tarification (très) avantageuses.

## Contexte du benchmark

Pour analyser des contenus textuels (posts, commentaires, transcriptions de vidéos, etc.), les analystes d'Agoratlas utilisent fréquemment des LLM pour classer ces contenus dans plusieurs catégories.

Ici, nous avons choisi de réutiliser le dataset des 77 951 tweets de notre étude autour de la [Rencontre de février 2025 entre Trump et Zelensky](https://agoratlas.com/blog/rencontre-trump-zelensky-campagne-de-manipulation-de-l-opinion) dans laquelle nous avions identifié plusieurs campagnes coordonnées de manipulation de l'opinion, principalement en faveur de la Russie. Un sous-ensemble aléatoire 1000 tweets est sélectionné pour former un jeu de données d'évaluation. Quelques exemples :  
\- "Altercation à la Maison-Blanche : Moscou estime que Trump a fait preuve de «retenue» face à «l’ordure» Zelensky - par @Le\_Figaro"  
\- "Un gars qui passe son temps à réclamer des armes et des milliards pour envoyer ses jeunes crever pendant 3ans pour perdre des terres. Zelensky n'a jamais été quelqu'un qui était en capacité de jouer avec la tête face à Poutine. Le soucis c'est que là si les USA le lâche...."  
\- "Zelensky est tombé dans un véritable guet-apens préparé depuis plusieurs jours. Trump et ses sbires voulaient l'humilier en public pour le discréditer et acter leur désengagement de l'Ukraine. La liste des pays lâchés en rase campagne par les US est longue."  
\- "Sans l’argent qu’ils leur ont donné Zelensky serait même pas la pour en parler."  
\- "Trump se fout carrément de Zelensky en public. Ce n’est pas acceptable."

Sur chacun de ces 1000 tweets, on souhaite répondre aux 10 questions suivantes :  
`- Q0: Is the tweet relevant to the Trump–Zelensky meeting at the White House on 2025-02-28?`  
`- Q1: Is the tweet relevant to Ukraine–USA relations?`  
`- Q2: Is the tweet relevant to the Ukraine–Russia conflict?`  
`- Q3: Is the tweet favorable to the USA and/or its leaders?`  
`- Q4: Is the tweet favorable to Ukraine and/or its leaders?`  
`- Q5: Is the tweet favorable to Russia and/or its leaders?`  
`- Q6: Is the tweet favorable to the EU and/or its leaders?`  
`- Q7: Does the tweet take a subjective stance toward a side of the Ukraine–Russia conflict?`  
`- Q8: Does the tweet take a subjective stance toward either side regarding the events at the Trump–Zelensky White House meeting?`  
`- Q9: Does the tweet use factual, objective language rather than expressing a personal opinion?`

### Evaluation

Les modèles évalués doivent répondre à ces 10 questions sur chaque tweet, en utilisant une échelle entre 0 (absolument non) et 10 (absolument oui). La baseline est mesurée sur 4 LLM différents : GPT-6 Sol, GPT-6 Luna, Mistral Small 4, Gemini Flash Lite 3.5.

Sur les mêmes conditions d'évaluation, 3 configurations de Jev (v1.13.0) sont testées :  
\- `jev_noul`: questions Vrai/Faux  
\- `jev_noul_precise`: questions Vrai/Faux avec instruction détaillée (voir ci-dessous)  
\- `jev_score`: questions sur une échelle linéaire allant de "No: not present in this tweet." à "Yes: clearly present in this tweet."

Pour `jev_noul_precise`, chaque question est accompagnée d'un critère détaillé spécifiant ce qui correspond à Vrai et ce qui correspond à Faux. Par exemple pour la question Q0 :

"true": "The tweet discusses the Trump–Zelensky White House meeting of 2025-02-28 or its events, participants, or direct aftermath.",

"false": "The meeting is not mentioned or implied; mentioning either leader alone or unrelated news is insufficient."

La liste détaillée des prompts LLM et des instructions Jev est fournie en annexe ci-dessous.

### Batching

Chaque modèle évalué doit répondre à 10 000 questions en tout. Il serait très inefficace et coûteux d'envoyer 10 000 requêtes séparées, on fait donc le choix de regrouper ces questions. Deux modes de batching sont utilisés :  
\- Mode "single" : le modèle reçoit une unique question, et un groupe de 50 ou 100 tweets.  
\- Mode "all" : le modèle reçoit les 10 questions, et un groupe de 1/10/20/50/100 tweets.  
Cela fait donc 7 modes de batching à évaluer sur chacun des 7 modèles (4 LLM + 3 Jev), pour un total de 490 000 questions/réponses.

Envoyer des batchs plus grands est plus efficace (\`all\_100\_tweets\` demande seulement 10 requêtes pour les 10 000 questions), mais la grande masse d'informations à traiter d'un coup peut entraîner une dégradation des résultats dans un phénomène connu sous le nom de "context rot" (pourrissement du contexte). Tester plusieurs modes de batching permet donc de mesurer plusieurs compromis entre coût et qualité.

## Résultats

### Limitation des modèles

Durant la collecte des données, deux aspects limitants ont été identifiés :  
\- La fenêtre de contexte de Jev est limitée à 32 000 tokens, ce qui est trop petit pour classifier 100 tweets à la fois  
\- Les modèles GPT-6 hébergés sur Azure Foundry ont des garde-fous très restrictifs et refusent de répondre à certaines requêtes.   
En conséquence, il a été choisi d'exclure des analyses statistiques les deux configurations de batching à 100 tweets, et de ne conserver que les 919 tweets ayant reçu un score dans toutes les configurations. Ainsi, tous les modèles sont évalués sur des conditions identiques.

Les 79 tweets ayant déclenché les filtres de sécurité sur GPT-6 ont été inspectés manuellement : les sujets abordés sont alignés avec le reste du dataset, mais formulés de manière beaucoup plus violente (insultes, antisémitisme, etc.).

### Coût et durée

Les données ci-dessous concernent le mode de batching \`all\_20\_tweets\` (10 questions et 20 tweets par requête), un standard que nous utilisons fréquemment dans nos analyses. Le temps et le coût sont mesurés pour la totalité des 50 requêtes.

Les autres modes de batching produisent des résultats sans grande surprise : les batchs plus petits sont plus lents et coûtent plus cher. En passant la taille de batch de 20 à 1 :  
\- Les LLM sont environ 5 fois plus lents et 3 fois plus chers  
\- Jev est environ 12 fois plus lent et 1.3 fois plus cher

Pour le moment, les résultats sont très prometteurs : Jev est moins cher et beaucoup plus rapide que tous les LLM évalués. Mais qu'en est-il de la qualité des résultats ?

### Déviation par rapport au consensus

Un premier indicateur intuitif pour jauger le comportement des modèles est de regarder la moyenne de leurs réponses à chacune des 10 questions posées.

De manière générale, les modèles s'accordent généralement bien sur la tendance générale du jeu de données sur chaque question. Sur les questions dont la moyenne est moins consensuelle (Q8 notamment), Jev estime souvent des valeurs plus élevées (= plus proches de "oui") que les LLM. Mais ce critère d'évaluation n'est pas vraiment pertinent, chaque modèle aura sa propre manière d'évaluer les graduations sur l'échelle de 0 à 10. Une approche plus intéressante serait de normaliser les réponses pour déterminer à quel point chaque modèle s'approche du consensus.

Pour chaque configuration (modèle + batching) et pour chaque question, on élimine le biais et la variance du modèle en ramenant les 919 réponses à une moyenne de 0 et un écart-type de 1 par transformation affine (par exemple, une réponse de -2.5 indique que cette réponse est très inférieure aux autres réponses données par le modèle sur cette question).  
Une fois cette normalisation effectuée, il est désormais possible de comparer les réponses entre les modèles. Pour chaque tweet et chaque question, on établit une valeur "consensus" qui est la moyenne des 35 réponses normalisées.

On classe ensuite chacune des 35 configurations selon sa proximité avec le consensus (une valeur plus basse représente une meilleure proximité) :

Les résultats sont sans appel : les 15 configurations de Jev sont meilleures que la meilleure des 20 configurations LLM.

La qualité des résultats de Jev est fortement corrélée avec le niveau de détail des instructions fournies en entrée : le modèle \`noul\_precise\`, qui domine le classement, bénéficie d'une description personnalisée des critères Vrai/Faux pour chaque question, là où \`score\` n'a qu'une échelle générique de valeurs commune à toutes les questions, et \`noul\` n'a aucune consigne sur la manière d'échelonner sa réponse.

Côté LLM, c'est GPT-6 Sol qui s'en sort le mieux, ce qui n'est pas vraiment étonnant vu sa tarification 10 fois supérieure aux autres LLM évalués. GPT-6 Luna reste néanmoins presque aussi bon que Sol sur des petites tailles de batch, mais souffre rapidement du "context rot" lorsque les requêtes contiennent beaucoup d'informations.

Autre remarque intéressante, Jev semble beaucoup moins sensible au "context rot" que les LLM, avec une tendance à produire des meilleurs résultats lorsque plusieurs tweets sont fournis dans chaque batch. Deux explications potentielles à cela :  
\- La présence de plusieurs tweets permet à Jev de calibrer ses réponses les unes par rapport aux autres  
\- Le fonctionnement de Jev évalue chaque question en parallèle, de manière indépendante : chaque évaluation ne voit qu'une seule question, ce qui permet au modèle d'être moins "distrait" par la présence d'autres questions dans son contexte

### Sensibilité au batching

La dernière mesure de ce benchmark cherche à caractériser la sensibilité des différents modèles à différents modes de batching. En particulier, on cherche à savoir si le modèle répondra différemment à une question s'il a la connaissance des 9 autres questions. Les tableaux ci-dessous permettent de comparer la réponse moyenne à chaque question dans ces deux situations.

Pour GPT-6 Sol :

Il apparaît clairement que GPT-6 Sol n'évalue pas les 10 questions de manière indépendante : pour la question Q2 ("Is the tweet relevant to the Ukraine–Russia conflict?") posée seule, le LLM produit un score moyen de 6.51 sur les 919 tweets. Lorsque la même question est posée dans un contexte qui contient les 9 autres, cette moyenne passe à 4.53.

Pour Jev (\`noul\_precise\`) :

Le batching des questions ne fait en revanche presque aucune différence pour Jev, puisque chaque question est évaluée dans un contexte isolé. Les petites fluctuations observées ne sont qu'un effet de l'échantillonnage.

## Conclusion

Pour l'étiquetage de courts textes, typiques de ce que nous avons l'habitude d'analyser sur les réseaux sociaux, Jev est un modèle qui bat les LLM sur tous les critères. Par rapport à un modèle frontière comme GPT-6 Sol, Jev est:  
\- 15 à 100 fois moins cher  
\- 8 à 30 fois plus rapide  
\- Plus précis  
\- Moins sensible au "context rot"  
\- Moins sensible aux interférences entre plusieurs tâches

## Annexe : prompts détaillés

#### Prompts LLM

Le prompt envoyé aux LLM pour chaque batch adopte le format suivant :

`Classify each French tweet using ONLY its text, not external context.`  
`Return ONLY a JSON object with key scores: an array in input order. Each element is an array of `  
`exactly 10 INTEGER values 0..10, in question order.`  
`10 means confidently yes, 0 confidently no, 5 uncertain; no prose or markdown.`  
`For favorable questions, criticism is no, neutrality is no, and praise/support is yes.`  
`For subjective stance, require an expressed position, not merely a quoted report.`  
`For objectivity, report of facts without endorsement is yes; overt judgment is no.`  
`If a topic is not mentioned or implied, its relevance and favorability are no.`

`Q0: Is the tweet relevant to [...]`  
`Q1: [...]`

`Tweets as a JSON array of text, in input order:`  
`[`  
`  "Trump se fout carrément de Zelensky en public. Ce n’est pas acceptable.",`  
`  [...]`  
`]`

#### Prompts Jev

Pour Jev, le contexte et les questions sont envoyées dans deux champs distincts.  
Format du contexte :

Format des questions (similaire sur les 3 configurations utilisées) :

Pour la configuration \`jev\_noul\_precise\`, les critères accompagnant chaque question :

[Voir l'article complet](https://agoratlas.com/blog/evaluation-du-modèle-jev-pour-la-classification-de-tweets)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Mathis Hammel-Brylinski"
  },
  "dateModified" : "2026-09-29T12:56:33.636Z",
  "datePublished" : "2026-09-29T12:56:33Z",
  "headline" : "Evaluation du modèle Jev pour la classification de tweets",
  "image" : {
    "@type" : "ImageObject",
    "height" : 160,
    "url" : "https://49367679.fs1.hubspotusercontent-na1.net/hubfs/49367679/image-png-Sep-29-2026-12-29-59-4149-PM.png",
    "width" : 678
  },
  "mainEntityOfPage" : "https://agoratlas.com/blog/evaluation-du-modèle-jev-pour-la-classification-de-tweets",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Agoratlas - études de cas"
  }
}
```