본문 바로가기

컴퓨터 과학/인공지능

LLM 파인 튜닝의 이해

반응형

파인튜닝(Fine-Tuning)이란?

사전학습(pretraining)을 마친 언어 모델에 추가적인 데이터 학습을 통해 특정 목적에 맞게 성능을 보완하거나 향상시키는 과정입니다.


파인튜닝의 목적

  • 도메인 특화: 법률, 의료, 기업 문서 등 특정 분야에 맞춘 언어 이해력 향상
  • 기능 강화: 요약, 번역, 코드 작성, Q&A 등 특정 작업(task)에 맞춘 성능 강화
  • 스타일 변경: 말투, 어조, 브랜드 성격에 맞춘 응답 방식 조정
  • 시기 반영: 최신 정보나 사건에 대한 학습을 통해 모델 최신화

Hugging Face에서 Qwen2.5 7B 모델 찾기

검색해보면 Qwen2.5-7B 모델이 6개나 되는 걸 볼 수 있어요. 그 이유는?

왜 모델이 여러 개일까?

각 모델은 용도와 목적이 다르기 때문입니다.

모델 종류특징
Base 모델 단순한 언어 생성 (채팅 불가)
Instruct 모델 지시문과 질의응답에 대응 가능 (채팅 기능 포함)
Quantized 모델 메모리 사용량 축소 (속도 ↑, 크기 ↓)
Instruct + Quantized 지시응답 가능 + 가벼움 (학습 불가)

Base Model vs Instruct Model

📌 Base Model (Pretrained Model)

  • 대규모 말뭉치로 학습된 기초 모델
  • "다음 단어 예측" 중심 → 단순한 완성만 가능
  • 명령어 처리나 대화 응답은 어려움

📌 Instruct Model

  • 질문/지시문에 반응하는 능력을 파인튜닝으로 학습한 모델
  • 템플릿 기반 응답이 가능해짐

예시 (LLaMA3 스타일 템플릿)

text
 
<|begin_of_text|>
<|start_header_id|>system<|end_header_id|>당신은 도움을 주는 비서입니다.<|eot_id|>
<|start_header_id|>user<|end_header_id|>내 일정 알려줘<|eot_id|>
<|start_header_id|>assistant<|end_header_id|>오늘 일정은...

Quantized 모델이란?

  • 양자화(Quantization): 모델의 숫자 표현을 줄여서 메모리 절약
  • 속도는 빠르고, 저장공간도 작지만
  • 대부분 파인튜닝은 불가

파인튜닝의 영향

  • 기존 능력을 덮어쓸 위험 존재
    • 예: 영어 성능이 뛰어난 모델에 한국어 데이터를 학습시키면 → 영어 성능 저하
  • 따라서 균형 있는 데이터 설계가 중요

파인튜닝 데이터의 종류

데이터 유형설명예시
Corpus 순수 텍스트 말뭉치 논문, 법률 문서, 뉴스 등
Instruction Data 입력-출력 쌍으로 구성 요약, 분류, text2SQL 등
Q/A Data 질문과 답변 형식 상담, 질의응답, FAQ 등

파인튜닝의 세부 목적 분류

목적설명
Continuous Pretraining 최신 데이터 추가 학습 (뉴스, 신규 문서 등)
Instruction Tuning 명령어 응답, 채팅 가능 모델로 변환
Domain QA Tuning 의료/법률 등 특정 분야 Q&A 성능 향상
Refusal Training 유해 콘텐츠 대응력 강화, 개인정보 거부 응답
Style Tuning 페르소나 설정, 말투 조정, 브랜드 톤 반영

파인튜닝의 제약 조건

  • 학습 시 고려해야 할 리소스
    • 모델 파라미터
    • 그래디언트 저장 공간
    • Optimizer 상태
    • Activation 메모리
  • 다양한 기술로 학습 효율화 가능 (LoRA, QLoRA 등)
  • 하지만 학습이 느려지거나, 학습 성능이 떨어질 수 있음
  • 한 번 학습되면 되돌리기 어렵다 → 백업 필수

💡 추가 팁: 파인튜닝이 꼭 필요한가요?

  • 단순한 작업이라면 프롬프트 엔지니어링으로도 충분한 경우 많습니다.
  • 비용, 리소스, 목적을 고려해서 Instruction Tuning만으로도 만족스러운 결과를 낼 수 있습니다.
반응형

'컴퓨터 과학 > 인공지능' 카테고리의 다른 글

대용량 텍스트 요약 기법 비교: Stuff, Map-Reduce, Refine  (0) 2025.04.08
파인튜닝 데이터 만들기  (0) 2025.04.08
GGUF 변환하기  (0) 2025.02.22
ollama에 다른 모델 올리기  (0) 2025.02.22
딥러닝 기본  (0) 2023.07.17