마지막 날에는 학습보다 검증과 기록이 더 중요합니다
선호를 반영하고,
로컬 실행 가능한 형태로 정리합니다.
DPO는 SFT를 대체하는 만능 단계가 아닙니다. SFT 이후 남은 선호 차이를 조정하고, 병합·GGUF·모델 카드까지 확인해야 개인용 모델 실험이 끝납니다.
이전 입력
13강 prompt/chosen/rejected 선호 데이터
오늘 출력
DPO 실험 기록, GGUF 준비 체크리스트, 모델 카드
01DPO 검증선호 반영과 회귀 확인
02GGUF 준비병합·템플릿·EOS 점검
03모델 카드용도·평가·한계 기록
01 · SFT와 DPO
SFT는 답변 예시, DPO는 선호 비교를 학습합니다
두 단계는 같은 목적을 다른 신호로 다룹니다. SFT는 “이렇게 답하라”, DPO는 “둘 중 이것을 더 선호하라”에 가깝습니다.
- SFTprompt와 원하는 response를 보여 주어 기본 응답 방식을 맞춥니다.
- DPO같은 prompt의 chosen/rejected를 비교해 선호 방향을 조정합니다.
- 순서처음부터 DPO로 가지 말고 SFT와 평가 이후 남은 문제에 적용합니다.
| 구분 | SFT | DPO |
|---|---|---|
| 데이터 | instruction/response 또는 messages | prompt/chosen/rejected |
| 역할 | 기본 응답 방식 학습 | 후보 답변 사이의 선호 조정 |
| 위험 | 데이터 품질이 낮으면 문체가 굳음 | 나쁜 rejected 설계가 선호 신호를 흐림 |
02 · DPO 실험
선호 데이터는 작게 시작하고 동일 평가로 확인합니다
DPO도 과하면 일반 능력이나 안전 기준을 흔들 수 있으므로 작은 데이터와 낮은 위험 실험부터 시작합니다.
- 초기 규모13강에서 검토한 100~500개 선호 쌍으로 시작합니다.
- 평가 고정12강 회귀 테스트와 같은 질문으로 개선과 부작용을 확인합니다.
- 중단 기준위험 요청 대응이 약해지거나 일반 능력이 떨어지면 DPO 결과를 사용하지 않습니다.
DPO 점검 항목
DPO 체크
# 실제 옵션은 현재 Unsloth/TRL 문서와 설치 버전에 맞춰 확인합니다.
base_or_sft_adapter = "outputs/gemma-e2b-lora-v2"
preference_data = "data/preference_v1.jsonl"
dpo_out = "outputs/gemma-e2b-dpo-v1"
# 기록할 것: beta, learning_rate, epochs, seed, eval result, rejected 설계 기준03 · 병합과 GGUF
로컬 실행 전에는 병합과 형식 변환을 구분합니다
LoRA 어댑터는 기반 모델 위에 얹는 변화량입니다. 로컬 추론 도구에 따라 병합 모델이나 GGUF 변환이 필요할 수 있습니다.
- 어댑터LoRA/DPO 결과는 기반 모델과 함께 불러오거나 병합해야 합니다.
- 병합 모델기반 모델과 어댑터를 합쳐 하나의 모델 가중치로 저장한 형태입니다.
- GGUFllama.cpp, Ollama, LM Studio 등 로컬 실행 흐름에서 쓰이는 모델 파일 형식입니다.
01기반 모델google/gemma-4-E2B-it
02LoRA/DPO 어댑터학습된 변화량
03병합하나의 모델로 저장
04GGUF로컬 실행 형식
05재평가템플릿과 출력 확인
주의
GGUF 변환은 배포 편의를 위한 형식 변환입니다. 학습 품질을 자동으로 개선하지 않으므로 변환 전후의 템플릿과 EOS 처리를 확인해야 합니다.
04 · 템플릿과 EOS 점검
로컬 실행에서 답변 형식이 깨지지 않는지 봅니다
학습 때 사용한 대화 템플릿과 실제 추론 때의 템플릿이 다르면 답변 시작 위치나 종료 처리가 흔들릴 수 있습니다.
- 대화 템플릿학습과 추론에서 같은 역할 토큰과 메시지 경계를 사용합니다.
- EOS답변 종료 토큰이 맞지 않으면 답변이 끊기거나 불필요하게 이어질 수 있습니다.
- 샘플 질문일반 질문, 안전한 경계 질문, 위험 요청 대응을 변환 후 다시 확인합니다.
필수chat template 일치학습 데이터와 로컬 실행 프롬프트 형식을 맞춘다.
필수EOS 확인답변이 적절히 끝나는지 샘플로 본다.
주의시스템 프롬프트 과다학습 결과와 앱 레이어 지시가 충돌하지 않게 한다.
주의양자화별 품질 차이Q4/Q5/Q8 선택 후 짧은 재평가를 한다.
05 · 모델 카드 작성
최종 모델의 용도와 한계를 문서로 남깁니다
개인용 실험 모델이라도 무엇을 바꿨고 어디까지 검증했는지 기록해야 다음 실험이 안전해집니다.
- 용도안전한 질문의 과잉 거부 감소와 응답 정책 보정을 목표로 썼다고 기록합니다.
- 데이터SFT V2와 preference 데이터의 범위, 제외 기준, 검토 방법을 남깁니다.
- 한계의료·법률·보안 등 고위험 영역에서 전문가 검토가 필요하다는 한계를 적습니다.
14강 산출물 · 최종 모델 카드이 브라우저에 저장됨
06 · 확인 퀴즈
마지막 개념을 확인합니다
DPO, 병합, GGUF, 모델 카드의 역할을 구분합니다.
- DPOchosen/rejected 선호 비교를 학습합니다.
- GGUF로컬 실행을 위한 파일 형식입니다.
- 모델 카드용도, 데이터, 평가, 한계를 기록합니다.
07 · 과정 마무리
14일 과정의 최종 산출물을 점검합니다
- 최종 산출물DPO 실험 기록, GGUF 준비 체크리스트, 모델 카드가 남았습니다.
- 완료 기준확인 항목 6개와 퀴즈 4점 이상을 완료합니다.
- 재평가로컬 실행 환경에서도 5강·12강 평가 질문을 다시 실행합니다.
학습SFT → 평가 → DPO
파일어댑터 → 병합 → GGUF
검증과잉 거부 ↓ · 위험 대응 유지
문서모델 카드와 한계
14강 완료 기록
최종 모델 카드와 재평가 계획이 준비되면 완료를 기록하세요.
공식 참고 자료 보기
- Hugging Face TRL · DPOTrainer ↗DPO와 preference 데이터
- Unsloth · Gemma 4 파인튜닝 ↗Gemma 4 학습과 저장, GGUF 흐름
- llama.cpp ↗GGUF 기반 로컬 추론 생태계
- Google AI · Gemma 4 모델 카드 ↗모델 정보와 책임 있는 사용