LoRA 학습 실행 체크리스트¶
체크 표시는 실제 증거가 있다는 뜻이며, "튜토리얼이 여기까지 작성되었다"는 뜻이 아닙니다. 명령은 plan.md에, 로컬 검증은 verification.md에 있습니다.
A. 구현된 자료¶
- 중국어 초등 과학 탐구, 세 학년 구간과 다섯 가지 주제 분류를 다룹니다.
- 순서대로 따라가는 튜토리얼: 개념, 하드웨어, 환경, 학습, 평가, 내보내기, API, 문제 해결.
- 팩트 카드 60장, 학습 500 + 검증 50 + 테스트 50개 대화, 모두 검토 대기 중인 합성 대화입니다.
- 데이터 검증, 대화 전개, 템플릿/길이/지도 학습 범위 검사.
- 단일 파일 dataset.json, 완전한 예시와 필드 설명. 노트북에서는 D1–D7로 데이터 사용 위치를 표시합니다.
- 별도의 경량 토큰화 환경. PyTorch / TRL 테스트는 선택 읽기용 개발자 장으로 옮겼습니다.
- QLoRA 학습과 재개, A/B/C 추론, 멀티턴 대화, 블라인드 평가와 동결.
- BF16 병합 및 로컬 싱글턴/멀티턴 API 호출 예시.
- 학습 코드를 그대로 보여 주는 교육용 노트북. 모든 셀에 설명이 있고 산출물 확인, 다시 불러오기, 평가를 포함합니다.
- ModelScope 다운로드, HF 미러 대체 경로, 고정 파일의 SHA-256 검증, 샤드 누락 시 오류.
B. 로컬 메커니즘 검사¶
- 데이터와 지도 학습 범위에 대한 자동화 테스트.
- 모델 revision 고정. 토크나이저와 config만 다운로드합니다.
- 실제 Qwen 토크나이저와 TRL collator로 학습 샘플 1150개의 mask/EOS/padding을 검사합니다.
- 아주 작은 CPU 모델에서 LoRA만 갱신되고, 저장·재개·다시 불러오기·병합이 가능합니다.
- 튜토리얼의 API 예시를 직접 실행하는 로컬 HTTP 및 히스토리 전달 테스트.
- 블라인드 평가 짝짓기, 누락된 점수, 주제별 클러스터 통계에 대한 테스트.
C. 이해와 검토¶
- SFT/LoRA/QLoRA, VRAM, Step/Epoch를 자신의 말로 설명합니다. 증거: 한 페이지 노트.
- 실제 지도 학습 타깃을 최소 10개 읽습니다. 증거: audit와 노트.
- 후보 대화 600개를 모두 검토합니다. 증거: 실제 검토자, notes, 수정 기록.
- 사실 출처를 재확인합니다. 특히 이번에 웹 접근이 제한되었던 자료가 대상입니다. 증거: 카드 검토 기록.
D. GPU 메커니즘 학습 (먼저 2장을 이해하세요. 노트북은 단일 파일을 직접 읽습니다)¶
- Linux NVIDIA 환경 구축 및 연동 확인. 증거: 버전, 드라이버, BF16, pip check.
- 고정 버전의 완전한 베이스 모델을 다운로드·검증하고, 관찰 질문에 대한 베이스 모델의 답변을 저장합니다.
- 1 Epoch(약 72 step)의 QLoRA. 증거: 유한한 loss,
loss-curve.png, 파라미터 갱신, adapter, 최대 VRAM. - 학습 중
nvidia-smi로 VRAM을 기록하고 4.3절의 추정치와 비교합니다. 증거: 측정값과 노트. - 샘플 20개로 과적합시킵니다. 증거: loss 변화와 학습 중 출력. 일반화를 주장하지 않습니다.
- step 5에서 step 10까지 재개합니다. 증거: optimizer/scheduler 스냅샷과 로그.
E. 정식 비교 (C, D에 의존)¶
- 카드 60장, 대화 600개, 분류별 100/10/10. 주제와 사실 참조는 split을 넘나들지 않습니다.
- 모든 참조 답변 검토와 유사 중복 검사. 증거: review와 패밀리 기록.
- 초안 데이터로 탐색적 비교(
--allow-draft --formalprepare/audit). 증거: manifest(draft: true), 토크나이저 지문, 토큰 리포트. - r16/alpha32와 r8/alpha16을 각각 1 Epoch. 증거: 설정, 시간, VRAM, 파일 크기.
- 검증 세트에서 고정 히스토리/멀티턴 대화. 증거: 블라인드 평가, 사실 검토, 실패 분류.
- 후보를 동결한 뒤 테스트 대화 50개(주제 5개)를 모두 실행합니다. 증거: 동결 파일, 출력, 불확실성.
- 개선 있음 / 개선 없음 / 불확실 결론을 작성하고 한계를 밝힙니다.
F. 내보내기와 API (D에 의존. 정식 품질 결론은 E에 의존)¶
- 실제 4B adapter를 다시 불러올 수 있습니다. 증거: 같은 SHA의 출력.
- BF16 베이스 모델에 병합합니다. 증거: merge manifest, 완전한 가중치, 토크나이저, 라이선스.
- 같은 정밀도에서 병합 전후를 비교하고, NF4/BF16 차이는 따로 기록합니다.
- vLLM 기동. 증거: 별도 추론 환경의 버전, 서비스 로그, 헬스 체크.
- KV 캐시 추정치를 기동 로그와 비교합니다. 증거:
GPU KV cache size와Maximum concurrency두 줄과 5.3절 표의 비교. - API 싱글턴/멀티턴/스트리밍 호출. 증거: 실제 모델 응답.
- adapter를 마운트해 배포하고, 같은 서버에서
qwen3-4b-base와science-lora를 비교합니다. 증거: 두 세트의 답변. -
vllm bench serve로 동시성 1/4/16 부하 테스트를 하고,--max-num-seqs를 조정한 뒤 다시 테스트합니다. 증거: 채워진 TTFT/TPOT/처리량 표. - 비용을 확인하고, 결과를 저장하고, 유휴 인스턴스를 중지합니다. 증거: 비용 기록.
추후 별도 논의¶
웹 페이지, 음성 읽기, 다국어, 보호자의 사전 동의하에 진행하는 실제 어린이 사용 연구, 홍보 글, 공개 인터넷 서비스, 그리고 더 많은 학습 방법.