Comment personnaliser la génération de texte dans Transformers

Comment Personnaliser La Generation De Texte Dans Transformers



En apprentissage profond, la génération de texte fait référence au processus de personnalisation automatique du texte en langage naturel à l'aide de Réseaux de neurones artificiels (ANN) . De plus, différents modèles linguistiques sont utilisés à cette fin et sont pré-entraînés sur de grands ensembles de données pour prédire le mot à venir dans une séquence dépendant du mot précédent. De plus, le texte personnalisé peut être utilisé pour plusieurs applications, notamment la traduction linguistique, la génération de contenu, les chatbots et bien d'autres encore.

Dans ce blog, nous couvrirons le contenu fourni ci-dessous :

Comment personnaliser la génération de texte en chargeant le modèle avec la fonction « pipeline » à partir de Transformers ?

Le ' pipeline La fonction ' est utilisée pour télécharger automatiquement le modèle d'IA pré-entraîné en fonction des besoins de l'utilisateur. Pour utiliser cette fonction particulière, les utilisateurs doivent installer le ' transformateurs ' paquets. Ce package donne accès à des modèles de pointe basés sur Transformer qui peuvent effectuer une analyse des sentiments ainsi que plusieurs autres Traitement du langage naturel (NLP) Tâches.





Pour consulter la démonstration pratique du scénario décrit ci-dessus, passez aux étapes ci-dessous !



Étape 1 : Installer les packages « transformateurs »

Dans un premier temps, exécutez le « ! pépin' commande pour installer les packages du transformateur :



! pip installer des transformateurs

Comme vous pouvez le constater, le package spécifié a été installé avec succès :





Étape 2 : Importer un modèle basé sur un transformateur

Ensuite, importez le modèle basé sur le transformateur requis. Pour ce faire, importez d’abord le « pipeline ' fonction de ' transformateurs ». Ensuite, utilisez la fonction importée et transmettez le « génération de texte ' comme argument avec le nom du modèle requis ' gpt2 ». Ensuite, transmettez-les au « générer 'variable :



depuis transformateurs importer pipeline

générer = pipeline ( 'génération de texte' , modèle = 'gpt2' )

Étape 3 : générer du texte personnalisé

Maintenant, passez le texte souhaité comme argument au « générer ». Comme indiqué ci-dessous:

générer ( 'En utilisant le modèle gpt2 pour générer du texte dans les transformateurs' )

Selon le résultat fourni, le pré-entraîné téléchargé ' gpt3 ' Le modèle a été généré avec succès :

Vous pouvez également utiliser les autres arguments, tels que :

rapide = 'En utilisant le modèle gpt2 pour générer du texte dans les transformateurs'

imprimer ( gène ( rapide , num_return_sequences = 5 , longueur maximale = vingt ) )

Ici:

  • ' rapide » est utilisé comme argument pour retenir une entrée.
  • ' num_return_sequence ' L'argument est utilisé pour générer le nombre de séquences du texte fourni.
  • ' longueur maximale ' L'argument est utilisé pour spécifier la longueur du texte généré. Dans notre cas, cela se limite à « 30 » jetons (mots ou signes de ponctuation) :

Note: Le texte personnalisé sera une continuation de l’invite spécifiée basée sur les données d’entraînement du modèle.

Comment utiliser un modèle basé sur un transformateur pour générer du texte dans PyTorch ?

Les utilisateurs peuvent également personnaliser le texte dans « PyTorch ' qui est le ' Torche ' Cadre d'apprentissage automatique basé. Il est utilisé pour différentes applications, telles que la PNL et la vision par ordinateur. Pour utiliser le modèle basé sur un transformateur pour personnaliser le texte dans PyTorch, importez d'abord le ' GPT2Tokeniseur ' et ' Modèle GPT2 ' fonctionne à partir du ' transformateurs » :

depuis transformateurs importer GPT2Tokeniseur , Modèle GPT2

Ensuite, utilisez le ' GPT2Tokeniseur ' tokenizer selon notre modèle pré-entraîné souhaité nommé ' gpt2 » :

tokeniseur = GPT2Tokenizer. from_pretrained ( 'gpt2' )

Ensuite, instancier les poids à partir d'un modèle pré-entraîné :

modèle = Modèle GPT2. from_pretrained ( 'gpt2' )

Ensuite, déclarez un « gen_text ' Variable qui contient le texte que nous souhaitons personnaliser :

gen_text = 'En utilisant le modèle gpt2 pour générer du texte dans les transformateurs'

Maintenant, passez le ' gen_text ' et ' return_tensors='pt' ' comme argument qui générera le texte dans PyTorch et stockera la valeur générée dans le ' entrée_codée 'variable :

entrée_codée = tokeniseur ( gen_text , retour_tensors = 'pt' )

Enfin, passez le ' entrée_codée ' Variable qui contient le texte personnalisé dans le ' modèle ' comme paramètre et obtenez la sortie résultante en utilisant le ' longueur maximale ' argument défini sur ' vingt » qui indique que le texte généré sera limité aux jetons fournis, le « num_return_sequences ' qui est défini sur ' 5 ' qui montre que le texte généré s'appuiera sur 5 séquences de texte :

sortir = modèle ( **entrée_encodée )

Générateur ( gen_text , longueur maximale = vingt , num_return_sequences = 5 )

Sortir

Comment utiliser un modèle basé sur un transformateur pour générer du texte dans TensorFlow ?

Pour générer le texte dans Transformers, le « TensorFlow Des frameworks d'apprentissage automatique basés sur ' sont également utilisés. Pour ce faire, importez d’abord les fonctions requises, telles que le «  GPT2Tokeniseur ' et ' Modèle TFGPT2 ' du ' transformateurs ». Le reste du code est le même que ci-dessus, nous utilisons simplement le ' Modèle TFGPT2 ' fonction au lieu du ' Modèle GPT2 ' fonction. Comme suit:

depuis transformateurs importer GPT2Tokeniseur , Modèle TFGPT2

tokeniseur = GPT2Tokenizer. from_pretrained ( 'gpt2' )

modèle = Modèle TFGPT2. from_pretrained ( 'gpt2' )

texte = 'En utilisant le modèle gpt2 pour générer du texte dans les transformateurs'

entrée_codée = tokeniseur ( texte , retour_tensors = 'tf' )

sortir = modèle ( entrée_codée )

Générateur ( gen_text , longueur maximale = vingt , num_return_sequences = 5 )

Comme vous pouvez le constater, le texte personnalisé a été généré avec succès :

C'est ça! Nous avons développé la personnalisation de la génération de texte dans Transformers.

Conclusion

Pour personnaliser la génération de texte dans Transformers, il existe différentes manières, par exemple en chargeant le modèle avec la fonction pipeline, en utilisant le modèle basé sur le transformateur dans ' PyTorch ' et ' TensorFlow » qui sont basés sur des frameworks d’apprentissage automatique. Dans ce guide, nous avons fourni de brèves informations ainsi qu'une démonstration pratique de la personnalisation de la génération de texte dans Transformers.