데이터 증강과 다중 라벨 분류 모델의 파인튜닝을 담당했습니다. 별도로 보관한 학습 노트북·데이터·모델 설정을 바탕으로 정리한 개인 작업 기록입니다. 담당 범위는 본인 설명이며, 조직 저장소의 개인 커밋 증명과는 구분합니다.
프로젝트 조직 · KoBERT 학습 코드 · XLM-R 학습 코드 · 결과·데이터 점검 집계
조직 README의 팀 명단에는 이효근이 없어 참여 이력은 별도 자료로 보완해야 합니다. GDGoC 활동과 해당 조직 프로젝트의 정확한 소속·기간 관계는 추가 확인이 필요합니다.
두 노트북은 서로 독립적인 실험입니다. 원본의 학습 셀만 그대로 추출했으며 원시 문장, 모델 가중치, 서비스 연결 코드는 포함하지 않았습니다.
| 항목 | KoBERT | XLM-RoBERTa v4 |
|---|---|---|
| 입력 CSV | train_augmented.csv / valid_augmented.csv | integrated_train_v4.csv / integrated_valid_v4.csv |
| 열 | 문장, labels |
text, labels |
| 라벨 수 | 10 | 17 |
| 최대 토큰 길이 | 128 | 128 |
| 학습률 | 2e-5 | 2e-5 |
| 학습 / 평가 배치 | 64 / 64 | 16 / 32 |
| 최대 epoch | 8 | 5 |
| 모델 저장 | gentletalk_model | final_xlm_roberta_model_v4 |
labels는 노트북의 라벨 순서를 따르는 0/1 벡터 문자열입니다. 쉼표 또는 공백으로 구분된 형식을 파서가 처리합니다. 데이터의 이용·재배포 조건을 확인한 뒤 별도로 준비하여 노트북 실행 디렉터리에 둡니다. KoBERT 입력 CSV 두 개는 이번에 제공된 모델 폴더에서 찾지 못했습니다.
필요한 Python 패키지는 torch, transformers, datasets, accelerate, numpy, scikit-learn, sentencepiece, tensorboard, jupyter입니다. 원래 환경의 전체 lockfile은 없어 설치 버전별 호환성을 확인해야 합니다. 특히 KoBERT 코드는 Trainer(tokenizer=...)와 tokenizer 저장 호환 패치를 사용합니다. 임의의 최신 버전에서 실행된다고 보장하지 않습니다.
준비한 환경에서 jupyter lab을 실행하고 해당 노트북을 열어 학습 셀을 실행합니다. 실행 시 기본 모델을 다운로드하고 출력 디렉터리에 체크포인트를 기록하므로 충분한 저장 공간과 학습 자원이 필요합니다. v4 데이터는 아래 점검을 해결한 후 재학습하는 것이 다음 단계입니다.
| 실험 | 마지막 기록 epoch | LRAP | Micro F1 | Macro F1 |
|---|---|---|---|---|
| KoBERT / 10라벨 | 8 | 0.845339 | 0.728570 | 0.710111 |
| XLM-R v4 / 17라벨 | 4 | 0.910720 | 0.733374 | 기록 없음 |
노트북의 저장된 표에서 읽은 값이며 이번 정리에서 재실행하지 않았습니다. XLM-R은 최대 5 epoch 설정이지만 표에는 4 epoch까지 있어 전체 실행 완료를 단정하지 않습니다. LRAP는 정확도가 아니며, 두 실험은 데이터·라벨 구성이 달라 직접적인 성능 향상 비교에 사용할 수 없습니다. 조직 README의 약 85% 정확도와도 동일한 지표라고 볼 수 없습니다.
현재 보관된 CSV를 읽어 집계했습니다. 이 CSV와 과거 실행의 입력을 연결하는 당시 체크섬은 없으므로 동일 입력이라고 확정하지 않습니다.
| CSV | 행 수 | 전체 라벨이 0인 행 |
|---|---|---|
| v3 train | 31,160 | 0 |
| v3 valid | 3,463 | 0 |
| v4 train | 33,968 | 12,861 |
| v4 valid | 3,775 | 1,426 |