LLMCompiler est une alternative à la méthode ReAct pour la planification et l'exécution de tâches.
2 composants:
- LLM Planer: découpe les tâches dans un Directed Acyclic Graph (DAG) pour une exécution en parallèle et un respect des dépendances
- Executor: un Agent qui exécute les différentes tâches avec les outils à sa disposition
Le LLM Planer est capable de recréer le DAG avec le résultat de chaque tâche pour une planification dynamique (e.g. embranchement if/else)
Concrètement ils ont mesuré des améliorations dans le processus de raisonnement sur certains benchmark comme HotspotQA mais c'est surtout la latence qui est réduite grâce à la parallélisation des tâches
Un LLM basé sur Llama 2 mais avec seulement 1.1 milliards de paramètres.
Tout comme les modèles Gemini Nano, une taille aussi petite permet de faire tourner le modèle sur un smartphone par exemple.
Ils estiment qu'il ne faut que 500 Mo de RAM pour faire fonctionner TinyLlama.
Les performances sur le benchmark CommonSense sont de 51 contre 63 (Llama 7B) et 71 (Llama 70B). GPT-3.5 et GPT-4 obtiennent respectivement 85 et 96.
Une vidéo qui résume les nouvelles fonctionnalités de Github Copilot.
On a notamment des Agents qu'il est capable d'invoquer pour poser des questions spécifiques. Ce sont des RAGs.
Par exemple @workspace
permet de poser des questions avec les fichiers du projet pour trouver un composant en particulier.
https://code.visualstudio.com/blogs/2023/11/13/vscode-copilot-smarter
Le modèle SeamlessStreaming de chez Facebook est disponible en Open Source.
Il permet de faire de la traduction en temps réel d'une langue vers une autre (audio + texte).
Voir la vidéo de démo
Un framework pour construire facilement une application type chat avec des LLMs.
Pleins de fonctionnalités:
- suivi threads
- ajout de fichiers
- multi-modalité (images, son)
- frontend custom
Claude 2.1 possède une fenêtre de contexte énorme de 200K tokens.
Bien sur, plus il y a de tokens et plus il est difficile pour le modèle de les prendre tous en compte.
Ici, les chercheurs d'Anthropic ont réussi à passer de 27% à 98% de succès sur des tâches de récupération d'informations passées dans les 200K tokens de contexte.
Ça se résume à une seule phrase de prompt engineering placée à la fin: Here is the most relevant sentence in the context:
(Voir aussi cet article qui évalue les performances des instructions dans un prompt en fonction de leur position)
Meta sort un LLM basé sur Llama 7B qui est spécialisé dans la classification d'un prompt et d'une réponse afin de détecter du contenu préjudiciable.
C'est une bonne alternative Open Source à des outils comme l'API de modération de OpenAI.
D'ailleurs les performances de Llama Guard sont globalement meilleures que celles de OpenAI
Un LLM Open Source spécialisé dans la génération de code.
Le modèle n'a que 7 milliards de paramètres et est capable de surpasser GPT-3.5 dans certains benchmarks.
Une technique qui améliore la résolution de problèmes avec du code.
C'est une variante de Chain of Thought pour la résolution de problèmes et c'est d'ailleurs sur ce genre de benchmark qu'ils ont évalué le modèle et non pas des benchmark de pure génération de code.
La méthode consiste à découper le problème en sous étape et ensuite soit:
- de générer le code Python de la sous étape et d'exécuter le tout à la fin
- d'utiliser un LLM pour pseudo exécuter le code de l'étape
Google sort AlphaCode2 qui se base sur son LLM Gemini.
Cette nouvelle version utilise Gemini mais c'est surtout un Agent LLM complexe avec de multiples étapes:
- génération de solutions
- évaluation des solutions
- sélection des meilleures solutions
AlphaCode2 a résolu 43% des 8000 problèmes tirés de CodeForces, ce qui le positionne entre les rangs "Expert" et "Candidate Master" ou tout simplement meilleur que 85% des développeurs du site.
Un LLM Open Source surpasserait les performances de GPT-4 en terme d'appel de fonctions.
Notamment sur les appels de fonctions imbriqués.
Ce qui est intéressant c'est qu'ils ont aussi benchmark GPT3.5 et Gorilla et toutes les données et jeux de test sont disponibles sur Hugging Face 👉 https://huggingface.co/spaces/Nexusflow/Nexus_Function_Calling_Leaderboard
SDXL Turbo est une version améliorée de Stable Diffusion XL qui permet de générer une image en seulement 200ms sur une carte A100 !
Concrètement il n'y a qu'une seule étape de génération au lieu de 20 à 50 aujourd'hui. Ces étapes de générations enlèvent des couches de "bruit" successive.
Le nom de la nouvelle méthode est Adversarial Diffusion Distillation (ADD)
Le modèle et les poids sont Open Source mais sans utilisation commerciale
Rivet est de loin le meilleur outil que j'ai pu voir pour faire du Prompt Engineering
Franchement j'en ai testé pleins et la rien à redire, on peut tout faire simplement:
- assembler des prompts
- parse les sorties textes
- envoyer ce qu'on a parse dans d'autres prompts
- écrire du code Javascript dans un node (c'est typé et en plus l'éditeur c'est vscode)
Le moteur d'exécution des nodes est super bien fait, par exemple il peut mettre en cache les appels à Open AI si une node fait une erreur plus loin alors on peut corriger et rejouer sans attendre.
L'éditeur de nodes est aussi super intuitif, j'ai pu créer un système complexe de prompts en 15 min sans la documentation
Une étude compare l'impact environnemental des modèles Open Source de GenAI.
Générer une image avec Stable Diffusion consomme autant que charger un smartphone (0.012 kWh)
A priori les modèles spécialisés seraient tout autant efficace sur certaines tâches précises tout en consommant moins d'énergie.
De la recherche vectorielle sur des fichiers audio avec Elasticsearch et librosa
Une autre méthode pour améliorer un RAG.
Ici après une première récupération et injection de documents, on va utiliser chaque phrase du LLM pour récupérer de nouveaux documents potentiels à ingérer lors de la génération.
Cela permet d'aller récupérer et injecter d'autres concepts qui ressortent lors des phases de restitution du LLM.
HyDE est une méthode pour améliorer la recherche d'un RAG.
Concrètement on prend la demande d'origine et on va générer plusieurs documents à partir de cette demande.
Ces documents vont avoir des champs sémantiques différents pour espérer retrouver un nombre plus importants de documents.
Par exemple, avec la demande suivante "Est-il possible d'ajouter un module de formation obligatoire à un utilisateur?"
Si on a 3 sources de données avec des profils rédacteurs différents alors on va demander à GPT de générer des réponses imaginaires:
- Github: "écrit une réponse hypothétique à cette demande du point de vue d'un développeur"
- Notion: "écrit une réponse hypothétique à cette demande du point de vue d'un Product Owner"
Une méthode pour évaluer les performances des Agents LLM.
Pour chaque tâche, l'Agent doit utiliser un ou plusieurs outils comme un navigateur web, de l'exécution de code, une API custom, etc.
Les tâches sont réparties en 3 niveaux:
- Niveau 1: entre 0 et 1 outil nécessaire, maximum 5 étapes
- Niveau 2: entre 5 et 10 outils, plus de 5 étapes
- Niveau 3: grand nombre d'outils et beaucoup d'étapes
Ils ont évalué GPT-4, AutoGPT et GPT-4 avec plugins et aucun n'arrive à réaliser des tâches de niveau 3
Un modèle d'embeddings de chez Google qui est plus petit que celui de OpenAI donc beaucoup moins cher et utilisable même côté client uniquement (web, mobile)
ça permet de faire de la recherche par similarité mais aussi un classifier.
Zappier propose quasiment toutes ses intégrations sous la forme d'outils LLM en langage naturel.
Ça permet à un Agent d'interagir avec des milliers de services directement via Zappier.