WRITING · 2026-11-03

점수를 지키면서 올리기 — VQA 챌린지에서 앙상블 후보를 고른 기준

정확도가 조금 올라도 원래 맞히던 문제를 많이 틀리면 불안정한 개선이다. fixes와 breaks로 순기여를 따져 0.94608에서 시작한 점수를 쌓아 올린 과정.

VQA멀티모달앙상블실험 설계SSAFY

SSAFY 16기 AI 챌린지는 이미지와 질문을 보고 4지선다 중 정답을 고르는 VQA(Visual Question Answering) 과제였습니다. 저는 팀에서 모델 학습과 정제를 맡았습니다. 이 글은 모델 자체보다, 어떤 실험 결과를 최종 제출에 넣을지 판단한 기준에 대한 기록입니다.

점수 변화

제출 Public 점수 변화
Qwen 4B 베이스라인 0.94608 출발점
Qwen 27B 단독 0.95591 +0.00983 (모델 규모)
27B + 4B 확률 앙상블 0.95918 +0.00327
질문 유형별 프롬프트 0.95501 −0.00417

여기서 두 가지를 배웠습니다.

작은 모델도 다른 문제를 맞힌다. 4B는 27B보다 단독 성능이 낮지만, 두 모델의 선택지 확률을 섞으니 점수가 올랐습니다. 틀리는 문제가 서로 다르기 때문입니다.

좋아 보이는 아이디어가 점수를 깎기도 한다. 질문 유형(계산, 개수, 글자 읽기 등)별로 프롬프트를 나누면 당연히 좋아질 것 같았지만, 실제로는 0.004 넘게 떨어졌습니다. 이 방식은 전체 적용에서 빼고 오답 분석용으로만 남겼습니다.

판단 기준: 정확도 하나만 보지 않는다

새 요소를 넣을지 정할 때, 검증 정확도만 보지 않고 기존 모델과 문제 단위로 비교했습니다.

정확도가 조금 올라도 breaks가 많으면 문제를 맞히는 위치가 크게 흔들린 것이라, 테스트 데이터에서 재현되지 않을 위험이 큽니다. 여기에 두 가지를 더 봤습니다.

그리고 리더보드 점수(Public)는 판단을 확인하는 용도로만 썼습니다. Public 점수를 보면서 조정하면 리더보드에 과적합되기 때문입니다.

보호 기준선

가장 좋은 제출(당시 0.95918)을 보호 기준선으로 고정했습니다. 어떤 실험을 하든 이보다 낮은 최종본은 내지 않는다는 원칙입니다. 새 후보는 한 번에 하나씩, 직전 최고 제출과만 비교해 채택하거나 뺐습니다.

시간 안에 할 수 있는 것만

GPU 시간이 정해져 있어서 시도의 우선순위도 먼저 정했습니다.

최종적으로 Qwen 27B·4B QLoRA와 Gemma 계열 모델, OCR, 멀티뷰 확률을 결합해 Public 0.96961을 기록했습니다.

제출 전 자동 검사

마지막으로, 제출 파일을 만들기 전에 아래를 자동으로 검사하고 하나라도 실패하면 제출 생성을 멈추게 했습니다.

남은 것

이 챌린지에서 가장 크게 남은 건 "점수가 올랐다"와 "믿을 수 있게 올랐다"는 다르다는 감각입니다. fixes·breaks처럼 문제 단위로 변화를 보는 습관은 모델 비교뿐 아니라 프롬프트 수정, 데이터 정제 효과를 판단할 때도 그대로 쓸 수 있습니다.

SSAFY 16기 관통 프로젝트 — ThRead: LLM 댓글 분석 파이프라인 · AI 도서 서비스자세한 내용은 포트폴리오의 해당 활동에서 볼 수 있습니다.
포트폴리오로
다른 글겹쳐 있는 두 신호를 위상으로 가르기 — 파수 상관 필터링 석사 연구 정리중력과 자력 데이터를 같은 주파수 성분끼리 비교해, 함께 움직이는 성분과 반대로 움직이는 성분을 나눴다. 임계값을 감으로 정하지 않으려고 한 일들.LLM이 붙인 [근거 N]을 코드로 다시 검사하기 — 국보 RAG 가이드의 인용 설계근거를 인용하라고 프롬프트에 써도 LLM은 없는 번호를 붙입니다. 근거 번호를 검색 단계에서 고정하고, 답변의 인용을 코드로 파싱해 없는 번호는 지우고 실제로 인용한 근거만 보여 주는 구조를 만든 기록.YAML 파일 하나로 포트폴리오·이력서·비공개 페이지까지 — 이 사이트를 만든 방식내용은 한 곳에만 쓰고, 웹 페이지·PDF 이력서·노션 문서는 빌드로 만든다. 공개하면 안 되는 내용은 저장소에 평문으로 남기지 않는다.데이터를 해석하기 전에 그 데이터가 만들어진 역사를 본다 — 학부 제1저자 논문 회고해외 대규모 CO2 저장소 8곳을 판구조 형성사와 탄성파 영상으로 비교했다. 처리 결과를 '그럴듯한지' 판단하는 기준을 어디서 가져올 것인가에 대한 이야기.길찾기에서 의사결정으로 — 배틀싸피 자동 플레이 봇을 세 번 고친 기록목표까지 가는 BFS 한 줄짜리 봇이, 사거리·장애물·탄약·보급·암호 해독까지 판단하는 봇이 되기까지. 매 턴 다시 계획하는 구조로 바꾼 이유.산불 4건으로 시공간 딥러닝 학습하기데이터가 35개 시점뿐일 때 어떻게 학습시켰고, 다시 보니 무엇이 부족했는지. U-LSTM 산불 확산 예측 모델 회고.LLM 응답을 믿지 않는 파이프라인 설계LLM에는 판단만 맡기고, 결과는 코드로 검증한다. 댓글 분석 파이프라인과 AI 도서 추천을 만들며 정한 네 가지 원칙.순차 학습이 성능을 떨어뜨린 이유 — catastrophic forgetting 실험기단어 단위 → 문맥 단위로 차례로 학습하면 더 좋아질 줄 알았는데, BERTScore가 0.47에서 0.32로 떨어졌다. FLAN-T5 LoRA 학습 전략 비교.