Metin üretimi için önceden eğitilmiş modeller

PyTorch ile Metin için Deep Learning

Shubham Jain

Instructor

Neden önceden eğitilmiş modeller?

Yararlar

  1. Geniş veri kümeleriyle eğitilmiştir
  2. Çeşitli metin üretim görevlerinde yüksek performans
    • Duygu analizi
    • Metin tamamlama
    • Dil çevirisi

Sınırlamalar

  1. Eğitim için yüksek hesaplama maliyeti
  2. Büyük depolama gereksinimi
  3. Sınırlı özelleştirme seçenekleri
PyTorch ile Metin için Deep Learning

PyTorch'ta önceden eğitilmiş modeller

  • Hugging Face Transformers: önceden eğitilmiş modeller kütüphanesi
  • Önceden eğitilmiş modeller:
    • GPT-2
    • T5

HuggingFace Logosu

PyTorch ile Metin için Deep Learning

GPT-2 Tokenizer ve Modeli: Anlama

GPT2LMHeadModel:

  • HuggingFace'in GPT-2 yorumu
  • Metin üretimine yönelik

GPT2Tokenizer:

  • Metni token'lara dönüştürür
  • Alt sözcük parçalama yapar: 'larger' → ['large', 'r']
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması

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')
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması II

output = model.generate(

                                                           ) 
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması II

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

                                                           ) 
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması II

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

                                                           ) 
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi uygulaması II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                        pad_token_id=tokenizer.eos_token_id) 
PyTorch ile Metin için Deep Learning

GPT-2: metin üretimi çıktısı

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.
PyTorch ile Metin için Deep Learning

T5: Dil çevirisi uygulaması

  • t5-small: Text-to-Text Transfer Transformer
  • Dil çevirisi görevleri için önceden eğitilmiş model
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)
PyTorch ile Metin için Deep Learning

T5: Dil çevirisi çıktısı

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

print("Generated text:",generated_text)
Generated text:
"Bonjour, comment êtes-vous?"
PyTorch ile Metin için Deep Learning

Doğru önceden eğitilmiş modeli seçme

  • Birçok model var!

 

  • GPT-2: Metin üretimi
  • DistilGPT-2 (GPT-2'nin küçüğü): Metin üretimi
  • BERT: Metin sınıflandırma, soru-cevap
  • T5 (t5-small, T5'in küçüğü): Dil çevirisi, özetleme

 

  • HuggingFace ve diğer depolarda bulabilirsiniz
PyTorch ile Metin için Deep Learning

Hadi pratik yapalım!

PyTorch ile Metin için Deep Learning

Preparing Video For Download...