
Molmo & PixMo 완전 해부: GPT-4o에 도전한 '진짜 오픈소스' 비전-언어 모델의 모든 것
대부분의 오픈소스 비전-언어 모델은 GPT-4V가 생성한 합성 데이터로 훈련된다 — 결국 비공개 AI에 종속되는 셈이다. Allen AI의 Molmo는 사람이 직접 '말로 설명한' 71만 장의 이미지 데이터로 GPT-4o 바로 아래까지 올라갔다. 포인팅, 카운팅, 시계 읽기까지 — 진짜 오픈소스 VLM의 설계 원리를 풀어본다.

대부분의 오픈소스 비전-언어 모델은 GPT-4V가 생성한 합성 데이터로 훈련된다 — 결국 비공개 AI에 종속되는 셈이다. Allen AI의 Molmo는 사람이 직접 '말로 설명한' 71만 장의 이미지 데이터로 GPT-4o 바로 아래까지 올라갔다. 포인팅, 카운팅, 시계 읽기까지 — 진짜 오픈소스 VLM의 설계 원리를 풀어본다.
2024년 AI 업계에서 "오픈소스 멀티모달 모델"이라고 부르는 것들 대부분에는 감춰진 비밀이 있었다.
LLaVA는 GPT-4V가 이미지를 보고 생성한 캡션(ShareGPT4V)으로 훈련되었다. InternVL도 비슷한 합성 데이터를 활용했다. 가중치는 공개되었지만, 학습 데이터의 원천은 비공개 모델의 출력물이었다. 이것은 마치 시험 답안지를 베껴 쓰고 나서 "자기 실력으로 만점을 받았다"고 주장하는 것과 같다.
왜 이것이 문제일까? 두 가지 이유다:
2024년 9월, 시애틀의 Allen Institute for AI(AI2)가 이 문제에 정면으로 도전했다. 50명이 넘는 연구진이 참여한 대규모 프로젝트 — Molmo와 PixMo.
Molmo는 비전-언어 모델 가족이고, PixMo는 그 모델을 훈련시키기 위해 비공개 VLM의 도움 없이 수집한 데이터셋이다. 결과? 72B 모델이 Claude 3.5 Sonnet과 Gemini 1.5 Pro를 넘어서고, GPT-4o 바로 아래 2위를 차지했다.
이 글에서는 Molmo가 어떻게 "진짜 오픈소스"로 이런 성과를 달성했는지, 그리고 이 과정에서 발견된 통찰들이 왜 AI 커뮤니티 전체에 중요한지를 풀어본다.
LLM(Large Language Model)의 발전은 경이로웠지만, 텍스트라는 한계가 있었다. 아무리 똑똑해도 사진을 보여주면 아무것도 이해하지 못했다.
이 문제를 해결하기 위해 등장한 것이 VLM(Vision-Language Model) — 이미지와 텍스트를 함께 이해하는 AI다.
CLIP(2021): OpenAI가 이미지와 텍스트를 같은 공간에 매핑하는 모델을 만들었다. "강아지 사진"과 "a photo of a dog"이 비슷한 벡터를 갖도록 학습. 이것이 이후 모든 VLM의 "눈"(비전 인코더)이 된다.
LLaVA(2023): CLIP의 비전 인코더를 LLM에 연결해서, 이미지를 "보고" 자연어로 대답하는 구조를 만들었다. 오픈소스 VLM의 시대를 열었지만, 훈련 데이터는 GPT-4가 생성한 것이었다.
GPT-4V/4o(2023~2024): OpenAI가 이미지 이해를 내장한 상용 모델을 출시. 성능은 압도적이었지만 비공개.
2024년까지 오픈소스 VLM 생태계는 아이러니한 상황에 놓여 있었다:
| 모델 | 가중치 | 코드 | 학습 데이터 | 진짜 오픈? |
|---|---|---|---|---|
| GPT-4o | 비공개 | 비공개 | 비공개 | 전혀 아님 |
| Qwen2-VL | 공개 | 비공개 | 비공개 | 반만 |
| LLaVA OneVision | 공개 | 공개 | GPT-4V 증류 | 종속적 |
| InternVL2 | 공개 | 공개 | GPT-4V 증류 | 종속적 |
| Molmo | 공개 | 공개 | 자체 수집 | 완전 오픈 |
"가중치만 공개"하는 것과 "모든 것을 공개"하는 것 사이에는 근본적인 차이가 있다. Molmo 팀은 이 차이를 메우기 위해 완전히 새로운 데이터 수집 방법론을 개발해야 했다.
PixMo 데이터셋의 가장 혁신적인 부분은 PixMo-Cap — 71만 2천 장의 이미지에 대한 고밀도 캡션이다.
기존에 이미지 캡션을 수집하는 방법은 두 가지였다:
Molmo 팀은 제3의 방법을 발명했다: 사람이 이미지를 보면서 60~90초 동안 말로 설명하게 하는 것.
왜 타이핑 대신 음성인가?
타이핑은 너무 느리다. 사람에게 이미지를 타이핑으로 설명하라고 하면, 귀찮아서 "강아지가 공원에 있다" 정도로 끝낸다. 하지만 말로 설명하라고 하면, 60초 동안 자연스럽게 세부사항을 쏟아낸다: "갈색 리트리버 한 마리가 푸른 잔디밭 위에 서 있는데, 오른쪽에 빨간 공이 있고, 배경에 나무가 세 그루 있어요. 날씨가 맑은 것 같고, 강아지 표정이 행복해 보여요..."
결과적으로 PixMo-Cap의 평균 캡션 길이는 196단어 — COCO(11단어)의 18배, Localized Narratives(37단어)의 5배다.
또 하나의 장점: 오디오 녹음이 증거가 된다. GPT-4V 같은 비공개 모델을 몰래 사용했을 가능성을 원천 배제할 수 있다. "이 데이터는 정말로 사람이 직접 만들었다"는 것을 오디오로 증명하는 것이다.
PixMo-Cap 외에도 다양한 데이터셋이 수집되었다:
71.2만 이미지, 130만 전사본
음성 기반 고밀도 캡션 (평균 196단어)7.3만 이미지, 16.2만 QA 쌍
사람이 질문 → LLM이 캡션 기반 답변 → 사람이 검수22.3만 이미지, 230만 포인팅 쌍
물체를 손가락으로 "찍는" 좌표 어노테이션25.5만 이미지, 230만 QA 쌍
차트, 표, 다이어그램 문서 이해16.5만 이미지, 21.4만 QA 쌍
캡션에서 자동 생성한 다양한 질문-답변~16만 시계 이미지, 82.6만 예시
합성 시계 렌더링 + 시간 읽기 QA특히 주목할 것은 PixMo-Points다. 기존 VLM은 물체의 위치를 바운딩 박스(사각형)로 표현했다. 하지만 Molmo는 2D 점(point) — 즉, 물체 위의 한 점 좌표를 사용한다. 바운딩 박스보다 어노테이션이 훨씬 빠르기 때문에 230만 개라는 대규모 수집이 가능했다.
이미지에 대한 질문-답변 쌍을 만들되, 이미지를 보는 AI를 쓰지 않는 것. 이 모순을 어떻게 해결했을까?
핵심: LLM은 이미지를 보지 않는다. 사람이 작성한 캡션(텍스트)만 보고 답변을 생성한다. 그리고 사람이 그 답변이 이미지와 일치하는지 확인하고, 틀리면 수정을 요청한다. 이 과정을 만족할 때까지 반복한다.
결과적으로 비전-언어 모델을 사용하지 않으면서도 고품질 QA 데이터 16.2만 쌍을 확보했다.
Molmo의 아키텍처 자체는 혁명적으로 새로운 것이 아니다. 오히려 "검증된 구조를 제대로 잘 쓰는 것"에 집중했다.
ViT(Vision Transformer)가 이미지를 패치 단위로 분석해 시각 특징 벡터 추출
OpenAI CLIP ViT-L/14 336px시각 특징을 LLM이 이해할 수 있는 토큰 형태로 변환
어텐션 풀링 + MLP 프로젝션시각 토큰 + 텍스트 토큰을 받아 답변 생성
OLMo 7B / Qwen2 7B / Qwen2 72BViT는 고정 해상도(336×336)로 이미지를 처리한다. 하지만 문서의 작은 글씨나 사진의 세밀한 디테일을 이해하려면 훨씬 높은 해상도가 필요하다.
Molmo의 해법: 멀티크롭(Multi-crop)
여기서 Molmo의 독창적 기여는 겹침(overlap) 전략이다. 각 크롭의 경계에 4패치(56픽셀)의 겹침 여백을 둬서, 인접한 크롭의 컨텍스트를 볼 수 있게 한다. 겹친 부분은 LLM에는 전달하지 않아 토큰 낭비가 없다.
이 작은 개선이 Cap F1에서 1.2점 이상 향상을 가져왔다. 이미지를 자를 때 경계선에 걸린 물체가 잘려나가는 문제를 해결하기 때문이다.
Molmo 팀은 네 가지 비전 인코더를 실험했다:
| 인코더 | 가중치 | 학습 데이터 | Cap F1 | 11-벤치 평균 |
|---|---|---|---|---|
| OpenAI CLIP | 공개 | 비공개 | 54.1 | 76.9 |
| SigLIP | 공개 | 비공개 | 54.4 | 77.1 |
| MetaCLIP | 공개 | 공개 | 54.1 | 77.2 |
| DINOv2 | 공개 | 공개 | 53.2 | 75.6 |
놀라운 발견: MetaCLIP(완전 오픈)의 성능이 OpenAI CLIP과 동일하다. 이것은 "진짜 100% 오픈소스" Molmo를 만들 수 있다는 의미다 — 비전 인코더, LLM(OLMo), 학습 데이터(PixMo) 모두가 공개된 버전.
Molmo의 사전학습에서 발견된 흥미로운 트릭이 있다: 텍스트 토큰에만 드롭아웃을 적용하는 것.
보통 드롭아웃은 모든 레이어에 균일하게 적용한다. 하지만 Molmo는 이미지 인코더와 커넥터에는 드롭아웃을 적용하지 않고, 텍스트 토큰에만 적용한다. 왜?
텍스트에 드롭아웃을 걸면, 모델이 텍스트 정보에만 의존하기 어려워진다. 결과적으로 이미지 인코딩에 더 강하게 의존하게 된다. "눈을 더 열심히 쓰게 만드는" 효과다.
이 단순한 트릭이 Cap F1에서 1점, 벤치마크 평균에서 2.3점 향상을 가져왔다.
기존 VLM은 "이 이미지에 강아지가 어디 있어?"라고 물으면 바운딩 박스(좌상단-우하단 좌표)를 출력했다. 하지만 Molmo는 점(point) — 물체 위의 한 점 좌표를 출력한다.
포인팅이 바운딩 박스보다 나은 이유:
모델이 좌표를 출력하는 방식에는 두 가지 선택지가 있다:
<x=10><y=20>)<point x="10.0" y="20.0">강아지</point>)Molmo는 일반 텍스트를 선택했다. 그리고 이것이 놀랍도록 효과적이었다:
일반 텍스트가 3.6%p 더 높다. 왜일까? LLM은 이미 텍스트 처리에 최적화되어 있으므로, 좌표를 텍스트로 표현하면 LLM의 기존 능력을 그대로 활용할 수 있다. 새로운 토큰을 학습하는 것보다 효율적이다.
Molmo의 가장 인상적인 능력 중 하나는 카운팅(counting)이다. "이 사진에 사과가 몇 개야?"라고 물으면, 사과를 하나씩 손가락으로 찍으면서 센다.
이것은 연쇄 사고(Chain-of-Thought)의 시각적 버전이다. 모델이 "먼저 하나씩 찍고, 마지막에 센다"는 전략을 사용하면, 그냥 숫자만 대답하는 것보다 정확도가 크게 올라간다.
실험 결과가 이를 극적으로 보여준다:
| 전략 | CountBenchQA | PixMo-Count |
|---|---|---|
| 찍으면서 세기 (point-then-count) | 89.4% | 86.3% |
| 그냥 세기 (count only) | 87.9% | 80.2% |
| 세고 나서 찍기 (count-then-point) | 81.5% | 77.6% |
순서가 중요하다. "먼저 찍고 나서 세기"가 "먼저 세고 나서 찍기"보다 훨씬 정확하다. 이유가 직관적이다: 먼저 하나씩 찍으면 빠뜨리거나 중복 세는 일이 줄어들기 때문이다.
또한 공간적 순서(위에서 아래, 왼쪽에서 오른쪽)로 찍는 것이 무작위 순서보다 훨씬 좋다:
사람도 물건을 셀 때 체계적으로 훑어보지, 무작위로 시선을 돌리지 않는다. AI도 마찬가지였다.
Molmo 논문에서 가장 놀라운 실험 결과 중 하나는 시계 읽기다.
GPT-4o의 시계 읽기 정확도는 2.7%.** 사실상 찍기보다 못하다. Claude 3.5 Sonnet도 6.6%. 반면 Molmo-7B-D는 **77%다. 비밀은 PixMo-Clocks 데이터셋이다. ~50가지 시계 몸체와 ~16만 가지 다양한 시계 문자판을 렌더링해서 82만 6천 개의 시간 읽기 예시를 만든 것이다.
이 사례는 중요한 교훈을 준다: 데이터에 없으면 AI는 할 수 없다. GPT-4o의 훈련 데이터에 시계 읽기 특화 데이터가 부족했기 때문에, 수조 개의 파라미터를 가진 모델도 시계 앞에서 무력해진다. 반면 Molmo는 특화 데이터를 체계적으로 준비해서, 1B 파라미터 모델로도 GPT-4o를 압도한다.
첫 단계에서는 PixMo-Cap만 사용한다. 모델에게 오직 하나의 작업만 시킨다: "이미지를 보고 설명해라."
여기서 Molmo의 중요한 발견이 있다: 기존 논문들이 필수적이라고 한 "커넥터 별도 학습 단계"가 불필요하다. 기존 VLM(LLaVA 등)은 먼저 커넥터만 따로 학습시키고(비전 인코더와 LLM은 동결), 그 다음 전체를 학습하는 2단계 방식을 사용했다. 하지만 PixMo-Cap의 품질이 높기 때문에, 처음부터 모든 컴포넌트를 함께 학습시켜도 문제가 없었다.
비결은 학습률 차등 적용이다:
| 컴포넌트 | 학습률 | 워밍업 |
|---|---|---|
| 커넥터 | 2×10⁻⁴ (높음) | 200 스텝 (짧음) |
| 비전 인코더 | 6×10⁻⁶ (중간) | 2,000 스텝 |
| LLM | 2×10⁻⁵ (낮음) | 2,000 스텝 |
커넥터에 높은 학습률과 짧은 워밍업을 줘서 빠르게 적응하게 하고, LLM은 기존 지식을 최대한 보존하면서 천천히 조정한다.
길이 힌트(length conditioning)도 중요한 트릭이다. 모델에게 "약 50단어로 설명해" 또는 "약 200단어로 설명해"라는 힌트를 90%의 확률로 제공한다. 이렇게 하면 모델이 요청한 길이에 맞춰 설명하는 능력을 갖추게 된다.
두 번째 단계에서는 PixMo 전체 + 학술 벤치마크 데이터를 혼합해서 학습한다.
주목할 점: 포인팅 데이터가 28.8%로 가장 큰 비중을 차지한다. 논문에 따르면 포인팅은 "학습이 느리기 때문에 의도적으로 비중을 높였다"고 한다.
| 모델 | 사전학습 | 파인튜닝 | 총 GPU-시간 |
|---|---|---|---|
| MolmoE-1B | 264 H100-시간 | 850 H100-시간 | 1,114 |
| Molmo-7B-D | 550 H100-시간 | 1,400 H100-시간 | 1,950 |
| Molmo-72B | 4,200 H100-시간 | 8,300 H100-시간 | 12,500 |
MolmoE-1B(1B 파라미터, MoE 구조)는 약 1,100 H100-시간**으로 학습 가능하다. H100 GPU의 클라우드 비용이 시간당 약 3달러라고 하면, **약 3,300달러(~460만 원)로 GPT-4V급 성능의 VLM을 훈련시킬 수 있다는 의미다.
11개 학술 벤치마크의 평균 점수를 보자:
Molmo-72B가 학술 벤치마크에서 전체 1위. GPT-4o, Gemini 1.5 Pro, Claude 3.5 Sonnet을 모두 넘어섰다. 완전 오픈소스 모델이 비공개 모델을 이긴 것이다.
MolmoE-1B(1B 파라미터)도 GPT-4V(71.1)에 거의 근접한 68.6을 기록했다. 1B 파라미터로 이 성능은 놀랍다.
하지만 벤치마크 점수가 "진짜 실력"을 반영하는 것은 아니다. Molmo 팀은 870명의 평가자가 325,000건 이상의 쌍별 비교를 수행한 대규모 인간 평가를 실시했다.
Elo 레이팅 기준:
| 순위 | 모델 | Elo | 범주 |
|---|---|---|---|
| 1 | GPT-4o | 1079 | 비공개 |
| 2 | Molmo-72B | 1077 | 완전 오픈 |
| 3 | Gemini 1.5 Pro | 1074 | 비공개 |
| 4 | Claude 3.5 Sonnet | 1069 | 비공개 |
| 5 | Llama-3.2V-90B | 1063 | 가중치 오픈 |
| 6 | Molmo-7B-D | 1056 | 완전 오픈 |
인간 평가에서도 GPT-4o에 이어 2위. 그리고 3~4위인 Gemini 1.5 Pro, Claude 3.5 Sonnet과 거의 동등하다. 완전 오픈소스 모델이 세계 최고 수준의 상용 모델과 대등한 사용자 경험을 제공한다는 것이 검증된 것이다.
강점:
약점:
약점의 원인은 명확하다: 추론 특화 훈련 데이터가 부족한 것이다. 이는 데이터를 보강하면 해결 가능한 문제이지, 아키텍처의 한계가 아니다.
Molmo 팀은 핵심적인 비교 실험을 수행했다: 같은 이미지에 대해 사람이 말로 설명한 캡션과 GPT-4o가 생성한 캡션으로 각각 모델을 훈련시키면 어떻게 되는가?
| 캡션 소스 | Cap F1 | 11-벤치 평균 |
|---|---|---|
| PixMo-Cap (사람 음성) | 54.1 | 76.9 |
| GPT-4o 캡션 | 52.9 | 77.5 |
놀랍게도 결과가 거의 같다. 사람의 음성 캡션이 GPT-4o 캡션에 비해 Cap F1에서 약간 높고, 벤치마크에서는 약간 낮다. 전반적으로 대등한 수준이다.
이것이 의미하는 바:
파인튜닝에서 PixMo를 빼고 학술 데이터만 사용하면 어떻게 될까?
벤치마크 점수는 72.5로 나쁘지 않지만, 인간 평가에서 Elo 897은 참담한 수준이다. 이것은 핵심적인 교훈을 준다: 벤치마크 점수와 사용자 만족도는 다르다. 학술 벤치마크는 특정 형식의 질문(선택지, 짧은 답)에 맞춰져 있지만, 실제 사용자는 다양하고 개방적인 질문을 한다. PixMo의 자유형 QA와 고밀도 캡션이 이 차이를 메워준다.
2026년 현재, Molmo의 영향은 두 가지 방향에서 감지된다.
첫째, "오픈소스"의 기준이 높아졌다. Molmo 이전에는 가중치만 공개하면 "오픈소스"라고 불렸다. 하지만 Molmo가 가중치, 코드, 학습 데이터를 모두 공개하고도 최고 수준의 성능을 달성한 이후, 커뮤니티에서 "진짜 오픈소스"에 대한 기대치가 올라갔다.
둘째, 음성 기반 데이터 수집 방법론이 다른 모달리티(비디오, 3D, 의료 이미지 등)로 확산되고 있다. "사람에게 마이크를 주고 설명하게 하라"는 단순하지만 강력한 아이디어가 새로운 표준이 되고 있다.
Molmo의 포인팅 능력은 단순히 "이미지에서 물체 위치를 맞히는" 것 이상의 가능성을 갖는다.
2026년의 AI 에이전트 시대를 생각해 보자. GUI를 조작하는 에이전트가 화면을 보고 "어디를 클릭해야 하는지" 판단해야 할 때, 포인팅은 가장 자연스러운 인터페이스다. 실제로 Molmo는 AndroidControl 벤치마크에서 88.7%의 정확도를 보여, 모바일 앱 조작이 가능함을 입증했다.
로봇 공학에서도 마찬가지다. 로봇이 "빨간 컵을 잡아"라는 명령을 받으면, 먼저 카메라로 장면을 보고 빨간 컵의 정확한 좌표를 파악해야 한다. 포인팅은 이 과제를 위한 자연스러운 출력 형식이다.
Molmo 논문의 가장 깊은 교훈은 아마 이것일 것이다:
아키텍처 혁신보다 데이터 품질이 성능을 결정한다.
Molmo의 아키텍처는 LLaVA와 크게 다르지 않다. ViT + 커넥터 + LLM이라는 표준 구조다. 차이를 만든 것은 71만 장의 음성 캡션, 230만 개의 포인팅 어노테이션, 82만 개의 시계 읽기 예시 — 즉, 데이터였다.
시계 읽기가 대표적이다. GPT-4o는 수조 개의 파라미터와 압도적인 컴퓨팅으로 훈련되었지만, 시계 읽기 정확도는 2.7%다. Molmo-7B는 7B 파라미터로 77%다. 82만 개의 시계 데이터가 만든 차이다.
비공개 VLM(GPT-4V 등)에 의존하지 않고, 사람의 음성 설명과 텍스트 전용 LLM만으로 세계 최고 수준의 VLM을 만들 수 있다.
음성 기반 캡션(71.2만), 포인팅(230만), QA(16.2만), 문서(230만), 시계(82.6만). 비공개 VLM 미사용.
바운딩 박스 대신 2D 점 좌표. 순서대로 찍으며 세는 연쇄 사고가 카운팅 정확도를 극적으로 향상.
겹침 크롭, 텍스트 전용 드롭아웃, 어텐션 풀링, 길이 힌트. 각각 작지만 누적 효과가 큼.
MetaCLIP(오픈 인코더) + OLMo(오픈 LLM) + PixMo(오픈 데이터) = 모든 비트가 공개된 VLM.
Molmo 프로젝트의 가장 큰 기여는 하나의 질문에 대한 답을 준 것이다:
"GPT-4V의 합성 데이터 없이, 순수하게 사람의 어노테이션과 공개 자원만으로 세계 최고 수준의 VLM을 만들 수 있는가?"
답: 그렇다. 71만 장의 이미지에 대해 사람이 60~90초 동안 말로 설명하고, 230만 개의 점을 찍고, 16만 개의 질문에 답하면 — GPT-4o 바로 아래, Claude 3.5 Sonnet과 Gemini 1.5 Pro 위에 도달할 수 있다.
이것은 AI 연구의 독립성에 관한 이야기다. 비공개 모델에 종속되지 않고도 최고 수준의 모델을 만들 수 있다는 것을 증명한 Molmo는, 오픈소스 AI 커뮤니티에 "답안지를 베끼지 않아도 된다"는 자신감을 심어주었다.
2026년 현재, 그 자신감 위에서 수많은 후속 연구가 피어나고 있다.
참고 논문 및 자료