transformers 결정론적 디코딩 :: 대화형 AI - mindscale
Skip to content

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'