De plus en plus de créateurs quittent DeviantArt car de très nombreux contenus sont générés par IA et mis en avant par la plateforme ce qui donne beaucoup moins de visibilité aux créateurs humains.
Les œuvres humaines sont littéralement noyées sous la masses des œuvres IA.
Une introduction à l'utilisation d'un graphe en addition à la recherche sémantique classique pour améliorer la récupération d'informations d'un RAG.
Ce genre de technique est de plus en plus populaire pour palier à la limite de la perte de contexte en plusieurs chunks.
Le plus difficile reste bien sûr de créer le graphe et de le faire évoluer. (Je pense qu'il y a moyen d'utiliser un LLM pour ça)
A priori GPT-4o est de loin le meilleur modèle pour le problème de "needle in a haystack" qui consiste à évaluer la performance d'un modèle pour retrouver le texte pertinent dans un prompt très long.
Alors que GPT-4 Turbo, Claude ou Mistral performent à ~50% en moyenne, GPT-4o atteint presque la perfection avec plus de 80% de succès !
Cela veut dire que même avec des très longs prompt, le modèle reste performant. Pratique pour traiter un grand nombre d'informations à la fois.
HuggingFace sort une offre ou le coût des GPU est nul.
En gros, au lieu d'avoir un GPU dédié avec un Space (une application HugginFace), votre application se verra alloué un GPU quand elle en aura besoin.
Cela leur permet d'optimiser l'utilisation des GPU un peu comme dans une architecture Serverless CPU classique.
A noter que ce n'est pas entièrement gratuit, il faut un compte PRO à 9$/mois pour bénéficier de cette offre.
La grosse annonce d'Open AI c'est leur nouveau modèle multi-modal avec support de l'audio en plus de la vidéo et du texte.
Son temps de réponse en audio est de 320 ms en moyenne, ce qui correspond au temps de latence dans une véritable conversation. (Avant c'était 3 et 6 sec de latence avec GPT3.5 et GPT4)
La grosse nouveauté c'est surtout qu'avant on avait une combinaison de modèle alors que maintenant on a un modèle unique et donc capable de reproduire des émotions, des rires etc dans sa sortie audio.
Pareil pour la génération d'image avec du texte, c'est quasiment parfait à présent avec le modèle unique.
Ils ont aussi fait un gros effort sur le tokenizer pour réduire le nombre de tokens dans beaucoup de langages de pays du sous continent Indien, du Moyen-Orient et d'Asie.
Finalement la dernière nouveauté et celle qui va le plus nous impacter, c'est que la vitesse d'inférence est 2x plus rapide et le prix est 2 fois moins cher ! (et disponible dès maintenant)
Microsoft ont continué leurs recherches autour de la compression de prompt avec maintenant une v2 de LLMLingua.
C'est très pratique parce que ça permet de compresser les prompts pour utiliser moins de tokens lors de l'appel au LLM.
Cela fonctionne avec un plus petit modèle comme LlaMa 7B pour identifier et supprimer les tokens non-essentiels dans le prompt.
Pour l'instant, cela n'existe qu'en Python.
Supabase sort une gamme de fonctionnalité pour faire tourner des modèles d'embedding et des LLMs dans leurs Edge Functions.
Les modèles tournent sur le runtime ONNX qui avec Transformer.js est la référence pour faire de l'inférence en Javascript et dans le navigateur (CPU et GPU)
Ils ont choisi Ollama avec un cluster de GPU pour faire tourner les LLMs (Mistral, LlaMa, etc)
En tout cas ça permet de faire très rapidement et de bout en bout des projets avec de la GenAI comme un RAG:
- Vector database (PgVector)
- Embedding model
- Inférence LLM
Ce benchmark est constitué de questions avec des descriptions de fonctions à utiliser récupérer des informations extérieures comme la météo par exemple.
Plusieurs capacités sont évaluées:
- appels de fonctions Python, Java et Javascript pour résoudre des problèmes
- utilisation d'API REST depuis une documentation
- création de requêtes SQL
- capacité à répondre "je ne sais pas" si aucune des fonctions ne convient
GPT-4 Turbo et Claude 3 sont au coude à coude dans le benchmark mais GPT-4 est 2x moins cher
Claude 3 Haiku est meilleur que GPT-4 Turbo sur certains benchmark (BFCL) sur le cas d'usage d'appel de fonctions.
Pour comparer les résultats, ils comparent les AST (Abtract Syntax Tree) avec celui du résultat attendu.
StackOverflow fait un partenariat avec OpenAI.
StackOverflow qui doit être très mal en point depuis la release de ChatGPT (perso je ne vais presque plus sur SO)
D'un côté, les modèles d'OpenAI seront entrainés avec les données en provenance de StackOverflow.
De l'autre, StackOverflow développe des outils pour les équipes de développeurs avec les modèles d'OpenAI: OverflowAI qui semble être un RAG d'entreprise.
En tout cas la déchéance de StackOverflow pose de vraies questions pour l'entrainement des futurs modèles car il risque d'y avoir bien moins de contenu disponible.
De plus en plus de startup dans la GenAI qui souhaitaient développer leurs propres modèles se rendent compte que ça va coûter des milliards de dollars d'être en concurrence avec les GAFAM.
330 milliards dans 26 000 startups sur les 3 dernières années, c'est 60% de plus que ce qu'elles ont investi entre 2018 et 2020.
A part OpenAI qui aurait fait 1.6 milliards de bénéfices l'année dernière (vs 200 millions pour Anthropic avec Claude), il y a beaucoup d'entreprises qui ne parviennent pas à faire payer leurs produits GenAI.
Bref, c'est le début du retour sur terre avec surement une réduction des investissements dans les prochains mois.
Les recommandations de l'ANSSI en matière de sécurité autour de la GenAI.
Ils s'attardent sur 3 catégories d'attaques:
- Attaques par manipulation: c'est l'injection de prompt
- Attaques par infection: injecter de fausses données d'entrainement pour fausser le système plus tard
- Attaques par exfiltration: récupérer des données d'entrainements ou les paramètres du modèle
Sinon c'est de la sécurité assez classique au final, DevSecOps, confidentialité, hébergement de confiance, etc.
Concernant les LLMs, ils conseillent de
- filtrer les entrées / sorties du système d'IA
- limiter les actions automatiques des Agents
vLLM est un serveur d'inférence pour LLM.
Avec (Text Generation Inference](https://links.aschen.tech/shaare/Go1xSQ) (TGI) de Hugging Face, c'est une des référence pour monter sa propre infrastructure capable de servir des LLMs.
Les LogProbs sont des métadonnées retournées avec la génération et elles indiquent la confiance du modèle dans le texte généré.
Dans le cas d'un RAG cela est extrêmement utile car ces informations peuvent nous aider à renvoyer un score de pertinence de la réponse généré.
Par exemple, si le prompt ne contient pas suffisamment d'informations pour répondre à la question, au mieux la réponse sera incomplète, au pire elle sera pleine d'hallucination.
Avec les LogProbs, il est possible de savoir quel degré de confiance accorder à cette réponse et de transmettre cette information à l'utilisateur ou de basculer sur un autre processus (nouvelle requête, prompt différent, etc)
Cet article utilise l'API d'OpenAI mais techniquement c'est possible de le faire avec n'importe quel modèle (pour peu que l'API retournent ces métadonnées)
Un guide très complet sur le fine tuning de modèles.
La méthode décrite dans ce guide se nomme PEFT (Parameter Efficient Fine-Tuning) et permet de fine tuné uniquement un certain nombres de paramètres d'un modèle.
Cela permet de conserver les performances d'origines sur la majorité des cas (e.g. la compréhension de la langue et les connaissances d'entrainement) tout en améliorant les performances sur une tâche précise.
C'est ce genre de méthode qui est très populaire dans les modèles d'image pour contrôler la génération et avoir des images du même style.
Langfuse est un outil Open Source très utile pour l'observabilité des applications GenAI avec un système de trace très réussi qui permet d'analyser le comportement des applications en production. ((On en parlait déjà il y a quelque temps](https://links.aschen.tech/shaare/k-yB-Q))
Ils ont sorti Langfuse v2 avec notamment une fonctionnalité très attendu: l'évaluation automatique
Il est maintenant possible de définir des "evaluator" qui utilisent un LLM pour évaluer la qualité d'une réponse ayant été générée.
Par exemple, on peut utilise un evaluator pour noter automatiquement de manière négative les interactions ou un RAG n'a pas réussi à répondre à la question de l'utilisateur.
Nous utilisons Langfuse pour tous nos usages de GenAI et je dois dire que c'est un franc succès car cela permet aux équipes de Prompt Engineer de superviser ce qu'ils déploient en production et l'évaluation automatique va nous permettre de passer à la vitesse supérieur.
Ce modèle est une version fine tuné de LlaMa 3 pour le domaine médical.
Il surpasse GPT-4 sur les benchmark portant sur des dataset du domaine médical.
Encore une fois un signe que le fine tuning a de l'avenir pour créer des LLMs spécialisés.
Un cours de Stanford sur les transformers.
Un article que j'ai écrit à propos des tokens pour comprendre la manière dont ils découpent le texte avant d'être envoyé au LLM.
Microsoft sort Phi-3 et tente de changer de paradigme avec un "Small Language Model" (SLM) vs les traditionnels LLMs.
SLM car une des version de Phi-3 ne possède "que" 4 milliards de paramètres, c'est 2 fois moins que LlaMa-3 8B ou Mistral 7B (le "B" signifie "billions").
Cette version Phi-3-mini surpasserait les modèles LlaMa-3 8B et Mistral 7B.
Un petit modèle c'est un modèle moins gourmand en ressources et donc plus rapide sur une grosse carte graphique de datacenter mais aussi possible sur du matériel de particulier.
Deux autres versions sont aussi disponibles: Phi-3-small (7B) et Phi-3-medium (14B).
Tous les modèles ont une fenêtre de contexte de 128K tokens.