도배 하자 질의 응답 처리 : 한솔데코 시즌2 AI 경진대회
- 대회 바로가기 이미지 클릭
- 이번 시즌 2에서는 한 걸음 더 나아가, NLP(자연어 처리) 기반의 QA (질문-응답) 시스템을 통해 도배하자와 관련된 깊이 있는 질의응답 처리 능력을 갖춘 AI 모델 개발에 도전합니다.
정봉기
Dacon
Github
Hugging-Face
최승혁
Dacon
Github
Hugging-Face
id : 질문 - 답변 (QA) 샘플 고유 번호
질문_1, 질문_2 : 샘플 별 동일한 내용으로 구성된 질문 2개
category : 질문 - 답변 (QA) 샘플의 도메인 세부 분야
답변_1, 답변_2, 답변_3, 답변_4, 답변_5 : 샘플 별 질문에 대한 동일한 답변 Reference 5개
id : 평가 질문 샘플 고유 번호
질문 : 평가 샘플의 질의 내용
id : 평가 질문 샘플 고유 번호
vec_0, vec_1 ... vec_511 : 생성된 답변을 512 차원의 Embedding Vector로 표현된 결과
평가 산식 : Cosine Similarity (코사인 유사도)
Public score : 전체 테스트 데이터 중 사전 샘플링된 40%
Private score : 전체 테스트 데이터 100%
- Ko-llm-leaderboard 상의 모델 비교
- 첫 시도로 Ko-llm-leaderboard 상의 1위 모델인
ldcc
를 파인튜닝하려 했으나,tokenizer
조절에 어려움이 있었습니다. - 이후 2위 모델인
Edentns/DataVortexS-10.7B-dpo-v1.11
로 방향을 전환하여 시도해 보았습니다.
- 첫 시도로 Ko-llm-leaderboard 상의 1위 모델인
- 다양한 문제에 대응하기 위해 RAG 방식을 추가로 시도하였습니다.
- 최신 출시된
Gemma
모델을 이용한 실험도 진행하였습니다.
- 기존 학습 데이터셋은 한 질문에 한 답만 포함되어 있었습니다.
- 테스트셋은 두 질문을 한 번에 물어보고, 두 질문에 대한 두 개의 답을 생성해야 하는 구조였습니다.
- 이에 따라, 학습셋에서 임의로 문제를 두 개씩 합쳐서 학습을 진행하였습니다.
메모리 효율을 높이기 위해 lora rank = 8
을 사용했습니다. 각 하이퍼파라미터의 선택이 학습 과정과 모델 성능에 미치는 영향을 간결하게 설명합니다.
- per_device_train_batch_size=2: 메모리 사용 최소화를 위해 디바이스 당 배치 크기 2를 사용.
- gradient_accumulation_steps=4: 더 큰 배치 사이즈의 이점을 얻기 위해 그래디언트 누적 스텝 4 설정.
- warmup_ratio=0.03: 전체 학습 스텝의 3% 동안 학습률을 점진적으로 증가시킴.
- num_train_epochs=10: 총 10 에폭 동안 모델 학습.
- learning_rate=2e-4: 학습률을 0.0002로 설정하여 안정적인 수렴을 도모.
- fp16=True: 16비트 부동 소수점을 사용하여 계산 효율성 및 메모리 사용 최소화.
- logging_steps=1: 모든 스텝마다 로깅을 수행하여 학습 과정 모니터링.
- optim="paged_adamw_8bit": 메모리 사용을 줄이기 위해 8비트 최적화된 AdamW 사용.
- report_to="wandb": 학습 과정과 결과를 Weights & Biases에 기록.