LLM
Large Language Model, 대규모 언어모델
GPT-3 는 2020 년에 공개된 대표적인 초거대언어모델이며, 1,750 억 개 파라미터를 가진 자기회귀 언어 모델
기존 NLP모델은 감성분석, 번역모델, 요약모델, 질문답변 모델 등 작업별로 따로 학습해야했지만 GPT-3이후 LLM은 프롬프트만 바꿔도 여러 작업을 수행할 수 있게 되었다.
LLM 종류
Decoder-only모델: GPT 계열 이전 토큰을 보고 다음 토큰 생성
Encoder-only모델: BERT 계열 문장을 이해하고 분류
Encoder-decoder 모델 : T5, BART 입력문장을 다른 문장으로 변환
instruction-tuned모델: InstructGPT, ChatGPT 계열 사람의 지시를 잘 따르도록 추가학습
Multimodal 모델: GPT-4o계열, 텍스트, 이미지, 음성도 처리
Decoder-only모델: GPT 계열
GPT-2, GPT-3, , GPT-4 계열 (기본 구조), LLaMA 계열
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
inputs = tokenizer("Hello, I am", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0]))
Encoder-only모델 (BERT 계열)
계열전체 문장을 한 번에 이해 (양방향), BERT, RoBERTa, DistilBERT
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
inputs = tokenizer("I love this movie", return_tensors="pt")
outputs = model(**inputs)
print(outputs.logits)
Encoder-decoder 모델 (T5, BART)
입력 이해 (Encoder) → 출력 생성 (Decoder), 번역 / 요약 / 변환 작업에 최적의 Seq2Seq의 현대 버전
T5, BART, MarianMT (번역)
from transformers import T5Tokenizer, T5ForConditionalGeneration
model = T5ForConditionalGeneration.from_pretrained("t5-small")
tokenizer = T5Tokenizer.from_pretrained("t5-small")
text = "summarize: The AI is transforming the world rapidly."
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
instruction-tuned 모델
“지시를 잘 따르도록” 추가 학습된 모델, 구조 자체는 보통 GPT / T5 기반이나 학습방식이 다르다.
InstructGPT, ChatGPT, Claude (류), Gemini (류)
Input:
"다음 문장을 요약해줘: ~~~"
Output:
"핵심은 ..."
Multimodal 모델
텍스트 + 이미지 + 음성 + 영상 처리GPT-4o, Gemini 1.5, Claude 3 (일부)
from transformers import BlipProcessor, BlipForConditionalGeneration
from PIL import Image
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
image = Image.open("dog.jpg")
inputs = processor(images=image, return_tensors="pt")
outputs = model.generate(**inputs)
print(processor.decode(outputs[0], skip_special_tokens=True))
종류구조역할
| Decoder-only | GPT | 생성 |
| Encoder-only | BERT | 이해 |
| Encoder-Decoder | T5/BART | 변환 |
| Instruction-tuned | GPT 기반 | 대화/지시 수행 |
| Multimodal | GPT-4o 등 | 여러 입력 처리 |