피드로 돌아가기
Vision Language Models Explained
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face가 Vision Language Model의 아키텍처, 평가 방법론, 파인튜닝 프레임워크를 종합적으로 설명하여 멀티모달 모델 도입 가이드 제공

Vision Language Models Explained

2024년 4월 11일12intermediate

Context

Vision Language Model(VLM)은 이미지와 텍스트를 동시에 처리하는 멀티모달 모델로, 시각 질답, 이미지 캡셔닝, 문서 이해 등 다양한 작업을 수행할 수 있습니다. 하지만 모델마다 학습 데이터, 이미지 인코딩 방식, 기능이 다르며, 올바른 모델 선택과 파인튜닝 방법이 명확하지 않았습니다.

Technical Solution

  • 이미지 인코더 + 임베딩 프로젝터 + 텍스트 디코더의 3단계 파이프라인 구조로 이미지와 텍스트 표현 통합
  • Vision Arena 및 Open VLM Leaderboard를 통해 익명 투표 기반 및 벤치마크 기반 모델 평가 방식 제시
  • VLMEvalKit 및 LMMS-Eval 툴킷으로 MMMU(11.5K 질문), MMBench(3,000 객관식 문제), MathVista, AI2D 등 다중 벤치마크 기반 성능 측정
  • LLavaDataCollator를 통해 메시지 형식의 텍스트를 apply_chat_template로 변환하고, 이미지와 함께 processor로 일괄 처리
  • SFTTrainer(Supervised Fine-Tuning Trainer)를 사용하여 PEFT 설정, 데이터 콜레이터, 학습 데이터셋을 연결하여 학습 진행
  • 학습 완료 후 trainer.push_to_hub()로 최종 체크포인트를 Hugging Face Hub에 자동 푸시

Key Takeaway

VLM 도입 시 표준화된 벤치마크를 통해 모델을 비교 평가하고, TRL 라이브러리의 SFTTrainer를 활용하면 복잡한 멀티모달 파인튜닝을 최소한의 코드로 구현할 수 있습니다.


이미지-텍스트 기반 작업(문서 이해, 시각 질답 등)을 처리하는 서비스에서 Open VLM Leaderboard의 벤치마크 점수와 Vision Arena의 인간 선호도 기반 비교를 통해 기본 모델을 선택한 후, LLavaDataCollator와 SFTTrainer를 사용하여 도메인 특화 파인튜닝을 수행하면 제한된 개발 리소스로도 고성능 멀티모달 파이프라인을 구축할 수 있습니다.

원문 읽기