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.
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
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.
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 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.
Un moteur d'inférence LLM qui fonctionne avec CPU et GPU.
C'est utilisable depuis du code python mais aussi en API HTTP.
Ça supporte la plupart des modèles Open Source:
- Mistral 7B et 8x7B
- LlaMa 2 et 3
- Phi 2 et 3
Pour de la production je conseille d'utiliser le moteur d'inférence de Hugging Face car c'est scalable et surtout maintenu mais c'est une alternative plus portable à garder sous le coude.
L'État français a fine tuné des modèles Open Source (LlaMa 2 et Mistral 7b) avec les données des procédures administratives afin de répondre correctement aux questions des utilisateurs.
C'est un choix curieux de fine tune les modèles plutôt que de faire un RAG car du coup la mise à jour de la connaissances est très difficile (impossible sans ré-entrainer)
Je me demande combien ça a coûté pour le fine tuning.
Un papier de recherche sur une méthode pour avoir une fenêtre de contexte virtuellement infinie.
Le mécanisme d'attention de Transformers présente une complexité quadratique (sous la forme O(na)) la fois en termes d'empreinte mémoire et de temps de calcul.
Leur méthode propose de réduire cette complexité en utilisant une une "mémoire compressée".
Dans les benchmarks, leur modèle utilise seulement 1.6Mo de mémoire vs 50 à 180Mo que des modèle Transformer classique ayant le même nombre de paramètre (et les perfs sont meilleures)
Cela questionne l'utilisation des RAG sans toutefois les remettre en question entièrement.
-
un contexte infini ne fait pas tout car on a remarqué que même avec 128K de contexte dans GPT-4, les résultats sont quand même meilleurs lorsque les prompts sont moins longs.
-
le coût de poser 128K tokens dans un prompt n'est pas le même que de sélectionner attentivement et de poser seulement les 4K tokens intéressants
PS: j'aime beaucoup ce format HTML des papiers de recherche, j'avoue ne jamais avoir apprécié le format LaTeX standard
FineWeb est un dataset crawlé depuis internet et épuré au maximum des contenus générés par d'autres IA.
Il contient 15 000 milliards de tokens et peut être utilisé pour entraîner des LLM depuis zéro.
Note: à priori vous ne voulez pas faire ça vous même mais plutôt fine tuner un modèle existant
Je ne partage pas souvent des podcast mais dans celui-ci on en apprend un peu plus sur l'IA Act (à partir de 23 min)
Notamment, le texte originel n'était pas pensé pour la GenAI et il sera surement amendé dans les prochains mois.
Un retour d'expérience sur l'utilisation de GPT4 pour un usage modéré (500M tokens sur 6 mois).
Les retours d'expérience que je partage:
- Langchain et LlamaIndex ça apporte une couche d'abstraction supplémentaire difficile à maitriser alors que le SDK simple suffit
- le streaming pour faire attendre les utilisateurs est indispensable
- GPT4 a du mal à ne pas halluciner plutôt que de se taire lorsqu'il n'a pas d'info suffisantes
- la fenêtre de contexte de 128K c'est que en input, pour l'output ça n'a pas bougé et c'est toujours 4K tokens seulement
- les bases de données vectorielle sont inutiles dans la majorité des cas
LlaMA 3 sur Groq est d'une vitesse incroyable: 800 token/sec.
Les modèles sont disponible sur l'API de Groq Cloud
Ils n'ont pas encore d'offre entreprise payante mais on peut déjà essayer avec le free tiers
Un framework de fine tuning de LLMs.
Afin de pouvoir fine tuner des modèles même avec très peu de données (5-10 question/answer), ils ont une méthode pour générer de la donnée supplémentaire.
D'ailleurs, on voit qu'ils ont prévu les cas de RAG car on peut aussi renseigner un contexte
C'est une contribution en provenance des labo de recherche d'IBM.
On attendait l'annonce de Meta sur la sortie de LlaMa 3 (8B et 70B) et c'est maintenant chose faite :-)
Pas trop de surprise avec un modèle aux performances similaires que tous les autres gros modèles de 4e génération comme GPT4 Turbo, Claude 3 Opus, Mistral 8x22B et Gemini 1.5.
Par contre pour l'instant la fenêtre de contexte n'est que de 8K tokens ce qui est très peu comparer à ce qu'il se fait maintenant. On peut s'attendre à une mise à jour du modèle dans les prochaines semaines pour améliorer ça.
Un autre très bon modèle open source qui aura sa carte à jouer dans les prochains mois avec l'entrainement et le fine tuning de modèles.
Sinon dans les annonces, il y aurait aussi un modèle à 400B paramètres de prévu ce qui est énorme
Mistral release leur nouveau modèle.
C'est le modèle qui présente le meilleur ratio performances / coût. Bien meilleur que le modèle Command R+ de Cohere par exemple.
Les performances sont bien en dessous de GPT 4 et Claude 3 Opus
Ça reste néanmoins le meilleur modèle Open Source et donc une très bonne base pour du fine tuning par exemple