분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[Private 42nd] ViT-SO400M-14-SigLIP-384
Private 42위를 달성하여 본선 진출 자격을 얻긴 하였으나, 아직 대학생이 아니기에 오프라인 발표까지 나갈 생각은 못했네요. 그럼에도 이번 competition이 가졌던 특별한 제약에서 얻어간 경험이 몇 개 있는 것 같아요. 오프라인 본선이 끝난 지금 이를 코드와 함께 공유하고자 합니다.
주어진 task는 결국 Visual Question Answering, 그 중에서도 multiple-choice로의 정확한 예측 결과를 보이는 게 목표였습니다. 여기서 한 가지 어려움이 발생하는데, 지금 알려진 연구들만 보자면 multiple-choice task보다 open-ended task 쪽 분야가 훨씬 활성화 되어있다는 점입니다. 결과적으로는 활용 가능한 자료(코드, 모델, 데이터셋, 등등..)가 부족했던 점이 적절한 방법론을 탐색하기 어렵게 만든 요인이었습니다.
특히 학습 데이터셋을 구성하는 부분이 상당히 까다로웠는데, train.csv 파일을 열어보면 알 수 있듯, question이 보통의 vqa에 비해 상대적으로 추상적입니다. 뿐만 아니라 특정 domain에서만 유의미하게 작용하는 데이터셋보다도 bias가 적은 general한 데이터들을 모으는 게 중요했고, question과 label의 질 역시 고려하지 않을 수 없었네요. (최종적으로 제가 선택한 데이터셋은 Visual7W와 OK-VQA였습니다.)
그 외에도 'parameter 수를 3B미만으로 두는 것' + '2024년 이전 pretrained model만 활용'이라는 조건이 다소 빡빡한 constriction이 되었어요. 위에서 말한 부분들까지 고려하면 clip 계열 모델을 쓰는 것 말고는 적절한 최적화가 가능할까?라는 생각에서 쉽게 빠져나오기 어려웠습니다.
결국은 대회 초기에만 성과를 보이고, 이후에는 스코어가 전혀 오르지 않았습니다. 상당히 오랜 기간 붙잡았음에도요. 저보다 좋은 성과를 거두신 분이 많기에 아마 더 좋은 모델 구성 방법이 있었던 것 같네요.
오프라인 본선에서도 참가자들끼리의 정보공유는 제한되어서 저희도 서로의 솔루션을 보지 못했습니다.
약간 면접보듯이 진행되었네요 ㅎㅎ
코드 공유 감사드립니다.
코드를 다 이해하진 못했는데, CLIP 모델을 써서 Visual7W와 OK-VQA 데이터에 대해 Finetuning을 진행해본 것으로 이해하면 될까요?
코드를 보면 정확히는 SigLIP을 쓰신 것 같은데, CLIP의 후속 버전인가요?? 최신 연구에서 이 모델을 쓰는 걸 본 적은 있는데, 어떤 차이가 있는지까지는 찾아보지 않았네요. ㅎㅎ
네, 사전학습 가중치 기반으로 finetuning을 진행한 게 맞아요. 글에서 그 부분이 빠졌네요.
그리고 모델 관련해선 siglip이 조금 더 개선된 형태로 알고 있어요. 구현적 차이만 이야기하자면 clip에선 (image, text) pair를 전부 비교하던 걸 siglip에선 각각의 sigmoid로 처리하는 걸로 기억해요. 아마 batch train 관련해서도 clip과 siglip이 가지는 중요한 차이가 몇가지 있긴 할 텐데, 일단 대회 당시에는 clip에서 siglip으로 교체하고 public score가 근소하게 올라서 이 모델을 가져왔네요.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
직업정보제공사업 신고번호: J1204020250004
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io |
전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
(글자수 제한이 있어 댓글로 남깁니다)
오프라인 본선에 직접 가서 다른 분들의 솔루션을 보지 못한 것이 너무나도 아쉽기에, 효과적인 vqa 처리 방식이 있었다면 댓글로 공유 부탁드립니다...!