SmolVLM 출시 노트 / 새로운 기능

Hugging Face는 효율성, 속도 및 로컬 배포를 위해 설계된 2B 파라미터 Vision Language Model (VLM)인 SmolVLM을 출시했습니다. 이 모델은 완전한 오픈 소스이며, 모든 체크포인트, 데이터셋, 학습 레시피 및 도구는 Apache 2.0 라이선스 하에 공개됩니다.

모델 변체 및 생태계

SmolVLM은 다양한 사용 사례를 지원하기 위해 세 가지 버전으로 제공됩니다:

  • SmolVLM-Base: 다운스트림 미세 조정을 위해 설계되었습니다.
  • SmolVLM-Synthetic: 합성 데이터로 미세 조정된 변체입니다.
  • SmolVLM-Instruct: 대화형 엔드 유저 애플리케이션에 즉시 사용할 수 있는 인스트럭션 튜닝 버전입니다.

생태계에는 transformers 라이브러리와의 통합, 지도 미세 조정(supervised fine-tuning) 스크립트 및 공개 데모가 포함됩니다. 모델은 오픈 소스 데이터셋인 The Cauldron 및 Docmatix를 사용하여 학습되었습니다.

기술 아키텍처

SmolVLM의 아키텍처는 Idefics3를 기반으로 하지만 메모리 및 연산 요구 사항을 줄이기 위해 몇 가지 최적화를 도입했습니다:

  • Language Backbone: Llama 3.1 8B를 SmolLM2 1.7B로 교체했습니다.
  • Visual Compression: pixel shuffle 전략을 사용하여 패치된 시각적 정보를 9배 압축합니다 (Idefics3의 4배와 비교).
  • Image Patching: 364x364 대신 384x384 패치(pixel shuffle 전략을 위해 3으로 나누어짐)를 사용합니다.
  • Vision Backbone: 384x384 패치와 14x14 내부 패치를 가진 형태 최적화된 SigLIP을 활용합니다.

성능 및 효율성

벤치마크

SmolVLM은 다른 2B급 모델보다 훨씬 낮은 메모리 점유율을 유지하면서 여러 멀티모달 벤치마크에서 경쟁력 있는 성능을 보여줍니다:

모델 MMMU (val) MathVista (testmini) MMStar (val) DocVQA (test) TextVQA (val) 최소 GPU RAM (GB)
SmolVLM 38.8 44.6 42.1 81.6 72.7 5.02
Qwen2-VL 2B 41.1 47.8 47.5 90.1 79.7 13.70
InternVL2 2B 34.3 46.3 49.8 86.9 73.4 10.52
PaliGemma 3B 34.9 28.7 48.3 32.2 56.0 6.72
moondream2 32.4 24.3 40.3 70.5 65.2 3.87

메모리 및 처리량

SmolVLM은 이미지 인코딩에 매우 효율적이며, 각 384x384 이미지 패치를 단 81개의 토큰으로 변환합니다. 단일 이미지와 프롬프트에 대해 SmolVLM은 약 1.2k 토큰을 사용하는 반면, Qwen2-VL은 16k 토큰을 사용합니다. 이러한 효율성은 다음과 같은 결과로 이어집니다:

  • RAM 감소: transformers의 기존 VLM 제품군 중 가장 낮은 메모리 사용량을 기록합니다.
  • 높은 처리량: Prefill 처리량은 3.34.5배 빠르며, 생성 처리량은 Qwen2-VL보다 7.516배 빠릅니다.

비디오 분석

SmolVLM은 최대 50개의 균등하게 샘플링된 프레임을 추출하여 기본적인 비디오 분석에 사용할 수 있습니다. CinePile 벤치마크 테스트에서 27.14%의 점수를 기록하여 InternVL2 (2B)와 Video LlaVa (7B) 사이의 성능을 보여주었습니다.

학습 및 미세 조정

컨텍스트 확장

여러 이미지와 긴 시퀀스를 지원하기 위해 SmolLM2의 사전 학습 컨텍스트 윈도우를 16k 토큰으로 확장했습니다. 이는 RoPE base 값을 10k에서 273k로 늘리고, 긴 컨텍스트(Dolma의 도서 및 The Stack의 코드)와 짧은 컨텍스트(FineWeb-Edu, DCLM 및 수학 데이터셋) 데이터의 혼합으로 미세 조정함으로써 달성되었습니다.

체크포인트 선택

최적의 체크포인트는 MMMU, MMStar, DocVQA, TextVQA, MathVista 및 AI2D에 대한 가중치 메트릭을 사용하여 선택되었습니다. 팀은 일반적으로 학습이 진행될수록 일반적인 성능은 향상되지만, DocVQA에 대한 성능은 시간이 지남에 따라 감소하는 경향이 있다고 언급했습니다.

커스터마이징

SmolVLM은 transformers 및 TRL 라이브러리를 사용하여 미세 조정할 수 있습니다. 제공된 노트북은 LoRA 또는 QLoRA를 사용하여 VQAv2 데이터셋에서 미세 조정하는 방법을 보여줍니다. 8-bit 로딩과 gradient checkpointing을 사용하면 소비자용 GPU(예: L4)에서 약 16 GB의 VRAM을 사용하여 모델을 미세 조정할 수 있습니다.

Sources