사전 학습된 언어 모델(Pretrained Language Models)은 현대 NLP에서 핵심적인 역할을 담당하고 있다.
이 글에서는 사전 학습 모델의 개념, 주요 모델, 활용 사례, 그리고 한계를 다룬다.
사전 학습된 언어 모델은 대규모 데이터셋에서 일반적인 언어 표현을 학습한 후, 특정 작업에 적응(Fine-Tuning)할 수 있는 모델이다.
from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')
inputs = tokenizer("This is an example sentence.", return_tensors="pt")
outputs = model(**inputs)
print(outputs.last_hidden_state.shape)
from transformers import GPT2Tokenizer, GPT2LMHeadModel
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2LMHeadModel.from_pretrained('gpt2')
input_text = "Artificial intelligence is"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(inputs.input_ids, max_length=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
사전 학습된 언어 모델은 NLP의 발전을 크게 이끌었으며, 다양한 작업에서 우수한 성능을 제공한다.
다만 자원과 데이터 품질 등의 한계를 인지하고, 적절히 활용하는 것이 중요하다.