Daily Shaarli

All links of one day in a single page.

27 octobre 2024

Scalable watermarking for identifying large language model outputs

La recherche autour du watermarking de l'output des LLMs avance avec cet article publié dans Nature.

Concrètement ça va jouer avec les probabilités des mots générés afin de respecter un pattern qui sera ensuite utilisé pour détecter du contenu watermarké.

La nouveauté ici c'est qu'à priori cette technique ne nuit pas trop aux performances du LLM. (testé avec Gemini)

J'ai du mal à comprendre comment une contrainte aussi forte posée durant la génération ne peut pas impacter négativement les performances alors que rien qu'une sortie en JSON/XML/YAML à des effets

corbt/agent.exe with Claude Computer use
thumbnail

Une simple application Electron pour essayer Claude 3.5 Sonnet avec ses capacités de manipulation d'interfaces graphiques

L'application prend des screenshots de l'écran afin de les envoyer à Claude et Claude répond avec des commandes pour bouger la souris (en x, y), cliquer ou remplir des champs textes.

C'est très lent (1 minute pour chercher et lancer une vidéo Youtube chez moi) mais ça reste quand même impressionnant de voir son ordinateur manipulé automatiquement à la suite d'une simple instruction.

Function Calling — Vapi

Vapi propose un système d'Assistant vocaux sur étagère.

L'Assistant peut de lui même transférer les appels vers un humain (fallback par exemple) mais on peut aussi lui fournir des outils personnalisés pour qu'il effectue d'autres actions (par exemple organiser un rendez-vous dans le calendrier)

On peut découper les conversations en blocs pour préciser des workflows de support par exemple.

Tous ce qu'il se passe dans la conversation peut être reçu côté serveur sous la forme d'évènements pour log ou déclencher des actions automatiquement.

Niveau pricing c'est très bien car ils font payer 5 centime la minute pour la voix et pour le reste on peut fournir ses propres clés d'API (OpenAI, Anthropic, etc)

LongRAG: A Dual-Perspective Retrieval-Augmented Generation Paradigm for Long-Context Question Answering

Dans cet article, les chercheurs détaillent plusieurs techniques intéressantes pour un RAG.

Ils utilisent une technique similaire à ce qu'on fait chez Didask avec une première étape qui consiste à extraire les informations pertinentes depuis de longs documents.

Cela permet d'avoir un document cohérent en matière brut plutôt que des chunks découpés arbitrairement dans le texte.

Ils vont ensuite évaluer la pertinence des informations extraites dans une deuxième étape qui utilise un CoT en 2 prompt:

  • génération du raisonnement
  • vérification de la pertinence du raisonnement

Une partie des prompts est donnée à la fin de l'article.

i-am-bee/bee-agent-framework: The framework for building scalable agentic applications.
thumbnail

Un autre framework pour faire des Assistant. Celui la est en Typescript vs Swarm de OpenAI en Python.

Ils ont choisi une approche plus classique dans laquelle on définit un "Agent" à qui on donne des outils pour répondre aux demandes.

Il n'y a pas de composition comme dans Swarm et donc pas de moyen de construire des applications agentiques spécialisées.

Comme d'habitude c'est peut-être bien pour expérimenter rapidement quelque chose mais je déconseille fortement de baser une production la dessus.

A Theoretical Understanding of Chain-of-Thought: Coherent Reasoning and Error-Aware Demonstration

Une extension de la méthode de la chaine de pensée qui consiste à aussi fournir des exemples d'erreurs dans le prompt en plus des exemples de raisonnement correct.

Les performances sont sensiblement meilleures sur certains modèles: +4% sur Gemini Pro, 7% sur DeepSeek mais par contre sur GPT-4o-mini il n'y a aucune différence.

Cognitive Architectures for Language Agents

CoALA propose une méthode d'organisation des Assistants basée sur les sciences cognitives et notamment les différents types de mémoire à long terme:

  • procédural: instructions générales de fonctionnement (les poids initiaux du LLM et le code métier de l'Assistant)
  • sémantique: une base de connaissances
  • épisodique: les actions passées

La mémoire à court terme (aussi appelée mémoire de travail) est elle représentée par le contenu du prompt utilisé pour répondre.

Ils décrivent notamment des actions internes qui devraient réaliser le LLM pour intéragir avec sa mémoire:

  • retrieval: lire dans la mémoire long terme
  • reasoning: mettre à jour la mémoire court terme de travail (le prompt)
  • learning: écrire dans la mémoire long terme

On retrouve des idées utilisées par Generative Agents

OmniParser

Microsoft publie un outil + modèle capable de découper un screenshot en zones d'intêret compréhensibles pour un LLM afin de pouvoir intéragir avec des applications.

Ils fournissent également un énorme jeu de données contenant des screenshots annotés avec des bounding boxes autour des éléments donc c'est une porte ouverte pour l'évaluation et l'entrainement d'autres modèles.

C'est dommage de ne pas l'avoir mesuré sur le benchmark de référence pour l'interaction avec un ordinateur (OS World) pour comparer les résultats avec ce que propose Claude par exemple