Le gouvernement a sorti un comparateur d'IA en mode arène.
Ça permet de comparer les réponses de deux IA à une question pour alimenter un dataset afin de les comparer.
Au passage, ça donne des informations sur les modèles (après avoir voté) et la consommation énergétique.
La meilleure lib pour utiliser des LLMs en Python selon moi car ils supportent:
- quasiment tous les providers
- la génération structurée
- les input multi-modaux
- du streaming
- le retry
Bref, tout ce qu'il faut pour faire sérieusement du LLM Engineering en python.
La documentation est ici
Ce site est pas mal lorsqu'il s'agit de comparer les modèles sur leurs différentes caractéristiques:
- taille de la fenêtre de contexte
- "intelligence"
- prix du million de token
- vitesse de génération de token
Une technique intéressante pour améliorer les capacités des modèles de raisonnement des modèles, même les petits modèles entrainés sur de petits dataset.
Ici le modèle s1 possède seulement 32 milliards de paramètres (32B) mais est capable de dépasser les performances du modèle o1-preview d'OpenAI.
Leur approche se base sur deux techniques;
- limiter la "longueur" du raisonnement (les "reasoning tokens") en ajoutant à un moment de l'inférence un token indiquant au modèle qu'il doit fournir sa réponse définitive
- forcer le modèle à réfléchir sur la solution qu'il a généré jusqu'à maintenant en insérant "Wait" à la fin de la séquence de raisonnement
Le simple fait d'insérer "Wait', force le modèle à réfléchir sur la solution qu'il a envisagé et leur permet d'atteindre des performances similaires à un énorme modèle comme o1-preview.
C'est assez impressionnant car cela veut dire que de simples techniques de Prompt Engineering peuvent permettre d'atteindre des performances qui rivalisent avec celles des gros modèles.
Le nombre de contenu généré par IA explose.
Certains de ces articles généré par IA et publié souvent sans être vérifiés sont ensuite utilisés comme source sur Wikipedia.
Gemini 2.0 flash obtient les meilleurs résultats sur la reconnaissance et l'extraction de texte depuis un PDF que la plupart des autres solutions du marché.
L'auteur propose aussi d'utiliser le LLM pour découper le texte en chunk de taille convenable conservant la même thématique.
Le modèle chinois DeepSeek est impressionnant en terme d'optimisation de calcul.
Ce modèle de 671 milliards de paramètres aurait été entrainé avec seulement 2.78 millions de GPU hours sur des cartes graphiques Nvidia H800 bridées pour le marché chinois.
À titre de comparaison, Llama 3 a eu besoin de 11 fois plus de puissance de calcul et possède 405 milliards de paramètres.
Plusieurs optimisations ont été implémentées par l'équipe de DeepSeek avec notamment de la prédiction de token qui fait pensé à ce qu'il se fait dans les CPU mais aussi avec une activation de seulement 37 milliards des paramètres les plus pertinents pour générer chaque token.
C'est vraiment impressionnant car DeepSeek v3 est en 7e position de https://livebench.ai avec devant lui seulement les dernières versions des modèles Gemini de Google et les modèles à raisonnement o1 de OpenAI et DeepSeek r1.
Maintenant à voir si des équipes indépendantes arrivent à reproduire des résultats similaire.
Il faut quand même prendre des pincettes avec ce modèle qui pourrait être considéré par le gouvernement chinois comme une nouvelle source de propagande.
Fireworks est un acteur majeur dans l'infrastructure d'inférence pour modèles Open Source.
Ils proposent la plupart des modèles existant comme Mistral, LlaMa, Qwen mais aussi DeepSeek v3 et R1.
Les prix sont très compétitifs avec seulement 0.9$/MTok (million de tokens) pour DeepSeek v3 qui offre de meilleures performances que GPT-4o (3$/MTok).
De nombreuses entreprises utilisent Fireworks, je l'ai découvert pendant que j’étudiai le fonctionnement de Cursor.
Ils utilisent notamment une version custom de LlaMa pour la partie "apply" des suggestions générées par des modèles plus performants.
Un modèle multi-modal (image, video, text, audio) 8B qui fonctionne sur iPad (entre autre)
Ils annoncent de meilleures performances que GPT-4V sur la reconnaissance d'image.
A vrai dire, ils annoncent que leur modèle surpasse GPT-4o et Claude 3.5 Sonnet dans beaucoup d'autres domaines (audio, realtime interaction) et sur beaucoup de benchmark classiques.
Je ne vois pas ces résultats sur https://livebench.ai/ en tout cas donc prudence dans ces allégations.
Ça reste néanmoins un modèle multi-modal suffisamment petit pour tourner sur du matériel client donc c'est intéressant.
Un administrateur s'est rendu compte que près de la moitié des requêtes servies par son serveurs étaient pour des crawlers IA !
24% du trafic pour GPTBot (OpenAI), 15% pour AmazonBot, 4% pour ClaudeBot, etc
Les bot IA crawlent comme des porcs et même des pages complètement inutiles comme la liste des mises à jour d'une page wiki.
Par comparaison, le Google bot représente 0.14% de son trafic.
En plus, ils ne respectent pas les robots.txt, changent constamment d'IP et parfois masquent même leur user agents.
Ce sont vraiment des pratiques intolérables.
Un autre exemple d'un gérant de site de e-commerce qui a subit l'équivalent d'une attaque DDoS avec le bot d'OpenAI ayant scrappé les milliers de produits et dizaine de milliers d'images de son site avec plus de 600 IP différentes (/!) alors que son robots.txt interdit au bot d'OpenAI d'opérer.
Non seulement ce genre de pratique peut avoir des répercussion au niveau du copyright mais aussi très concrètement au niveau du porte monnaie car les serveurs sont beaucoup plus sollicités !
Pour résoudre les tâches du benchmark ARC-AGI, les requêtes faites à o3 coutaient en moyenne 1000€ !
Ce genre de prix est vraiment prohibitif même pour des tâches compliquées car à ce prix, autant demandé à un humain.
La version "low-compute" du modèle o3 s'en tire avec avec 10 points de moins (76%) mais pour seulement 20$ par tâche.
Les résultats du modèle d'OpenAI o3 au benchmark ARC-AGI sont contestés, notamment parce qu'OpenAI a avoué avoir entrainé son modèle avec les données des exercices.
Meta publie un article sur une nouvelle architecture de modèle de langue.
Au lieu de s'appuyer sur des tokens qui représente des "bouts" de mots de quelques lettres, ils proposent de s'appuyer directement sur des concepts de haut niveau.
Un exemple de token avec cette architecture serait "Tim n'était pas très athlétique".
Cela ressemble aux idéogrammes chinois vs les alphabets et d'ailleurs les compromis sont sensiblement les mêmes:
Par exemple, la vitesse d'inférence (= écriture) accrue pour les concepts mais au prix d'un nombre de concepts beaucoup plus importants et donc aussi un coût d'entrainement + inférence (FLOPS) plus élevé.
En tout cas c'est rassurant de voir qu'il y a des architectures radicalement différente des LLMs actuels qui émergent !
Google a fine tuné Gemini 1.5 Pro pour améliorer le modèle dans un cadre d'enseignement en respectant les concepts de la pédagogie.
Les LLMs ont tendance à présenter l'information plutôt qu'à engager l'utilisateur dans un processus de réflexion et de compréhension. C'est justement l'un des axe qu'ils ont essayé d'améliorer.
Les résultats présentés ont été fait sur 2360 conversations pour un total de 58000 messages et chaque pair de message a été évalué par 3 experts en moyenne.
Ils affichent des résultats 13% meilleurs que le modèle Gemini 1.5 Pro de base.
C'est aussi intéressant de voir que dans l'étude, GPT-4o possède les moins bons résultats face à Claude 3.5 Sonnet et Gemini 1.5 Pro. Les meilleurs modèles "pédagogues" seraient donc Claude et Gemini.
Il est possible de le tester en mode chat ici: https://aistudio.google.com/
De nombreux exemples de prompt sont dans la documentation https://ai.google.dev/gemini-api/docs/learnlm
Le modèle est déjà disponible dans le SDK sous le nom learnlm-1.5-pro-experimental
llms.txt c'est le nouveau standard pour aider les LLM à comprendre les pages web.
Concrètement c'est un fichier qui comme le fameux robots.txt (ou security.txt ou humans.txt) donne des informations au format texte.
Ces fichiers ne se mettent pas forcément à la racine, exemple avec la doc de Cursor https://docs.cursor.com/llms-full.txt
Google annonce Gemini 2.0 Flash.
Niveau benchmark comme d'habitude il faut attendre que ça sorte sur Livebench pour avoir une meilleure comparaison mais quand même ils affichent de très bon résultats:
- 89.7% sur MATH (76.6 GPT-4o)
- 62.1% sur GPQA (59.4% Claude 3.5 Sonnet)
- 35.1% sur LiveCodeBench (42% Claude 3.5 Sonnet, 67% o1-mini)
La big new c'est surtout la multi-modalité en entrée et en sortie du modèle qui est capable de générer un mix de texte, son et image pour répondre si besoin.
Google a vraiment rattrapé son retard, c'est cool de voir toutes ces améliorations.
Anthropic propose un optimisateur de prompt.
Pendant son entrainement, Claude a été optimisé sur certains patterns comme l'utilisation de balises XML pour organiser le contenu et ces patterns peuvent améliorer la performance des prompts.
Un retour d'expérience sur l'utilisation de o1 et Claude 3.5 Sonnet.
La conclusion c'est que dans la majorité des cas, Claude 3.5 Sonnet est suffisamment bon et que la différence prix + latence entre les deux modèles fait plutôt pencher la balance du côté de Claude 3.5 Sonnet
Tout est dans le titre.
OpenAI recrute des spécialistes de la publicité en provenance de chez Google et Meta pour réfléchir à son offre publicitaire.
À priori, ça sera sûrement du placement de produit dans les résultats de génération de ChatGPT.
Un article proposait une méthode pour transposer le système d'enchères traditionnel de la pub en ligne aux LLM
Une percée potentielle dans l'architecture des LLMs !
L'architecture actuelle (ARM) est une génération "de gauche à droite" ou l'on génère les tokens les un après les autres en concaténant les tokens générés pour faire le nouveau prompt.
En s'inspirant des modèles de diffusion d'image, les chercheurs ont mis au point une nouvelle architecture de modèle (MDM) qui génère les tokens avant et après le prompt.
Ces modèles sont plus cher à entrainer mais ils présentent plusieurs avantages:
- meilleures performances de génération sur des problèmes standards
- capable "d'apprendre" et d'inférer que si A = B alors B = A (les LLMs ont beaucoup de mal à ça)
- jusqu'à 40% plus rapide
C'est un tout nouveau champ de recherche qui commence à prendre de l'ampleur !
Finalement on dirait qu'on a pas encore atteint ce fameux plafond de verre ;-)
Les gens de chez .txt (ce qui font Outlines) ont pris le temps de réfuter l'étude Let Me Speak Freely qui annonçait des performances moindre lorsque l'on utilisait un format contraint comme JSON.
Leurs résultats montrent que la génération structuré améliore un peu la performance de génération (ils ont utilisés les mêmes benchmark que l"étude)
Les erreurs faites dans l'étude:
- certains de leurs résultats présentaient déjà de meilleures performances en génération structurée
- les prompts n'étaient pas les mêmes entre génération structurée et non structurée
- le parsing des outputs était réalisé avec un autre LLM ce qui faussait les résultats
An apt analogy would be to programming language benchmarking: it would be easy to write a paper showing that Rust performs worse than Python simply by writting terrible Rust code.
Finalement c'est plutôt rassurant car il est difficile de se passer de la génération structurée aujourd'hui.
A noter qu'il faut bien faire la différence entre
- génération structurée: JSON-mode d'OpenAI ou lib Outlines qui garantissent le schéma des données en sortie
- génération JSON: on génère du JSON et on vérifie qu'il correspond à un schéma