DL/LLM

Molmo 논문 리뷰 - Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Multimodal Models

moonzoo 2024. 9. 27. 14:11

0. 서론

LLM은 텍스트 뿐만 아니라 이미지에 대한 설명을 생성하고, 복잡한 시각적 질문에 정확하게 답하는 것과 같은 인상적인 멀티 모달 기능을 제공하고 있습니다. 그러나, 이러한 시각 언어 모델(VLM) 중 가장 성능이 좋은 모델은 모델 Weight, data, source code가 공개되지 않은채 독점 상태로 남아 있습니다.

 

그러나, VLM을 처음부터 구축하는 것은 매우 어려운 일이기 때문에 저자는 LLM에 대한 학문적 탐구를 촉진하기 위해 성능이 뛰어난 공개 멀티모달 모델을 개발하고 배포하고자 하였습니다.

 

이에 독자적으로 개발된 비전 인코더와 언어 모델을 결합해 훈련된 오픈 모델 Molmo를 공개했습니다.  Molmo는 다른 VLM들이 사용한 합성 데이터나 폐쇄적인 데이터에 의존하지 않고, 이미지 캡션 데이터. 사람들이 이미지를 설명할 때 글이 아닌 음성으로 설명을 제공하는 방식으로 데이터를 수집한다는 점입니다. 음성으로 설명하는 방법은 글로 설명하는 것보다 이미지의 공간적 위치와 관계를 설명하는 데 더 효과적이며, 짧은 시간안에 더 많은 세부 정보를 담을 수 있다는 장점이 있습니다.

 

Molmo는 학습 후, 다양한 사용 사례에 맞춰 데이터 혼합물을 사용한 지도 학습으로 미세 조정됩니다. 이 학습 데이터에는 표준 학술 데이터셋 외에도 사용자들이 실제로 묻는 질문, 문서 기반 질문, 아날로그 시계 읽기, 이미지에서 특정 지점을 가리키는 데이터가 포함됩니다. 특히, 이러한 '지점을 가리키는' 데이터는 모델이 더 자연스럽게 질문에 답할 수 있도록 도와주며, 물체를 가리키거나, 사용자 인터페이스 버튼을 누르는 등, 로봇이나 웹 에이전트와 같은 에이전트가 환경에서 행동을 취하도록 하는 미래 연구 방향을 제시하고 있습니다.

 

특정 지점을 가리키는 데이터(출처 : 논문)

 

Molmo 모델은 11개의 학술 벤치마크에서 평가되었으며, 사용자 선호도 평가에서도 높은 점수를 받았습니다. 가장 효율적인 모델인 MolmoE-1B는 GPT-4V와 거의 동일한 성능을 보여주었으며, 상위 모델인 Molmo-72B는 GPT-4o 바로 뒤에서 최고 성능을 기록하고 있습니다.


 

1. 모델 아키텍처

Molmo 모델 아키텍처(출처 : 논문)

Molmo는 비전 인코더와 언어 모델을 결합하여 이미지를 설명하는 모델입니다.

 

이 아키텍처는 다음 네 가지 주요 구성 요소로 이루어져 있습니다:

  1. 전처리기: 입력 이미지를 여러 해상도와 크기로 잘라서 다양한 이미지를 생성합니다.
  2. ViT(비전 트랜스포머) 이미지 인코더: 이 인코더는 각각의 이미지를 독립적으로 처리하여 '비전 토큰'이라는 형식으로 변환합니다.
  3. 커넥터(Connector): 비전 토큰을 언어 모델의 입력 차원에 맞게 MLP(다층 퍼셉트론)로 변환한 후, 토큰의 개수를 줄이기 위해 풀링 작업을 수행합니다.
  4. 디코더 기반 트랜스포머 LLM(언어 모델): 최종적으로 비전 토큰을 처리해 캡션 생성이나 질문에 대한 응답을 수행합니다.

이 기본 구조를 바탕으로, 비전 인코더와 언어 모델의 선택에 따라 다양한 Molmo 모델들이 구성됩니다. 비전 인코더로는 OpenAI의 ViT-L/14 336px CLIP 모델을 사용하며, 이 모델은 고해상도 이미지를 처리하는 데 강점을 가지고 있습니다. 언어 모델로는 다양한 선택지가 제공되는데, 공개된 모델로는 OLMo-7B-1024OLMoE-1B-7B (효율적인 모델), Qwen2 7BQwen2 72B가 있습니다.


 

2. 데이터 학습 방법

사전 학습된 비전 인코더와 LLM에서 시작하여, 학습 방법은 두 가지 단계로 구성됩니다.

 

(1) 캡션 생성을 위한 멀티모달 사전 학습 (PixMo-Cap이라는 새로 수집된 캡션 데이터를 사용)

 

이 단계에서는 비전 인코더와 LLM을 랜덤으로 초기화된 커넥터와 결합하여 캡션 생성 작업에 대해 모든 모델 파라미터를 훈련합니다.

 

PixMo-Cap 학습 데이터는 다음과 같은 방법으로 수집되었습니다.


약 70개의 다양한 주제(예: 거리 표지판, 밈, 음식, 그림, 웹사이트, 흐린 사진 등)에 따른 웹 이미지를 수집하고, 각 이미지에 대해 세 명의 주석자가 최소 60초 동안 이미지를 설명하게 했습니다(나중에는 90초로 늘리고 한 명의 주석자만 사용하여 효율성을 높였습니다).

 

주석자는 다음과 같은 질문 목록을 기반으로 설명을 작성했습니다:

  • 이미지의 첫인상은?
  • 이미지 내 물체와 그 수는?
  • 텍스트에는 뭐라고 쓰여있는지?
  • 물체의 위치는 어디인가?
  • 미묘한 디테일이 눈에 띄는게 있는가?
  • 배경에는 무엇이 있는가?
  • 스타일과 색상은 무엇인가?

이후, 주석자의 음성은 STT 시스템을 사용해 텍스트로 변환하였으며, 변환된 텍스트는 LLM을 통해 품질을 개선했습니다. (예 : 말투를 정리하거나 스타일을 통일하는 등) 또한, 3개의 원본 대본을 요약하여 하나의 설명을 생성하도록 LLM에 요청해 원본을 포함해 총 4개의 이미지 설명을 만들었습니다. (데이터 증강의 형태)

 

이를 통해 Molmo는 총 71만 2천 개의 이미지에서 약 130만 개의 캡션으로 훈련했습니다(증강 데이터 포함).

 

(2) 학술 데이터셋과 새로 수집된 PixMo 데이터셋의 혼합을 사용한 지도 학습 미세 조정.

 

캡션 생성 훈련 후 모든 모델 파라미터는 지도 학습 데이터의 혼합을 사용해 미세 조정되었습니다. 이 데이터에는 일반적인 학술 데이터셋과 여러 새로 수집된 PixMo 데이터셋이 포함됩니다.

  • PixMo-AskModelAnything: 이 데이터는 모델이 실전에서 사용자가 물어볼 다양한 질문에 답할 수 있도록 하기 위해 수집되었습니다. 언어 전용 LLM을 사용해 이미지-질문-답변 삼중 데이터를 생성했습니다. 이 데이터셋에는 16만 2천 개의 질문-답변 쌍과 7만 3천 개의 이미지가 포함되어 있습니다.
  • PixMo-Points: 모델이 텍스트로 설명된 항목을 가리키고, 카운팅을 하며, 시각적 설명을 제공하는 데 도움을 주기 위해 포인팅 데이터를 수집했습니다. 총 428,000개의 이미지에서 230만 개의 질문-포인트 쌍이 수집되었습니다.
  • PixMo-CapQA: 165,000개의 이미지에서 추가로 21만 4천 개의 질문-답변 쌍을 생성했습니다.
  • PixMo-Docs: 코드가 포함된 255,000개의 텍스트와 도표가 많은 이미지를 기반으로 230만 개의 질문-답변 쌍을 생성했습니다.
  • PixMo-Clocks: 아날로그 시계에 대한 질문과 답변을 포함하는 데이터셋으로 50개 이상의 시계와 16만 개의 시계 디자인에서 총 82만 6천 개의 예시를 수집했습니다.
  • 학술 데이터셋: VQA v2, TextVQA, OK-VQA, ChartQA, DocVQA, InfographicVQA 등 다양한 학술 데이터셋을 사용했습니다.

3. 평가

비전-언어 모델 평가가 빠르게 진화하고 있으며, 새로운 학술 벤치마크들이 지속적으로 등장하고 있습니다. 이러한 학술 벤치마크는 특정 기술을 평가하는 데 유용하지만, 대화형 환경에서는 적합하지 않아 부분적인 평가만 제공합니다.

이를 보완하기 위해 15,000개의 이미지와 텍스트 프롬프트를 사용해 870명의 인간 주석자와 함께 325,000번의 비교를 수행해 Elo 순위를 매겼습니다. 이 과정에서 Qwen2 72B 모델이 최고의 학술 성능을 기록했으며, MolmoE-1B 모델이 효율적인 성능을 보였습니다.

 

주요 결과는 다음과 같습니다.

  • MolmoE-1B OLMoE-1B-7B 모델을 기반으로 하며, GPT-4V와 유사한 성능을 보여주었습니다.
  • Qwen2 7B OLMo-7B-1024 모델은 GPT-4V와 GPT-4o 사이에서 안정적인 성능을 보였습니다.
  • Qwen2 72B 기반의 모델은 학술 벤치마크에서 최고 점수를 기록하고, Elo 순위에서 GPT-4o 바로 뒤에 위치했습니다.
  • 논문 최고의 모델은 Gemini 1.5 Pro, Flash, Claude 3.5 Sonnet 같은 최신 독점 시스템보다 뛰어난 성능을 보였습니다.

 


4. 결론

2024년 9월 25일에 첫 번째 릴리스가 됐으며, 데모, 추론 코드, 그리고 다음 모델 가중치를 공개했습니다.

  • MolmoE-1B (OLMoE-1B-7B 기반)
  • Molmo-7B-O (OLMo-7B-1024 기반, 2024년 10월 공개 예정)
  • Molmo-7B-D (Qwen2 7B 기반 데모 모델)
  • Molmo-72B (최고 성능 모델, Qwen2 72B 기반)

곧 추가로 더 자세한 기술 보고서, 모든 PixMo 데이터셋, 업데이트된 모델 가중치, 훈련 및 평가 코드를 공개할 예정이라고 합니다. 


마치며...

Molmo 모델은 특별한 아키텍처를 사용해 자체 개발을 진행한 것은 아닙니다. 사전 학습된 Qwen, OLMo 모델에 파인튜닝을 진행한 것 입니다. 여기까지만 보면 흔히 볼 수 있는 데이터셋 파인튜닝과 비슷하다고 생각이 듭니다.

 

그러나, 이 논문의 핵심은 기존 VLM 학습에 사용한 데이터와 달리, 사람이 직접 음성으로 이미지를 설명한 고품질 데이터로 학습을 진행한 것입니다. 이를 통해 기존 VLM 모델들에 비해 1000배 적은 훈련 데이터를 사용하였음에도 독점 모델보다 유사 또는 이상의 성능을 보여주고 있습니다. 

 

새로운 아키텍처 또는 데이터 처리 기법을 기대했으나 데이터 학습 방법에 대한 논문이였습니다.

하지만 다시 한번 양도 중요하지만 질이 중요하다는 사실을 인지했으며, 음성 데이터 수집 프로세스에 대한 아이디어도 얻을 수 있었습니다. 

 

(RAG를 통해 Molmo 모델과 여러 모델들의 성능 비교를 하려 했는데, Molmo의 Qwen에 Vision 데이터를 파인튜닝을 진행한 거시라 RAG 성능은 Qwen과 유사할 것이라 생각해 진행하지 않았습니다.)

 

만약 VLM에 관심이 있으시고 성능을 테스트해보고 싶으신 분들은 아래의 데모 사이트를 이용해 보시거나, 소스 코드를 통해 직접 인퍼런스를 해보시면 좋을 듯 합니다. (추후 시간 여유가 있으면 진행해보겠습니다.)

 

 

데모사이트 Link

https://molmo.allenai.org/

 

Molmo 소스 코드 Link

https://huggingface.co/allenai/Molmo-7B-D-0924

 

 

'DL > LLM' 카테고리의 다른 글

Allen Institute - Molmo 오픈소스 멀티모달  (3) 2024.09.27