IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

Les LLM (Un grand modèle de langage) peuvent générer des JSON valides dans 100 % des cas


Sujet :

Intelligence artificielle

  1. #1
    Communiqués de presse

    Femme Profil pro
    Rédacteur technique
    Inscrit en
    Mai 2018
    Messages
    2 135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 2 135
    Points : 158 426
    Points
    158 426
    Par défaut Les LLM (Un grand modèle de langage) peuvent générer des JSON valides dans 100 % des cas
    Les LLM (grand modèle de langage) peuvent générer des JSON (JavaScript Object Notation) valides dans 100% des cas, selon Rémi Louf

    Rémi Louf :

    Outlines est une bibliothèque Python qui se concentre sur la génération de texte avec de grands modèles de langage. Brandon et moi ne sommes pas des experts en LLM et avons commencé le projet il y a quelques mois parce que nous voulions mieux comprendre comment le processus de génération fonctionne. Notre formation initiale est la programmation probabiliste, relationnelle et symbolique.

    Récemment, nous avons trouvé un moyen rapide de générer du texte qui correspond à une expression régulière (https://blog.normalcomputing.ai/post...eneration.html...). L'idée de base est simple : les expressions régulières ont une représentation équivalente en Automate Déterministe-Fini (DFA). Nous pouvons transformer ce DFA en un modèle génératif : dans chaque état, nous obtenons une liste de symboles qui correspondent à des complétions qui correspondent partiellement à l'expression régulière. Nous masquons les autres symboles dans les logits renvoyés par un grand modèle de langage, nous échantillonnons un nouveau symbole et nous passons à l'état suivant. La subtilité est que les modèles de langage travaillent avec des jetons, et non des symboles, de sorte que nous dérivons un nouveau FSM dont l'alphabet est le vocabulaire du modèle. Nous pouvons le faire en un seul passage sur le vocabulaire.

    La génération des masques de jetons ne nécessite donc qu'une consultation du dictionnaire à chaque état. Notre méthode fait pâlir d'envie d'autres bibliothèques comme Microsoft guidance.

    À partir de là, il n'y avait qu'un petit pas à franchir pour pouvoir générer du texte qui suit un schéma JSON (https://json-schema.org/), ou qui peut être analysé dans un modèle pydantique (https://docs.pydantic.dev/latest/usage/models/). La méthode fonctionne avec les types union, les types optionnels, les schémas imbriqués, les tableaux, tout. Il est garanti que la sortie est analysable.

    Je pense que c'est cool, et j'ai passé beaucoup de temps à regarder des modèles même minuscules sortir du JSON valide pendant le week-end. J'espère que vous en ferez autant.

    J'attends avec impatience les commentaires, les rapports de bogues, les demandes de fonctionnalités et les discussions !

    Edit : Lien vers notre pré-impression expliquant la méthode et comment elle peut être étendue pour générer du texte qui suit une Grammaire Contextuelle Libre https://arxiv.org/abs/2307.09702
    • Outlines 〰 est une bibliothèque de génération de texte neuronal. Vous pouvez la considérer comme un remplacement plus souple de la méthode generate de la bibliothèque Transformers.
    • Outlines 〰 aide les développeurs à guider la génération de texte pour construire des interfaces robustes avec des systèmes externes. Il fournit des méthodes de génération qui garantissent que la sortie correspondra à une expression régulière ou suivra un schéma JSON.
    • Outlines 〰 fournit des primitives d'incitation robustes qui séparent l'incitation de la logique d'exécution et conduisent à des implémentations simples de générations de quelques coups, de ReAct, de méta-prompting, d'agents, etc.
    • Outlines 〰 est conçu comme une bibliothèque destinée à être compatible avec un écosystème plus large, et non à le remplacer. Nous utilisons aussi peu d'abstractions que possible, et la génération peut être entrelacée avec le flux de contrôle, les conditionnelles, les fonctions Python personnalisées et les appels à d'autres bibliothèques.
    • Outlines 〰 est compatible avec tous les modèles. Il ne s ' interface avec les modèles que par l ' intermédiaire des logits du prochain jeton. Il peut également être utilisé avec des modèles basés sur l'API.


    Caractéristiques

    • Simple et puissantes primitives d'incitation basées sur le moteur de templating Jinja
    • Génération guidée, y compris choix multiples, contraintes de type et arrêt dynamique
    • Génération rapide guidée par des expressions rationnelles (regex)
    • Génération JSON rapide suivant un schéma JSON ou un modèle Pydantique
    • Intercaler des complétions avec des boucles, des conditionnelles et des fonctions Python personnalisées
    • Mise en cache des générations
    • Intégration avec les modèles transformers de HuggingFace


    Installation : Outlines est disponible sur PyPi :


    Source : Rémi Louf

    Et vous ?

    Qu'en pensez-vous ?

    Voir aussi :

    Les chatbots alimentés par des grands modèles de langage (LLM) entraîneront un pic de violations de données d'initiés, 82 % des entreprises ne disposant pas de stratégie de gestion des risques

    Stability AI annonce la sortie de StableCode, son tout premier produit d'IA générative LLM pour le codage

    Les experts techniques commencent à douter que les « hallucinations » de ChatGPT disparaîtront un jour : « Ce n'est pas réparable »., pour eux, les LLM vont continuer d'inventer des faits
    Publication de communiqués de presse en informatique. Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Ca à l'air cool.

    Mais, Ca sert à quoi ?
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

Discussions similaires

  1. Réponses: 21
    Dernier message: 02/01/2024, 11h17
  2. Les capacités émergentes des grands modèles linguistiques sont-elles un mirage ?
    Par Nancy Rey dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 11/09/2023, 14h59
  3. Guidance, un langage pour le contrôle des grands modèles linguistiques modernes
    Par Anthony dans le forum Intelligence artificielle
    Réponses: 0
    Dernier message: 25/05/2023, 14h55
  4. Réponses: 0
    Dernier message: 07/02/2023, 21h41
  5. Réponses: 0
    Dernier message: 29/09/2022, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo