인스트럭션 튜닝
인스트럭션 튜닝(Instruction Tuning)은 베이스 LLM을 수천 개의 (지시, 원하는 응답) 쌍으로 파인튜닝해, 단순히 텍스트를 이어가는 대신 자연어 지시를 따르도록 학습시키는 사후 훈련(post-training) 과정입니다. 다음 단어 예측에만 능한 원시 언어 모델을 "이걸 요약해", "한국어로 번역해", "SQL 쿼리 써" 같은 지시를 이해하는 어시스턴트로 탈바꿈시키는 단계입니다.
인스트럭션 튜닝(Instruction Tuning)은 베이스 LLM을 수천 개의 (지시, 원하는 응답) 쌍으로 파인튜닝해, 단순히 텍스트를 이어가는 대신 자연어 지시를 따르도록 학습시키는 사후 훈련(post-training) 과정입니다. 다음 단어 예측에만 능한 원시 언어 모델을 "이걸 요약해", "한국어로 번역해", "SQL 쿼리 써" 같은 지시를 이해하는 어시스턴트로 탈바꿈시키는 단계입니다.
왜 중요한가
다음 토큰 예측만으로 훈련된 베이스 모델은 놀랍게도 사용하기 어렵습니다. 원시 GPT-3 베이스 모델에게 "프랑스의 수도는?"을 물으면 "이탈리아의 수도는? 스페인의 수도는?"처럼 — 답하는 대신 비슷한 질문의 패턴을 이어갈 수 있습니다. 인스트럭션 튜닝이 이를 바꿨습니다. Google의 FLAN(2021), OpenAI의 InstructGPT(2022), Anthropic의 Claude는 인스트럭션 튜닝으로 실제로 답하는 모델을 만들었습니다. 현대 챗 지향 LLM — GPT-4·Claude·Gemini·Llama Instruct·Mistral Instruct — 은 모두 인스트럭션 튜닝을 거칩니다. 이 단계를 이해하면 베이스 역량이 비슷한 두 모델이 사용 경험에서 극적으로 다르게 느껴지는 이유를 알 수 있습니다.
작동 원리
1. 지시 데이터 수집: 사람이 쓰거나 큐레이션한 수천 개의 지시·응답 쌍을 다양한 과제에 걸쳐 수집 — 요약·Q&A·코딩·번역·수학·창작·추론.
2. 일관된 포맷: 각 예제가 다음과 같은 구조를 따름:
### Instruction:
다음 글을 3개 불릿으로 요약해.
### Input:
[글 본문]
### Response:
- 요점 1
- 요점 2
- 요점 3
3. 지도 파인튜닝(SFT): 이 포맷된 쌍에 표준 다음 토큰 예측 손실로 베이스 모델을 훈련. 모델은 "### Instruction: ... ### Response:" 뒤에 원하는 응답을 생성해야 함을 학습.
4. 선택적 멀티태스크 혼합: FLAN·T0·Dolly 같은 데이터셋은 수백 개 과제 유형을 결합해 모델이 훈련에 없던 지시에도 일반화되도록 합니다.
5. 보류 지시로 평가: 튜닝 중 본 적 없는 새 지시를 따르는지 측정.
인스트럭션 튜닝 vs 파인튜닝 vs RLHF
| 항목 | 파인튜닝 | 인스트럭션 튜닝 | RLHF |
|---|---|---|---|
| 데이터 | 과제 특화 예시 | 다양한 (지시, 응답) 쌍 | 인간 선호 비교 |
| 손실 | 다음 토큰 예측 | 다음 토큰 예측 | 보상 모델 + PPO |
| 목표 | 한 과제 특화 | 범용 지시 따르기 | 인간 선호 정렬 |
| 예시 | 법률 계약만으로 파인튜닝한 모델 | FLAN·Alpaca·Dolly | ChatGPT·Claude |
| 난이도 | 쉬움 | 중간 | 어려움 |
실무에서 현대 챗 모델은 세 단계를 모두 거칩니다: 베이스 사전 훈련 → 인스트럭션 튜닝(SFT) → RLHF(또는 DPO·Constitutional AI). 인스트럭션 튜닝은 중간 층 — 모델이 사용 가능해지지만 아직 도움성·안전성·정직성 같은 선호에 정렬되진 않은 지점입니다.
대표 인스트럭션 튜닝 모델
FLAN-T5(Google, 2022): 최초의 오픈소스 인스트럭션 튜닝 모델 중 하나. 3B 인스트럭션 튜닝 모델이 175B 비튜닝 모델을 이길 수 있음을 보임.
Alpaca(Stanford, 2023): Llama 7B를 GPT-3.5가 생성한 5.2만 지시 예제로 파인튜닝. 작은 모델에도 인스트럭션 튜닝이 저렴하고 효과적임을 입증.
Dolly(Databricks, 2023): 사람이 쓴 1.5만 지시로 파인튜닝. 고품질 데이터가 양을 이긴다는 것을 증명.
Llama Instruct·Mistral Instruct: 베이스 모델과 함께 공개된 오픈 가중치 인스트럭션 튜닝 버전.
Open-Instruct·Tulu(AI2): 투명성을 강조한 연구 중심 인스트럭션 튜닝 모델.
트레이드오프
데이터 품질 > 양: 잘 쓴 1.5만 예제가 자동 생성한 50만을 이길 수 있습니다. Alpaca vs Dolly가 이를 보임.
좁음 vs 넓은 커버리지: 과제 유형이 많을수록 일반화가 개선되지만 단일 과제 성능은 떨어질 수 있음.
포맷 민감도: 인스트럭션 튜닝 모델은 특정 프롬프트 포맷을 기대합니다. 잘못된 포맷은 성능을 눈에 띄게 저하시킵니다.
할루시네이션 위험: 지시 데이터에 근거 없는 답이 있으면 모델이 확신 있게 지어내는 법을 학습합니다.
비용: 작은 모델은 몇백~몇천 달러의 GPU 시간, 프런티어급은 훨씬 비쌉니다.
흔한 실수
RLHF와 혼동: 다른 단계입니다. 모델은 RLHF 없이 인스트럭션 튜닝만 받을 수 있지만(많은 오픈 모델이 그렇습니다) 선호 정렬을 놓칩니다.
베이스 모델을 챗 모델로 사용: 베이스 모델은 지시를 안정적으로 따르지 않습니다. 어시스턴트 과제에는 반드시 인스트럭션 튜닝 또는 챗 변형을 쓰세요.
모델 간 프롬프트 포맷 혼용: 각 인스트럭션 튜닝 모델은 고유 포맷을 기대합니다. Llama 포맷은 Mistral 포맷이 아니고, OpenAI 포맷이 아닙니다.
자체 도메인 훈련으로 범용 능력 상실: 인스트럭션 튜닝 모델 위에 좁은 파인튜닝을 하면 지시 따르기가 지워질 수 있습니다. LoRA를 쓰고 광범위하게 평가하세요.
평가 생략: 보류 프롬프트에 대한 인간 판정 또는 LLM-as-a-judge만이 인스트럭션 튜닝이 실제로 작동했는지 검증할 수 있습니다.
Sources:
- FLAN: Finetuned Language Models Are Zero-Shot Learners - Google
- InstructGPT Paper - OpenAI
- Stanford Alpaca
관련 인블로그 게시물
inblog에서 활용하기
inblog의 AI 초안 생성이 '블로그 글쓰기'라는 특정 과제에서 일관된 품질을 보이는 이유는, 백엔드가 범용 인스트럭션 튜닝 모델 위에 '좋은 블로그 포스트의 구조와 톤' 지시 예제를 얹어 설계되기 때문입니다. 덕분에 사용자가 매번 복잡한 프롬프트를 짜지 않아도 "이 주제로 SEO 최적화된 1,500자 포스트를 써줘" 같은 짧은 지시만으로 잘 구조화된 초안이 나옵니다.