Предобученные модели для генерации текста

Глубокое обучение для работы с текстом на PyTorch

Shubham Jain

Instructor

Зачем нужны предобученные модели?

Преимущества

  1. Обучены на обширных наборах данных
  2. Высокая производительность в задачах генерации текста
    • Анализ тональности
    • Дополнение текста
    • Перевод текста

Ограничения

  1. Высокие вычислительные затраты на обучение
  2. Большие требования к хранилищу
  3. Ограниченные возможности настройки
Глубокое обучение для работы с текстом на PyTorch

Предобученные модели в PyTorch

  • Hugging Face Transformers: библиотека предобученных моделей
  • Предобученные модели:
    • GPT-2
    • T5

Логотип HuggingFace

Глубокое обучение для работы с текстом на PyTorch

Токенизатор и модель GPT-2

GPT2LMHeadModel:

  • Реализация GPT-2 от HuggingFace
  • Предназначена для генерации текста

GPT2Tokenizer:

  • Преобразует текст в токены
  • Поддерживает субсловную токенизацию: 'larger' может стать ['large', 'r']
Глубокое обучение для работы с текстом на PyTorch

GPT-2: реализация генерации текста

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

GPT-2: реализация генерации текста II

output = model.generate(

                                                           ) 
Глубокое обучение для работы с текстом на PyTorch

GPT-2: реализация генерации текста II

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

                                                           ) 
Глубокое обучение для работы с текстом на PyTorch

GPT-2: реализация генерации текста II

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

                                                           ) 
Глубокое обучение для работы с текстом на PyTorch

GPT-2: реализация генерации текста II

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
Глубокое обучение для работы с текстом на PyTorch

GPT-2: реализация генерации текста 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

GPT-2: результат генерации текста

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

T5: реализация перевода текста

  • t5-small: Text-to-Text Transfer Transformer
  • Предобученная модель для задач перевода текста
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

T5: результат перевода текста

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

print("Generated text:",generated_text)
Generated text:
"Bonjour, comment êtes-vous?"
Глубокое обучение для работы с текстом на PyTorch

Выбор подходящей предобученной модели

  • Их существует множество!

 

  • GPT-2: генерация текста
  • DistilGPT-2 (облегчённая версия GPT-2): генерация текста
  • BERT: классификация текста, ответы на вопросы
  • T5 (t5-small — облегчённая версия T5): перевод, реферирование

 

  • Найдите их на HuggingFace и в других репозиториях
Глубокое обучение для работы с текстом на PyTorch

Давайте потренируемся!

Глубокое обучение для работы с текстом на PyTorch

Preparing Video For Download...