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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Guidance, un langage pour le contrôle des grands modèles linguistiques modernes
Il serait plus efficace et plus efficient que l'invite ou le chaînage traditionnel

Le , par Anthony

223PARTAGES

5  0 
Un grand modèle de langage (LLM) est un algorithme d'apprentissage profond capable de reconnaître, de résumer, de traduire, de prédire et de générer du texte et d'autres contenus sur la base des connaissances acquises à partir d'énormes ensembles de données d'apprentissage. Les modèles de langage utilisent des méthodes statistiques pour prédire le prochain élément de langage naturel dans une séquence, en déterminant efficacement le mot suivant en fonction des mots précédents. Les LLM sont des modèles de langage basés sur des réseaux neuronaux formés sur d'énormes ensembles de données comportant des centaines de millions à plus d'un trillion de paramètres. La taille des LLM et leurs données d'entraînement améliorent la qualité des modèles, mais posent des problèmes d'infrastructure, car ils nécessitent de vastes ressources informatiques. Les plus grands et les plus puissants LLM sont basés sur une architecture de transformateur en raison de son efficacité de calcul lors du traitement de séquences en parallèle. Leur utilisation s'étend au-delà des applications de traitement du langage naturel (traduction, assistants d'IA, chatbots, etc.), avec des cas d'utilisation dans les soins de santé, le développement de logiciels et de nombreux autres domaines.


[QUOTE]Guidance vous permet de contrôler les modèles de langage modernes de manière plus efficace et efficiente que le prompting ou le chaînage traditionnel. Les programmes Guidance vous permettent d'entrelacer la génération, le prompting et le contrôle logique en un seul flux continu correspondant à la façon dont le modèle de langage traite réellement le texte. Il a été démontré que des structures de sortie simples telles que la Chain of Thought et ses nombreuses variantes (par exemple ART, Auto-CoT, etc.) améliorent les performances du LLM. L'avènement de LLM plus puissants comme GPT-4 permet une structure encore plus riche, et Guidance rend cette structure plus facile et plus abordable.

Caractéristiques :

  • Syntaxe simple et intuitive, basée sur le modèle Handlebars.
  • Structure de sortie riche avec de multiples générations, sélections, conditionnelles, utilisation d'outils, etc.
  • Diffusion semblable à un playground dans les carnets Jupyter/VSCode.
  • Mise en cache intelligente des générations basée sur les seeds.
  • Prise en charge des modèles de chat basés sur les rôles (par exemple ChatGPT).
  • Intégration facile avec les modèles Hugging Face, y compris l'accélération de Guidance pour des gains de vitesse par rapport au prompting standard, le token healing pour optimiser les limites du prompt, et les guides de motifs regex pour faire respecter les formats.

Installation

Code : Sélectionner tout
pip install guidance

Diffusion live

Accélérez votre cycle de développement en diffusant des modèles complexes et des générations live dans votre carnet de notes. À première vue, Guidance ressemble à un langage de création de modèles, et tout comme les modèles Handlebars standard, vous pouvez faire de l'interpolation de variables (par exemple {{proverbe}}) et du contrôle logique. Mais contrairement aux langages de templating standard, les programmes Guidance ont un ordre d'exécution linéaire bien défini qui correspond directement à l'ordre des jetons tel qu'il est traité par le modèle de langage. Cela signifie qu'à tout moment de l'exécution, le modèle de langage peut être utilisé pour générer du texte (à l'aide de la commande {{gen}}) ou pour prendre des décisions concernant le flux de contrôle logique. Cette imbrication de la génération et de l'invite permet d'obtenir une structure de sortie précise qui produit des résultats clairs et analysables.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import guidance 
 
# set the default language model used to execute guidance programs 
guidance.llm = guidance.llms.OpenAI("text-davinci-003") 
 
# define a guidance program that adapts a proverb 
program = guidance("""Tweak this proverb to apply to model instructions instead. 
 
{{proverb}} 
- {{book}} {{chapter}}:{{verse}} 
 
UPDATED 
Where there is no guidance{{gen 'rewrite' stop="\\n-"}} 
- GPT {{gen 'chapter'}}:{{gen 'verse'}}""") 
 
# execute the program on a specific proverb 
executed_program = program( 
    proverb="Where there is no guidance, a people falls,\nbut in an abundance of counselors there is safety.", 
    book="Proverbs", 
    chapter=11, 
    verse=14 
)

Aperçu : https://raw.githubusercontent.com/mi..._animation.gif

Après avoir exécuté un programme, toutes les variables générées sont...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !