Retrouvez un résumé de l'actualité Generative AI en français sélectionnée par Olivier Cavadenti et Adrien Maret.
✍️ L’édito
Lancez-vous !
Si comme beaucoup d’autres personnes vous êtes fasciné par la GenAI mais que vous n’avez encore rien fait de concret dans ce domaine alors il n’est pas trop tard pour se lancer, au contraire.
Les compétences en GenAI sont rares aujourd’hui, et généralement les personnes avec une telle expérience sont en poste quelque part en CDI, entrain de développer un produit à base de GenAI.
De fait, les entreprises n’ayant aucune compétence en interne ont bien du mal à lancer des projets car le domaine est tellement nouveau qu’il n’y a encore que très peu de consultants!
“C’est en forgeant qu’on devient forgeron”, ce vieille adage prend tout son sens lors de l’émergence d’une technologie. Tout ceux qui font de la GenAI aujourd’hui ont appris sur le tas, en pratiquant.
Si vous avez des compétences en développement, alors lancez vous sur de petits projets autour des thématiques suivantes:
Extraction de données structurées (e.g. extraction de facettes depuis une fiche produit)
Génération de contenu (e.g. génération de post LinkedIn depuis un article de blog)
RAG (e.g. poser des questions en langage naturel à partir des classes de son Design System, des librairies internes, des routes d’API, des tables)
Si vous n’avez pas de compétences en développement, utilisez un outil comme Gumloop pour créer des automatisations de process. Réception de factures, mise à jour de dossier client, recherche de leads, il y a pleins de choses à automatiser !
Dans les deux cas, utilisez ChatGPT le plus souvent possible pour vous habituer au prompting.
Bref, lancez-vous :-)
🤖 Agents LLM
💡 CodeAct - Executable Code Actions Elicit Better LLM Agents
Une nouvelle technique pour planifier et faire exécuter des actions par un Agent en utilisant uniquement du code Python.
Plutôt que de fournir des outils virtuels que l'Agent peut utiliser en répondant un certain format JSON par exemple, CodeAct propose plutôt de permettre à l'Agent d'utiliser directement ces actions dans du code sous la forme de fonctions.
Déjà c'est assez malin car le code est beaucoup plus facile à générer pour un LLM qu'un DSL custom représentant des fonctions.
Aussi, le LLM peut maintenant utiliser directement les primitives de programmation comme les boucles ou les conditions pour arriver à ses fins plus rapidement.
Par contre, il y a du gros travail sur la génération de code pour éviter de faire n'importe quoi (malicious inputs) ou des choses imprévues comme utiliser des paquets externes non disponibles.
🔍 Retrieval-Augmented-Generation
💡 How we built Text-to-SQL at Pinterest
Un retour d'expérience très complet sur le système d'interrogation du datawarehouse de Pinterest avec du langage naturel.
Ils ont construit un RAG avec lequel les utilisateurs peuvent poser des questions en langage naturel. 40% du temps le résultat est bon du premier coup et le reste du temps les utilisateurs doivent affiner leur question en plusieurs messages. (comme toujours, l'IA reste un copilote)
Une idée intéressante: ils utilisent les questions les plus courantes sur une table pour générer une description de la table et son utilité. Cette description est ensuite vectorisé.
Ils utilisent OpenSearch (la fork d'Elasticsearch) comme moteur de recherche vectoriel notamment parce qu'ils peuvent utiliser le scoring boost.
L'article est une mine d'information et ils donnent tous leurs prompts. (!)
💡 WrenAI makes your database RAG-ready. Implement Text-to-SQL more accurately and securely.
Une solution clé en main de Text-to-SQL, un RAG pour poser des questions en langage naturelle à sa base de données.
Une autre solution un peu plus mature: Dataherald
Les deux sont Open Source :-)
🧠 Large-Language-Models
💡 Introducing Lamini Memory Tuning: 95% LLM Accuracy, 10x Fewer Hallucinations
Une nouvelle technique qui comme le RAG, est utilisée pour permettre au LLM de répondre à des questions sur des données non présentes dans le corpus d'entrainement initial.
Pour ça, ils se basent sur un fine-tuning de millions de LoRa avec les documents qui seront sélectionnés au moment de l'inférence pour répondre à la question.
Ils annoncent des résultats impressionnants avec 95% de précision sur un cas d'usage Text-to-SQL vs 50% avec un RAG.
Cette méthode permet de remplacer un RAG avec une nouvelle technique d'entrainement mais aussi de réduire énormément les hallucinations.
Ils expliquent les détails de leur méthode dans ce papier de recherche: Banishing LLM Hallucinations Requires Rethinking Generalization
Si ça se concrétise c'est game changer pour l'écosystème LLM qui pourrait délaisser le RAG pour le Memory Tuning dans certains cas d'usage.
La lib Firebase Genkit de Google pour LLM est très bien pensée.
Contrairement à Langchain, le design est simple et le nombre de features limité à des abstraction de bas niveau.
- Abstraction autour des modèles (LLM et aussi image)
- Génération de données structurées avec schéma de validation Zod en entrée et en sortie (on fait la même chose chez Didask)
- Utilisation d'outils par les LLMs (la aussi définis avec Zod!)
Je ne suis pas super fan de leur manière de gérer les templates de prompt par contre, je préfère utiliser du pur Javascript.
Le gros bémol c'est que l'on a pas accès aux modèles d'OpenAI.
Un benchmark des différents LLM.
Les question se répartissent en plusieurs catégories:
- raisonnement
- code
- mathématiques
- analyse de données
GPT-4 est en tête bien sur
💡 Literal AI - Multi-modal LLM observability and evaluation platform
Un outil de LLMOps dans la même veine que Langfuse.
Ça permet l'observabilité des applications LLM avec études des étapes de générations et même possibilité de rejouer directement les prompts.
Ils proposent aussi une partie évaluation et une partie création collaborative de prompts.
Un très bon article sur la manière d'évaluer des système de GenAI (RAG mais pas que)
- Avoir des interfaces bien foutues pour l'évaluation des données (question + réponse)
- Pas forcément besoin d'outils sophistiqués (même Excel peut faire l'affaire)
- Chaque système nécessite une évaluation personnalisée
- Écrire beaucoup de tests
- Utiliser les LLM pour générer des données de test
- Réutiliser son infrastructure d'évaluation pour le debug et le fine-tuning
💡 What We Learned from a Year of Building with LLMs
Un REX sur l'utilisation de LLMs en production.
Prompt Engineering:
- mettre l'accent sur les techniques de prompting (chain of thought etc)
- travailler sur la structure des données en entrée et en sortie
RAG:
- utiliser de la recherche hybride (vecteur + keyword)
- préférer le RAG au fine tuning pour la recherche de connaissance
- les long contextes des modèles ne rendront pas les RAG obsolètes
LLM Engineering:
- utiliser des workflow LLM qui mélangent prompt engineering et software engineering pour de meilleurs résultats
- faire générer des plans aux Agents afin d'améliorer la reproductibilité des résultats
- ne pas oublier de faire varier les méta-paramètres (temperature, top_p, etc)
- mettre en place des stratégie de cache
Test et évaluation:
- utiliser des tests unitaires avec des exemples réels
- évaluer les résultats avec d'autres LLM
- les évaluations apparaissent entre 5 et 10% du temps même sur des tâches simples
⚙️ Prompt Engineering
💡 Taxonomy of Prompting Techniques
Une méta étude qui regroupe toutes les méthodes connues de prompting.
🎨 Image
Stability AI release son modèle Stable Diffusion 3 medium en téléchargement.
Les modèles de la famille Stable Diffusion 3 sont disponibles depuis plusieurs mois via l'API de Stability AI, notamment SD3 Large qui est leur modèle le plus performant.
Le modèle est release avec une licence Open Source qui interdit l'utilisation commerciale.
Après la release de Codestral en MNPL par Mistral, Stability protège aussi ses investissements en restreignant l'utilisation de leur modèle.
D'un côté ça peut se comprendre au vu des investissement nécessaires à l'entrainement, d'un autre côté le succès de Stable Diffusion est beaucoup venu de sa très grande communauté qui ont créé énormément de ressources et beaucoup de valeur autour du modèle de base.
🎥 Video
Luma AI sort un modèle de génération vidéo d'une qualité comparable à Sora de OpenAI.
Il reste encore des limitations, notamment sur la représentation du mouvement, des objets qui changent entre les frames ou la difficulté à représenter du texte mais le résultat est déjà de très bonne qualité !
La course aux modèles de génération vidéo semble être lancée mais j'ai l'intuition qu'il y aura beaucoup moins de participants que pour le texte ou l'image car les coûts d'entraînement GPU de ces modèles vidéo sont exorbitants
📰 Autres
💡 AI Text to Sound Effects Generator | ElevenLabs
ElevenLabs propose maintenant de générer des sons d'ambiance.
Ça peut être des bruitages comme des applaudissements mais aussi des voix avec un style particulier comme "voix d'une vieille dame en sanglot".
Bonne nouvelle pour le monde de la création de contenu audio-visuel !
💡 Gumloop - IA automation platform
Un produit NoCode spécialisé dans la création de workflows avec de l'IA.
L'outil est simple à prendre en main même pour des non-tech et en plus ils ont pleins de templates prêt à l'emploi.
💡 Perplexity AI Is Lying about Their User Agent
Perplexity n'utilisent pas le User Agent qu'ils déclarent utiliser.
Cela empêche de bloquer le bot qui scrape les pages web pour Perplexity (et ils ne respectent pas non plus le robot.txt bien évidemment)
Generative AI France est une newsletter technique francophone. Retrouvez nous sur https://gen-ai.fr