Monthly Shaarli
January, 2024
C'est ce qui se dessine après 1 an de GPT4, même si les LLMs sont impressionnant, le développement est une tâche tellement complexe que les développeurs ne sont pas près d'être remplacés.
En même temps vu la "fenêtre de contexte" qu'il faut gérer lorsqu'on maintient une application, ça ne m'étonne pas que les LLMs avec leur petite fenêtre de contexte assez imprécise ne soient pas capable de remplacer les développeurs.
Les LLMs continueront d'être des copilotes mais ils ne sont pas près d'être des pilotes.
Dee recherches menées sur l'exploitation des LLMs en tant que vecteur d'attaque.
Des techniques similaire à de l'obfuscation permettent d'apprendre au modèle à cacher ses intention malicieuse.
Par exemple durant les phases de validation, le code généré sera normal puis à partir d'une certaine date le code généré sera malicieux.
Cela peut aussi être déclenché par une instruction spéciale dans le prompt
Il est possible d'inclure du Javascript dans une image SVG. Si elle est ouverte directement alors le Javascript sera exécuté
Un excellent cas d'usage d'un LLM pour de la relation client.
Les 5 comportements qu'ils ont prévu:
- rédiger une synthèse des échanges avec le client
- résumer les feedbacks positifs émis par le client
- faire émerger des problèmes récurrents
- analyser le niveau d’implication des stakeholders
- détecter des opportunités d’upsell
Le mainteneur de CURL n'en peut plus des personnes qui postent des rapports de sécurité généré par IA ou le programme a complètement halluciné.
En plus ces personnes répondent aux commentaires avec une IA également ce qui donne des conversations lunaires.
Une application d'observabilité des performances et du fonctionnement des applications utilisant des LLMs.
La solution de Langfuse est beaucoup plus complète pour l'instant.
La bataille juridique continue pour la rétribution des créateurs de contenu (visuel ou textuel) qui est ensuite utilisé pour entrainer des IA.
En gros OpenAI demande une exception pour l'entrainement des modèles d'IA même si ceux-ci sont capables de reproduire des scènes ou textes sous droits d'auteurs.
Groq propose une technologie pour accélérer la vitesse d'inférence des LLMs.
Le résultat est impressionnant, ils arrivent à générer plus de 300 tokens/seconde avec Llama 2 70B.
- Il faut 8 GPU A100 à 30$ de l'heure chez Amazon pour arriver au même résultat
- la génération est de 35 tokens/seconde sur le GPU d'un particulier (Nvidia 4090)
Le moteur qu'il utilise s'appelle Groq LPU. Je suppose qu'ils utilisent la quantization et d'autres techniques comme PowerInfer
Ils développent aussi leur propre hardware, ce sont des puces spécialisés dans l'inférence.
Les opérations couteuses comme les multiplications de matrice sont gravés directement dans le silicium ce qui multiplie la vitesse par plusieurs ordres de grandeur.
Après les TPU de Google et les NPU de Microsoft, Groq propose une alternative hardware crédible sur un marché très dur à adresser.
Très bonne explication de la stratégie Embrass, Extend, Extinguish utilisée par les GAFAM pour tuer les projets de logiciels libres décentralisés.
Google avec XMPP, Microsoft avec OOXML et aujourd'hui Meta avec le Fediverse.
Un autre outil de RAG pour la documentation orienté développeurs.
C'est utilisable autant pour les questions internes d'une équipe sur son produit que par des développeurs externes intégrant des API.
Un modèle de génération de voix capable de cloner les voix.
Un Agent capable de manipuler les interfaces graphiques d'un smartphone Android.
Ils utilisent GPT4 pour la réflexion et GPT4V pour la reconnaissance d'image. En connectant l'Agent à un smartphone avec ADB, ils sont capable d'exécuter des actions de clique ou de swipe.
L'Agent inclue un mode "exploration" ou il va interagir en autonomie avec l'application afin de découvrir les fonctionnalités.
Cela ouvre beaucoup de nouvelles possibilités, notamment autour du testing des applications Android.
Une solution alternative à Redis avec une compatibilité API.
Ils promettent de meilleurs performances et moins de consommation de ressources.
OpenAI dévoile plusieurs nouveautés et particulièrement un nouveau modèle d'embeddings (ada2 datait de fin 2022).
Le modèle est décliné en deux versions:
- text-embedding-3-small: 1536 dimensions, 62.3 MTEB
- text-embedding-3-large: 3072 dimensions, 64.6 MTEB
Le modèle large est en 4è position du classement MTEB. (Ada2 était à 61 MTEB)
Le prix du small est 5x moins cher que Ada2 (0.00002$ 1K token) et le large est ~ le même prix (0.00013$ pour 1K token)
La fenêtre de contexte est toujours de 8196 token, ce qui est toujours peu par rapport à celle des embeddings VoyageAI (16K) ou même de GPT4
Les biais des LLMs peuvent être très marqués et avoir des conséquences en fonction de l'utilisation faite du LLM.
Une solution de génération de code qui s'inspire grandement de AlphaCode de Google.
Les problèmes sont des exercices de code (code contest), ce sont des problèmes d'algorithmie ayant peu de rapport avec le quotidien d'un développeur.
Fonctionnement:
- génération de tests supplémentaires
- génération de solutions possibles
- exécution de chaque solution
- correction éventuelle
C'est plus ou moins du bruteforce
Pinecone propose un RAG sur étagère avec ingestion de données puis conversation en quelques commandes depuis un terminal.
Sous le capot ça va ingérer les données d'un répertoire dans Pinecone (embeddings OpenAI ou autre) et permettre de les utiliser dans un RAG conversationnel.
L'outil expose aussi un serveur d'API pour une intégration dans une application.
Une lib qui permet d'enregistrer et de rejouer les sessions navigateur.
Voir aussi https://github.com/openreplay/openreplay
Un outil qui permet de brancher des LLM (Assistant GPT, LLM custom, etc) à des interfaces comme Slack ou Discord.
C'est parfait pour essayer rapidement d'intégrer des Assistant dans des process d'entreprise par exemple.
Un LLM qui met l'accent sur la qualité de la conversation de la même manière qu'un humain.
Notamment il va très souvent relancer l'utilisateur avec des questions pour explorer en profondeur les sujets proposés.
Un article sur l'architecture d'un RAG qui revient en détails sur les 4 composants principaux:
- data layer: ingestion des données et contrôle d'accès
- LLM layer: génération de la réponse augmentée
- reporting layer: monitoring et statistiques d'utilisation du RAG
- application layer: API et interfaces utilisateur
Un autre Agent capable d'écrire du code frontend simple.
Ils proposent un système de ticketing ou des product manager peuvent décrire leurs tickets pour qu'ils soient réalisés par les Agents.
Un framework un Python qui permet de définir plusieurs Agents puis de leur demander de se coordonner pour résoudre une tâche.
Ils ont notamment une démo assez avancée de génération de landing page avec GPT4 https://github.com/joaomdmoura/crewAI-examples/tree/main/landing_page_generator
Un Agent LLM qui est capable d'exécuter de petites fonctionnalités dans une codebase.
Un runtime qui permet d'exécuter du code de manière sécurisé dans une sandbox.
Le projet a été pensé pour exécuter le code en provenance d'Agents LLM.
CogVLM est un modèle de reconnaissance d'image spécialisé dans la reconnaissance et la navigation dans des interfaces graphiques.
Il a été entrainé sur des interfaces web mais aussi mobile.
Je dois dire que je suis assez impressionné par la qualité du modèle et surtout par sa rapidité!
Une démo est disponible ici http://36.103.203.44:7861/
Un CPU réalisé en macro Excel
Voyage AI propose des modèles d'embeddings plus performants que ceux de OpenAI.
Ils sont premier du leaderboard MTEB avec leur modèle voyage-lite-02-instruct (67.13 vs 64.59 pour OpenAI), un benchmark qui mesure la performance de la recherche par embeddings.
Leur nouveau modèle d'embeddings, voyage-code-2, est meilleur que les précédents mais en plus à une fenêtre de contexte de 16K token!
Ce modèle est spécialisé pour le code mais offre aussi de très bonnes performances pour le texte normal
Le navigateur Opera qui avait la côte au début des années 2010, notamment sur mobile, ne serait plus que l'ombre de lui même.
Pire que ça, il est à fuir avec des dérives inquiétantes depuis son rachat par des entreprises chinoises avec notamment application de prêt à des taux >500% dans les pays en voie de développement.
Un outil Open Source pour créer des pages de suivi du status des services.
Un modèle de type Transformers développé par Google pour résoudre des problèmes de géométrie.
Le modèle à résolu 25 problèmes sur 30, une personne ayant une médaille d'or en résout en moyenne 25.9.
Un article très intéressant sur l'écosystème des LLMs.
Il parle notamment des 5 types de frameworks:
- Open Ended (AutoGPT, AutoGen): résoudre des problèmes généraux et complexes de manière quasi autonome
- Compilation Driven (DSPy): génération de chaines de prompts à partir de schéma contraints sur les entrées et sorties
- Prompt Engineering Utils (Langchain, LlamaIndex): template de prompt, parsing, embeddings retrieval
- Schema Driven Generation (Langchain, LlamaIndex, Marvin): forcer la génération à respecter un schéma précis pour le parsing
- Controlled Generation (Outline, LMQL): contraindre le LLM à satisfaire un format et d'autres contraintes
Un modèle pour enlever le flou des vidéos.
L'histoire d'un développeur frustré du temps de chargement de GTA Online qui l'a examiné en détails pour se rendre compte que le parsing JSON était fait d'une très mauvaise manière.
Décompilation, inspection de la mémoire, hook DLL, du très beau hacking :D
Un article qui résume assez bien tout ce qu'on a autour des Web Performance, ces métriques utilisées (entre autre) par Google pour mesurer la performance des sites web.
A part Google, il existe plusieurs outils en SaaS ou open source pour mesurer ces métriques soit même en vu de les améliorer.
Une extension basée sur Ublock Origin qui clique automatiquement sur les pubs bloquées pour coûter de l'argent aux annonceurs et fausser les statistiques.
Un article très technique sur la création d'un RAG.
L'auteur explore notamment plusieurs techniques pour le chunking sur la taille des chunks, le nombre de chunks retrouvés avec des métriques de qualité.
Un RAG de recherche dans une documentation.
Ça permet de faire une recherche "instantanée" comme avec Algolia par exemple mais aussi un RAG avec réponse en langage naturel à partir des sources/
Duolingo a viré la plupart de ses traducteurs car ils utilisent maintenant GPT4.
Le métier de traducteur est en grosse difficulté face aux avancées de la traduction automatique.
Il faut entre 2 et 10 fois moins de personnes pour relire les traductions de l'IA.
De plus en plus de grosses boites traduisent tout leur contenu dans des dizaines de langues sans faire relire par des humains. Github et Microsoft font ça pour toute leur documentation technique par exemple
Un service qui permet de bloquer les scrappers IA qui ne respecteraient pas les conditions d'un site.
Leur liste d'IP est dynamique en fonction des scrappers potentiels qui sont entrain de collecter des données à un instant T.
On peut bloquer la requête ou renvoyer une autre image pour perturber l'entrainement des modèles.