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

Deep Learning pour le texte avec PyTorch

Shubham Jain

Instructor

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

Benefits

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

Limitations

  1. Coût computationnel élevé pour l'entraînement de
  2. Exigences de stockage importantes
  3. Options de personnalisation limitées
Deep Learning 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 {{2}}"

"Logo HuggingFace {{1}}"

Deep Learning pour le texte avec PyTorch

Comprendre le tokenizer et le modèle GPT-2

"GPT2LMHeadModel :

  • Version de GPT-2 par HuggingFace
  • Conçue pour la génération de texte {{2}}"

"GPT2Tokenizer :

  • Convertit le texte en jetons
  • Gère la tokenisation des sous-mots : « larger » peut devenir [« large », « r »] {{4}}"
Deep Learning pour le texte avec PyTorch

"GPT-2 : implémentation 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 = "Il était une fois"
input_ids = tokenizer.encode(seed_text, return_tensors='pt')
Deep Learning pour le texte avec PyTorch

"GPT-2 : implémentation de la génération de texte II"

output = model.generate(

                                                           ) 
Deep Learning pour le texte avec PyTorch

"GPT-2 : implémentation de la génération de texte II"

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

                                                           ) 
Deep Learning pour le texte avec PyTorch

"GPT-2 : implémentation de la génération de texte II"

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

                                                           ) 
Deep Learning pour le texte avec PyTorch

"GPT-2 : implémentation de la génération de texte II"

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

"GPT-2 : implémentation 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) 
Deep Learning pour le texte avec PyTorch

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

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

out Texte généré : Il était une fois, le monde était un lieu de grande beauté et de grand danger. Le monde des dieux était l'endroit où les grands dieux étaient nés, et où ils devaient vivre.{{2}}"

Deep Learning pour le texte avec PyTorch

"T5 : Mise en œuvre de la traduction linguistique"

"- t5-small: Text-to-Text Transfer Transformer

  • Modèle pré-entraîné pour les tâches de 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: 'Bonjour, comment ça va ?'\"
input_ids = tokenizer.encode(input_prompt, return_tensors=\"pt\")

----CODE_GLUE---- python output = model.generate(input_ids, max_length=100){{6}}"

Deep Learning pour le texte avec PyTorch

"T5 : Sortie de traduction linguistique"

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


----CODE_GLUE----
```python
print(\"Texte généré :\",generated_text)

out Texte généré : \"Bonjour, comment allez-vous ?\"{{2}}"

Deep Learning pour le texte avec PyTorch

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

"- Beaucoup existent !

  • GPT-2 : Génération de texte
  • DistilGPT-2 (version réduite de GPT-2) : Génération de texte
  • BERT : Classification de texte, questions-réponses
  • T5 (t5-small est la version réduite de T5) : Traduction de langues, résumé
  • Retrouvez-les sur HuggingFace et d'autres dépôts {{5}}"
Deep Learning pour le texte avec PyTorch

Passons à la pratique !

Deep Learning pour le texte avec PyTorch

Preparing Video For Download...