Förtränade modeller för textgenerering

Djupinlärning för text med PyTorch

Shubham Jain

Instructor

Varför förtränade modeller?

Fördelar

  1. Tränade på omfattande datamängder
  2. Hög prestanda för olika textgenereringsuppgifter
    • Sentimentanalys
    • Textkomplettering
    • Språköversättning

Begränsningar

  1. Hög beräkningskostnad för träning
  2. Stora lagringskrav
  3. Begränsade anpassningsmöjligheter
Djupinlärning för text med PyTorch

Förtränade modeller i PyTorch

  • Hugging Face Transformers: bibliotek med förtränade modeller
  • Förtränade modeller:
    • GPT-2
    • T5

HuggingFace-logotyp

Djupinlärning för text med PyTorch

GPT-2: tokeniserare och modell

GPT2LMHeadModel:

  • HuggingFaces implementation av GPT-2
  • Anpassad för textgenerering

GPT2Tokenizer:

  • Omvandlar text till tokens
  • Hanterar delordstokenisering: 'larger' kan bli ['large', 'r']
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering

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')
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering II

output = model.generate(

                                                           ) 
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering II

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

                                                           ) 
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering II

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

                                                           ) 
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
Djupinlärning för text med PyTorch

GPT-2: implementering av textgenerering II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                        pad_token_id=tokenizer.eos_token_id) 
Djupinlärning för text med PyTorch

GPT-2: utdata från textgenerering

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.
Djupinlärning för text med PyTorch

T5: implementering av språköversättning

  • t5-small: Text-to-Text Transfer Transformer
  • Förtränad modell för språköversättning
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)
Djupinlärning för text med PyTorch

T5: utdata från språköversättning

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

print("Generated text:",generated_text)
Generated text:
"Bonjour, comment êtes-vous?"
Djupinlärning för text med PyTorch

Välja rätt förtränad modell

  • Det finns många!

 

  • GPT-2: Textgenerering
  • DistilGPT-2 (mindre version av GPT-2): Textgenerering
  • BERT: Textklassificering, frågesvar
  • T5 (t5-small är den mindre versionen av T5): Språköversättning, sammanfattning

 

  • Hitta dem på HuggingFace och andra arkiv
Djupinlärning för text med PyTorch

Nu kör vi en övning!

Djupinlärning för text med PyTorch

Preparing Video For Download...