✅ 일주일 동안 한 일과 느낀 점
13주차는 “파인튜닝 체계화 → 분류 모델(텍스트·이미지) 구현 → RAG+UI 서비스화”로 이어지는 흐름을 직접 밟으며 학습-평가-인터페이스까지 한 번에 엮어 본 시간이었다. 8일에는 파인튜닝의 설계 원칙을 정리했고, 9일에는 LoRA 기반 SFT와 텍스트 분류 실습을 통해 반복/포맷 붕괴의 원인을 파고들었다. 10~12일에는 CNN 이미지 분류와 RAG 질의응답 인터페이스를 완성하면서 사용자 관점 기능(파라미터 조절, 대화 기록, 문서 근거 표시)을 체감했다. 이론-모델-평가-서비스를 한 주에 연결해 본 경험이 특히 의미 있었다.
✅ 주요 학습 내용 및 기술 회고
📌 9월 8일 — 파인튜닝 설계 원칙 정리
- LoRA 핵심과 응답 전용(loss masking) 전략 정리: 템플릿 태그(Instruction/Response)로 경계를 명시하고, Collator 단계에서 응답 구간만 labels로 활성화해 프롬프트 누설을 억제하는 구조를 정리했다.
- 추론 제어 항목 점검: stop 토큰, no_repeat_ngram_size, 길이·포맷 제약 등 “학습은 모델, 안정성은 추론·데이터 규칙”이라는 관점을 문서화했다.
- 평가 계획 수립: 단순 BLEU/ROUGE 외에 JSON 유효성, n-gram 반복률, 금지어·길이 위반률 같은 규칙 기반 메트릭을 추가해 품질을 정량 점검하기로 결정.
📌 9월 9일 — LoRA SFT 실습과 텍스트 분류 파이프라인
- SFT 실험: KoGPT2에 LoRA를 적용해 Instruction/Response 템플릿, 응답-only loss 마스킹, 특수 토큰 추가, 버전 호환형 Trainer 인자 등 안정성을 갖춘 학습 루틴을 구성했다. 손실은 빠르게 하강했지만, 데모에서 반복·포맷 붕괴(번역 문장 반복, 키워드·JSON 형식 깨짐)가 발생해 데이터 다양성/규칙 부족과 추론 파라미터 무시(버전 호환) 문제를 확인했다.
- 개선 지향점: 데이터 증강(동의어·길이·예외·금지어), 멀티 태스크 샘플 분포 보정, stop 규칙·스코어링 기반 early stop, generate 파라미터 호환성 분기(모델/버전 매트릭스) 설계.
- 텍스트 분류(CNN) 엔드투엔드 구현: 정규식 토크나이저→가벼운 CNN(여러 커널+글로벌 맥스풀)→학습 스케줄러→정확도·정밀도·재현율·F1 계산→혼동행렬 시각화→pth 저장→신뢰도 출력 infer까지 완주. 합성 데이터에서 높은 점수가 나와 파이프라인 구성 감각을 익혔다.
📌 9월 10일 — 이미지 분류 CNN, RAG QA 인터페이스
- CNN 이미지 분류:
- MNIST: Conv-Pool 스택과 소형 MLP 헤드로 99%대 정확도에 수렴, 드롭아웃으로 과적합 억제.
- CIFAR-10: Conv-BN-Conv-Pool 블록 3스택+Dense(512)+BN+Dropout로 약 75%대 검증 정확도에 도달. 에포크 진행에 따른 손실·정확도 로그와 클래스별 정밀·재현율을 리포트하고, 증강/러닝레이트 스케줄의 효과를 체감했다.
- RAG QA 인터페이스:
- 파인튜닝된 생성기와 벡터DB를 래핑해 질문→검색→생성 파이프라인을 UI로 제공. 질문 입력, 파라미터 슬라이더(temperature/max_tokens), 문서 컨텍스트 사용 여부, 답변/근거/세션 통계 표시, 대화 기록 JSON 내보내기·초기화 등을 구현해 실서비스 UX에 가까운 흐름을 완성했다.
📌 9월 11일 — 고도화·안정화
- SFT 고도화 계획 수립: 응답 스키마(JSON/불릿/문장 길이)별 전용 템플릿과 유효성 검사기(파서·스키마 검증)를 도입하고, n-gram 반복률과 금지어 위반률 기준으로 자동 리젝·재생성 루틴을 설계.
- CNN 개선 탐색: CIFAR-10에서 Cutout/ColorJitter 등 증강 조합, cosine annealing/step decay 비교, 라벨 스무딩·MixUp 시범 적용 계획 수립. 실데이터에 가까운 잡음·왜곡 샘플로 강건성 테스트를 진행하기로 결정.
- RAG 실무화 체크리스트: 문서 청크 전략(길이/중복), top-k 조정, rerank 실험, 답변 내 인용 표시·출처 링크·컨텍스트 하이라이트 등 근거 제시 강화 설계.
📌 9월 12일 — 평가·운영 관점 통합
- 자동 평가 파이프라인 초안:
- SFT: 포맷 유효성(JSON parse), 규칙 위반(길이/금지어), 반복률, 태스크별 스코어링(요약 일치도·키워드 포함률)로 합산 점수 산출.
- 분류기: 검증·테스트 분할 고정, 클래스 불균형 대응(가중치/리샘플), 혼동행렬과 클래스별 F1로 디버깅 루프 마련.
- RAG: Retrieval 히트율, 답변 근거 매칭률, 사용성 로그(응답시간, 재질문율, 피드백)로 품질을 추적.
- 운영 준비: 모델·토크나이저·설정 버전 고정, 추론 파라미터 프로파일(모델·프레임워크 버전별 안전 매개변수 셋) 정의, UI 예외 처리·타임아웃·로깅 강화, 대화 기록 보존·삭제 정책 설계.
✅ 아쉬웠던 점 & 개선 포인트
- SFT는 작은·동질적 데이터에서 손실은 잘 내려가도 실제 출력은 반복·형식 붕괴가 잦다는 점을 다시 확인했다. 데이터 다양화와 “응답 스키마+검증기”를 곁들인 생성 제약이 핵심이다.
- 텍스트/CNN 분류 모두 합성·정형 데이터에서는 수치가 높아도, 실제 잡음·분포 이동 상황에서의 견고성 확인이 필요하다. 증강·정규화·라벨 스무딩 등 일반화 기법을 더 체계적으로 실험해야 한다.
- RAG 인터페이스는 UX적으로 완성도가 올라갔지만, 대규모 문서/동시 접속/지연·장애 대응 같은 운영 관점 과제가 남아 있다.
✅ 마무리
13주차는 모델을 “만들고(학습) → 제대로(평가) → 쓰이게(서비스)” 하는 전 흐름을 직접 설계한 주였다. 파인튜닝의 본질이 학습기술만이 아니라 데이터·추론·평가·UX·운영까지 확장된다는 점을 체감했고, 다음 주에는 다음을 실행할 예정이다.
- SFT: 스키마별 템플릿·검증기 도입, 자동 포맷 평가·반복률 감시, generate 파라미터 호환 매트릭스 확정.
- 분류: 증강/정규화/라벨 스무딩·MixUp 비교, 실데이터 검증, 에러 케이스 리포트 자동화.
- RAG: 청크·rerank·인용 UX 개선, 캐시/타임아웃/로깅·모니터링 확립, 사용자 피드백 루프 연결.
정보처리기사 실기 스터디도 병행 중이라 체력적으로 빡빡했지만, 동료들과 함께 문제를 풀고 토론하며 ‘실전 감각’을 나눌 수 있어 든든했다. 14주차에는 3차 프로젝트가 예정되어 있다. 잘 준비해서 좋은 마무리를 해야겠다.
'SK네트웍스 Family AI캠프 16기' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 15주차 회고 (0) | 2025.09.30 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 14주차 회고 (1) | 2025.09.22 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 12주차 회고 (0) | 2025.09.08 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 11주차 회고 (2) | 2025.09.01 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 10주차 회고 (3) | 2025.08.26 |