transformers 결정론적 디코딩
import tensorflow as tf
from transformers import TFAutoModelForCausalLM, AutoTokenizer
모형 로딩
tokenizer = AutoTokenizer.from_pretrained('gpt2')
model = TFAutoModelForCausalLM.from_pretrained('gpt2')
문장의 시작을 I like this movie
로
input_ids = tokenizer.encode('I like this movie', return_tensors='tf')
탐욕 탐색
result = model.generate(input_ids, max_length=50)
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
tokenizer.decode(result[0])
"I like this movie. I like the way it's set up. I like the way it's set up. I like the way it's set up. I like the way it's set up. I like the way it's set up."
빔 탐색
result = model.generate(input_ids, max_length=50, num_beams=5, early_stopping=True)
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
tokenizer.decode(result[0])
"I like this movie. It's a lot of fun to watch. It's a lot of fun to watch. It's a lot of fun to watch. It's a lot of fun to watch. It's a lot of fun to watch."
2-gram이 반복되는 것을 억제
result = model.generate(input_ids, max_length=50, num_beams=5, early_stopping=True, no_repeat_ngram_size=2)
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
tokenizer.decode(result[0])
'I like this movie, but I don\'t think it\'s going to be as good as I thought it would be," he said.\n\n"I\'m not sure if it will be the best movie I\'ve ever seen. It\'s not going'