Voorgetrainde modellen voor tekstgeneratie

Deep Learning voor tekst met PyTorch

Shubham Jain

Instructor

Waarom voorgetrainde modellen?

Voordelen

  1. Getraind op zeer grote datasets
  2. Hoge prestaties bij diverse tekstgeneratietaken
    • Sentimentanalyse
    • Tekstaanvulling
    • Vertalen

Beperkingen

  1. Hoge rekenkosten voor training
  2. Veel opslag vereist
  3. Beperkte aanpasbaarheid
Deep Learning voor tekst met PyTorch

Voorgetrainde modellen in PyTorch

  • Hugging Face Transformers: bibliotheek met voorgetrainde modellen
  • Voorgetrainde modellen:
    • GPT-2
    • T5

HuggingFace-logo

Deep Learning voor tekst met PyTorch

GPT-2-tokenizer en -model begrijpen

GPT2LMHeadModel:

  • HuggingFace’s variant van GPT-2
  • Gericht op tekstgeneratie

GPT2Tokenizer:

  • Zet tekst om naar tokens
  • Doet subwoord-tokenization: 'larger' kan ['large', 'r'] worden
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie

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')
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie II

output = model.generate(

                                                           ) 
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie II

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

                                                           ) 
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie II

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

                                                           ) 
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
Deep Learning voor tekst met PyTorch

GPT-2: implementatie tekstgeneratie 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 voor tekst met PyTorch

GPT-2: uitvoer tekstgeneratie

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.
Deep Learning voor tekst met PyTorch

T5: implementatie vertalen

  • t5-small: Text-to-Text Transfer Transformer
  • Voorgetraind model voor vertalen
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)
Deep Learning voor tekst met PyTorch

T5: vertaaluitvoer

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

print("Generated text:",generated_text)
Generated text:
"Bonjour, comment êtes-vous?"
Deep Learning voor tekst met PyTorch

Het juiste voorgetrainde model kiezen

  • Er zijn er veel!

 

  • GPT-2: Tekstgeneratie
  • DistilGPT-2 (kleinere versie van GPT-2): Tekstgeneratie
  • BERT: Tekstclassificatie, vraagbeantwoording
  • T5 (t5-small is de kleinere versie): Vertalen, samenvatten

 

  • Vind ze op HuggingFace en andere repositories
Deep Learning voor tekst met PyTorch

Laten we oefenen!

Deep Learning voor tekst met PyTorch

Preparing Video For Download...