Modèles préentraînés pour la génération de texte

Apprentissage profond pour le texte avec PyTorch

Shubham Jain

Instructor

Pourquoi des modèles préentraînés ?

Avantages

  1. Entraînés sur de vastes ensembles de données
  2. Haute performance pour diverses tâches de génération de texte
    • Analyse des sentiments
    • Complétion de texte
    • Traduction automatique

Limites

  1. Coût de calcul élevé pour l'entraînement
  2. Exigent beaucoup d'espace de stockage
  3. Peu d'options de personnalisation
Apprentissage profond pour le texte avec PyTorch

Modèles préentraînés dans PyTorch

  • Hugging Face Transformers : bibliothèque de modèles préentraînés
  • Modèles préentraînés :
    • GPT-2
    • T5

Logo HuggingFace

Apprentissage profond pour le texte avec PyTorch

Comprendre le tokenizer et le modèle GPT-2

GPT2LMHeadModel :

  • Version HuggingFace de GPT-2
  • Conçu pour la génération de texte

GPT2Tokenizer :

  • Convertit le texte en jetons
  • Gère la sous-tokenisation : « larger » peut devenir [« large », « r »]
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte

import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel

tokenizer = GPT2Tokenizer.from_pretrained('gpt2') model = GPT2LMHeadModel.from_pretrained('gpt2')
seed_text = "Once upon a time"
input_ids = tokenizer.encode(seed_text, return_tensors='pt')
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte II

output = model.generate(

                                                           ) 
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte II

output = model.generate(input_ids, max_length=40, 

                                                           ) 
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte II

output = model.generate(input_ids, max_length=40, temperature=0.7,     

                                                           ) 
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
Apprentissage profond pour le texte avec PyTorch

GPT-2 : implantation de la génération de texte II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                        pad_token_id=tokenizer.eos_token_id) 
Apprentissage profond pour le texte avec PyTorch

GPT-2 : sortie de génération de texte

generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
Generated Text: Once upon a time, the world was a place of great beauty
and great danger. The world of the gods was the place where the great gods were 
born, and where they were to live.
Apprentissage profond pour le texte avec PyTorch

T5 : implantation de la traduction automatique

  • t5-small : Text-to-Text Transfer Transformer
  • Modèle préentraîné pour la traduction automatique
import torch
from transformers import T5Tokenizer, T5ForConditionalGeneration

tokenizer = T5Tokenizer.from_pretrained("t5-small") model = T5ForConditionalGeneration.from_pretrained("t5-small")
input_prompt = "translate English to French: 'Hello, how are you?'"
input_ids = tokenizer.encode(input_prompt, return_tensors="pt")
output = model.generate(input_ids, max_length=100)
Apprentissage profond pour le texte avec PyTorch

T5 : sortie de traduction automatique

generated_text = tokenizer.decode(output[0], skip_special_tokens=True)

print("Generated text:",generated_text)
Generated text:
"Bonjour, comment êtes-vous?"
Apprentissage profond pour le texte avec PyTorch

Choisir le bon modèle préentraîné

  • Il en existe beaucoup !

 

  • GPT-2 : Génération de texte
  • DistilGPT-2 (version allégée de GPT-2) : Génération de texte
  • BERT : Classification de texte, questions-réponses
  • T5 (t5-small est la version allégée de T5) : Traduction, synthèse

 

  • À trouver sur HuggingFace et d'autres dépôts
Apprentissage profond pour le texte avec PyTorch

Passons à la pratique !

Apprentissage profond pour le texte avec PyTorch

Preparing Video For Download...