Molmo & PixMo 연구 소개
최근 비전-언어 모델(Vision-Language Models, VLM) 의 발전은 이미지 설명을 생성하거나 복잡한 시각적 질문에 답변하는 데 있어서 큰 성과를 거두었습니다. 그러나 GPT-4V, Claude 3.5와 같은 최첨단 모델들은 여전히 독점적이며, 모델 가중치, 데이터, 코드가 공개되지 않아 학계가 이 모델들을 재현하거나 개선하는 데 어려움이 있습니다. 일부 공개된 모델이 있기는 하지만, 이들조차 LLaVA와 같이 대부분 독점 시스템에서 생성된 합성 데이터에 의존하고 있어 완전히 독립적으로 개발된 모델이 아니며, 결국 독점적인 시스템의 '증류(distillation)' 모델로 작동하는 경우가 많습니다. 이로 인해, 고성능 모델을 독립적으로 개발하는 데 필요한 핵심적인 지식이 부족한 상황입니다.
이 문제를 해결하기 위해, Molmo라는 새로운 멀티모달 모델 패밀리는 독점 모델의 합성 데이터를 사용하지 않고도 가중치와 학습 데이터가 모두 공개된 모델을 제공합니다. Molmo의 주요 기여는 인간 주석자들이 음성을 통해 수집한 매우 상세한 이미지 캡션 데이터셋을 구축한 점입니다. 이는 기존의 모델들이 주로 생성한 데이터와 달리, 전적으로 인간이 제공한 설명을 기반으로 하는 새로운 접근입니다. Molmo는 재현 가능성과 오픈 연구를 촉진하기 위해, 해당 모델의 가중치와 데이터셋을 모두 공개할 예정입니다.
추가적으로, Molmo는 단순한 이미지 설명 생성에 그치지 않고, 실제 환경에서의 질문과 답변, 2D 포인팅 데이터와 같은 다양한 상호작용을 포함하여 객체 수 계산, 시각적 설명 및 공간적 추론을 처리할 수 있는 다재다능한 모델입니다. Molmo 패밀리 중에서도 가장 강력한 모델인 Molmo-72B는 독점 시스템인 GPT-4V, Claude 3.5, Gemini 1.5와 비교해도 성능에서 뒤지지 않으며, 학계 벤치마크뿐만 아니라 인간 평가에서도 뛰어난 성과를 보였습니다.
아키텍처
Molmo의 아키텍처는 언어 모델(LLM) 과 비전 인코더(vision encoder) 를 결합한 간단하면서도 강력한 디자인을 채택하고 있습니다. Molmo 아키텍처는 네 가지 주요 구성 요소로 이루어져 있습니다. 첫 번째로 전처리기는 입력 이미지를 다중 크롭(multi-crop) 및 다중 스케일(multiscale) 의 형식으로 변환합니다. 이를 통해 다양한 이미지 부분과 크기가 토큰화 과정에서 고려될 수 있습니다. 두 번째로 비전 트랜스포머(Vision Transformer, ViT) 인코더는 이러한 처리된 이미지를 비전 토큰으로 변환하여 언어 모델의 입력으로 사용할 준비를 합니다. 세 번째로 커넥터(connector) 는 이 비전 토큰을 다층 퍼셉트론(MLP)을 사용해 언어 모델의 입력 차원으로 투영하고, 토큰 수를 줄여 모델의 복잡성을 줄입니다. 마지막으로 디코더 전용 트랜스포머(Transformer) 언어 모델이 이러한 비전 토큰을 처리하여 일관된 출력을 생성합니다. 이는 이미지 캡션을 생성하거나 시각적 질문에 대한 답변을 제공합니다.
Molmo 아키텍처의 중요한 특징 중 하나는 비전 인코더와 언어 모델을 유연하게 선택할 수 있다는 점입니다. 공개된 Molmo 모델은 OpenAI의 ViT-L/14 336px CLIP 모델을 비전 인코더로 사용합니다. 이 모델은 고해상도 이미지 처리에 적합하지만, 학습 데이터가 비공개입니다. Molmo는 이를 대체할 수 있는 완전 공개형 MetaCLIP 기반 모델도 제공할 계획입니다. 언어 모델의 경우, OLMo-7B-1024나 Qwen2 72B 같은 다양한 크기와 복잡도의 LLM을 선택할 수 있습니다. 각 모델은 학습 속도와 최적화 전략이 약간 다르게 조정되어 다양한 응용 프로그램에서 최상의 성능을 발휘할 수 있도록 설계되었습니다.
Molmo의 아키텍처는 매우 간단한 구조이지만, 성능을 희생하지 않으면서도 오픈성을 지킵니다. 다른 공개 모델들과 달리, Molmo는 학습 중에 모델의 일부를 동결(freeze)하거나 약하게 결합된(image-text pair) 대규모 이미지-텍스트 데이터를 사용하는 대신, 고품질의 상세한 데이터셋을 사용합니다. 이를 통해 Molmo 모델은 훨씬 더 적은 데이터로도 높은 성능을 달성할 수 있습니다. Molmo의 설계 선택은 고품질 데이터와 잘 조정된 학습 파이프라인이 최첨단 결과를 달성하는 데 얼마나 중요한지를 잘 보여줍니다.
데이터 및 학습
Molmo 모델의 학습 과정은 두 가지 주요 단계로 나뉩니다: 멀티모달 사전 학습과 지도 학습입니다. 첫 번째 단계에서는 비전 인코더와 언어 모델을 커넥터를 통해 연결하고, 새로 수집한 PixMo-Cap 데이터셋을 사용해 캡션 생성을 위한 학습을 진행합니다. 이 데이터셋은 기존의 텍스트 기반 설명 수집 방식과 달리, 사람이 직접 음성으로 설명한 이미지 캡션으로 구성되어 있습니다. 이러한 음성 기반 접근 방식 덕분에, 간단한 시각적 객체뿐만 아니라 공간적 관계나 배경 요소와 같은 세부사항까지 포함한 풍부하고 상세한 설명이 수집됩니다. 이 과정에서 수집된 음성은 언어 전용 LLM을 통해 텍스트로 변환되고, 불필요한 표현을 정제해 일관성을 유지합니다.
이러한 캡션 데이터셋(PixMo-Cap)의 구축을 위해 웹에서 가져온 이미지들을 바탕으로 3명의 주석가에게 최소 60초부터 90초까지 이미지를 설명하도록 요청하였습니다. 주석 작성자에게 제공된 질문 목록은 다음과 같습니다:
- 언뜻 보기에 어떤 이미지인가요? / What is the image at first glance?
- 개체와 개체 수는 무엇인가요? / What are the objects and their counts?
- 텍스트는 무엇을 말하나요? / What does the text say?
- 사물의 위치는 어떻게 되나요? / What are the positions of the objects?
- 어떤 미묘한 디테일이 눈에 띄나요? / What subtle details are noticeable?
- 배경에는 무엇이 있나요? / What is in the background?
- 스타일과 색상은 무엇인가요? / What is the style and color?
첫 번째 단계가 완료된 후, Molmo 모델은 지도 학습(Supervised Fine-tuning) 을 통해 다양한 데이터셋에서 추가적인 미세 조정 과정을 거칩니다. 이 과정에서 사용되는 데이터셋에는 표준 학술 데이터셋뿐만 아니라 Molmo 전용으로 설계된 여러 새로운 데이터셋이 포함됩니다. 예를 들어, PixMo-AskModelAnything 데이터셋은 실제 사용자가 모델에 질문할 수 있는 다양한 이미지-질문-답변 삼중 항목을 제공합니다. 이 데이터는 Molmo가 실제 환경에서 다양한 질문에 답할 수 있도록 돕습니다. 또 다른 독창적인 데이터셋인 PixMo-Points는 텍스트 기반 요청에 대해 모델이 이미지 내 특정 지점을 가리키는 기능을 학습시킵니다. 이를 통해 Molmo 모델은 객체를 일일이 가리켜 계산하거나 시각적 설명을 제공하는 등 더욱 자연스러운 상호작용을 가능하게 합니다. 이외에도 PixMo-Docs는 문서 기반 질문 답변을 처리하기 위해 도표나 차트, 복잡한 도형을 이해하는 능력을 학습시킵니다.
Molmo의 데이터 설계와 학습 파이프라인의 핵심은 복잡하지 않으면서도 강력한 성능을 발휘할 수 있다는 점입니다. 다른 모델들처럼 여러 단계의 사전 학습을 거치지 않고, 고품질의 작은 데이터셋을 통해 성능을 극대화하는 방식으로 학습이 이루어집니다. 이 접근법 덕분에 Molmo는 방대한 데이터에 의존하지 않고도 더 나은 성능을 낼 수 있습니다. 이 방법은 단순히 학술적 성과를 넘어, 실제 세계 응용 프로그램에서 다양하게 활용될 수 있도록 Molmo 모델을 더욱 유연하게 만듭니다.
평가
Molmo 패밀리 모델들은 학술적 벤치마크와 인간 선호도 평가 모두에서 성능 평가를 받았습니다. 학술적 벤치마크에서는 **비주얼 질문 응답(Visual Question Answering, VQA)**부터 복잡한 이미지에서 객체를 세는 작업까지 다양한 과제를 다루는 11개의 데이터셋에서 모델을 테스트했습니다. 예를 들어, Molmo 모델은 VQA v2와 TextVQA 데이터셋을 사용해 이미지 기반 질문에 답하는 능력을 평가받았습니다. 또한 Flickr Count라는 새로운 데이터셋을 사용해, 자연스러운 이미지에서 더 복잡한 객체 계산 작업을 테스트했습니다. 이 평가에서 Molmo 모델들은 꾸준히 우수한 성과를 보였으며, 일부 독점 모델들보다도 뛰어난 결과를 기록했습니다.
Molmo는 학술적 벤치마크와 함께, 인간 선호도 평가를 통해 실제 사용자들이 모델의 출력을 어떻게 평가하는지도 조사했습니다. 이 평가는 15,000개의 이미지-텍스트-응답 쌍을 수집하고, 인간 평가자들에게 다른 모델들의 출력을 비교하여 선호도를 평가하도록 했습니다. 총 32만 5천 개 이상의 평가 쌍을 통해 Elo 점수를 계산했으며, 이 방식은 LMSYS Chatbot Arena에서 사용된 방법론과 비슷하지만, 투표 수가 3배 더 많았습니다. 이 평가에서도 Molmo-72B는 매우 뛰어난 성과를 보였으며, GPT-4o 바로 뒤에 이어 2위를 기록했습니다. 특히, Molmo-72B는 Gemini 1.5와 Claude 3.5와 같은 독점 모델들을 능가하는 결과를 보여주었습니다.
Molmo의 평가는 단순히 벤치마크 수치를 넘어서, 실제 응용 프로그램에서 얼마나 효과적으로 객체를 가리키거나(2D 포인팅), 시각적 설명을 제공하는지를 강조했습니다. 예를 들어, AndroidControl 벤치마크에서 Molmo-72B는 저수준 작업에서 **88.7%**의 정확도를 기록했으며, 고수준 작업에서도 **69.0%**의 정확도를 기록하여 매우 우수한 성능을 보여주었습니다. 이러한 결과는 Molmo가 연구 도구로서뿐만 아니라, 고도의 시각적 추론과 멀티모달 상호작용이 필요한 실제 응용 프로그램에서도 강력한 시스템임을 입증합니다.
공개 계획
Molmo 프로젝트는 오픈 연구를 촉진하기 위해, 그에 맞춘 공개 계획을 수립했습니다. 첫 번째 공개는 2024년 9월 25일에 이루어질 예정이며, 이는 Molmo 모델의 여러 버전에 대한 데모, 추론 코드, 모델 가중치를 포함합니다. 첫 번째 공개에는 다음 모델들이 포함될 예정입니다:
- MolmoE-1B: 완전히 공개된 OLMoE-1B-7B mixture-of-experts LLM을 사용.
- Molmo-7B-O: 완전히 공개된 OLMo-7B-1024 LLM을 기반으로 함.
- Molmo-7B-D: 데모 모델로, Qwen2 7B LLM을 사용.
- Molmo-72B: 공개된 가중치 기반 Qwen2 72B LLM을 사용한 최고의 성능을 자랑하는 모델.
이 공개는 학습 및 평가 코드, 추가 데이터셋, 그리고 Molmo의 아키텍처와 학습 파이프라인에 대한 상세한 기술 보고서와 함께 추가 자료들이 제공될 예정입니다. 이로써 연구자들은 Molmo의 결과를 재현하고 이를 기반으로 새로운 연구를 수행할 수 있게 됩니다. Molmo의 장기적인 목표는 단순히 모델을 제공하는 것에서 나아가, 새로운 VLM을 학습 및 평가하는 데 필요한 도구를 연구 커뮤니티에 제공하는 것입니다.
Molmo 프로젝트 소개
https://molmo.allenai.org/blog
Molmo & PixMo 기술 문서
Molmo 모델 다운로드
Molmo Dataset 신청 양식
Molmo 사용해보기 (Web Demo)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~