포스트

LLaVA는 Image Token을 LLM에 어떻게 연결할까? Linear Projection과 2단계 학습

LLaVA는 CLIP vision encoder가 만든 image feature를 학습 가능한 linear projection으로 language embedding 공간에 맞춘 뒤, text instruction과 함께 Vicuna가 처리하도록 연결합니다.

LLaVA 저장소프로젝트 페이지에서 제시하는 핵심은 거대한 multimodal module을 새로 쌓는 것보다 visual instruction data와 두 단계 alignment를 결합한 데 있습니다. LLaVA-NeXTLLaVA-Plus는 후속 방향이므로 원 논문의 구조, 수치와 섞지 않습니다.

Image-text Pair를 Instruction Data로 바꿉니다

기존 image caption pair는 “무엇이 보이는가”는 알려 주지만 사용자의 다양한 명령에 어떻게 답할지 직접 가르치지는 않습니다. LLaVA는 GPT-4를 활용해 기존 pair를 conversation, detailed description, complex reasoning의 세 유형으로 변환합니다.

Conversation은 image에 관한 여러 질문과 답, detailed description은 장면의 포괄적 설명, complex reasoning은 보이는 단서를 바탕으로 추론하는 요청입니다. Data 생성 model의 답을 학습에 쓰므로 잘못된 설명과 image에 없는 내용이 들어갈 가능성도 함께 관리해야 합니다. 원문은 생성 절차를 소개하지만 정제 실패 사례를 별도로 측정하지는 않습니다.

이 접근의 차별점은 image classification, captioning처럼 고정 output 하나만 내는 대신, 같은 image에도 서로 다른 자연어 instruction을 따르게 훈련한다는 것입니다.

Architecture의 병목은 단순한 Projection입니다

Vision encoder g가 입력 image X_v에서 feature Z_v를 만듭니다.

\[Z_v=g(X_v)\]

학습 가능한 matrix W가 이 feature를 language model이 받을 수 있는 표현 H_v로 바꿉니다.

\[H_v=W\cdot Z_v\]

원문 구성은 CLIP ViT-L/14 vision encoder, LLaMA 기반 Vicuna language model과 linear projection입니다.

LLaVA architecture

Projection이 단순하다는 것은 연결 비용이 작다는 장점과, vision, language 사이 복잡한 상호작용을 이 한 층이 충분히 맞춰야 한다는 한계를 함께 뜻합니다. 원문 future work가 cross-attention 같은 더 강한 연결을 언급한 이유입니다.

두 단계 학습은 Alignment와 Instruction 수행을 분리합니다

첫 단계 feature alignment에는 59.5만 개 CC3M image-text data를 사용합니다. Language model은 고정하고 projection W만 학습해 vision feature를 language token 공간에 맞춥니다. 이 단계에서 LLM까지 동시에 크게 바꾸면 이미 가진 language 능력을 유지하며 interface만 맞춘다는 목적이 흐려질 수 있습니다.

두 번째 단계는 GPT-4로 만든 15.8만 visual instruction data로 fine-tuning합니다. 원문 설명에서는 language model과 projection을 함께 학습해 image를 보고 지시를 따르는 능력을 만듭니다. “pre-training”과 “instruction tuning”이 같은 data와 같은 trainable parameter를 쓰는 한 단계가 아닙니다.

재현을 판단할 때는 vision encoder, LLM checkpoint, projection initialization, 두 data 수와 각 단계에서 frozen parameter를 따로 기록해야 합니다. 이 글에는 실제 training command, batch size, optimizer와 hardware가 없어 완전한 실행 recipe로 사용할 수 없습니다.

보고된 점수보다 평가 조건을 함께 읽습니다

원문은 multimodal chatbot 평가에서 GPT-4 대비 85.1% 수준, ScienceQA에서 LLaVA 단독 90.92%, LLaVA와 GPT-4를 결합한 구성에서 92.53%를 보고합니다. Instruction tuning이 없을 때 큰 성능 저하가 있었다는 결과도 visual instruction data의 중요성을 뒷받침합니다.

하지만 GPT-4 대비 비율과 ScienceQA accuracy는 서로 다른 평가이며, 후속 LLaVA version이나 임의 image task의 현재 성능을 보장하지 않습니다. 특히 LLaVA+GPT-4 결과를 LLaVA 단독 model 점수처럼 비교하면 안 됩니다.

실제로 model을 검토할 때는 세 종류의 질문을 나눕니다. Image에 직접 보이는 사실, 여러 단서를 결합하는 추론, image만으로 알 수 없는 질문입니다. 마지막 유형에서 model이 모른다고 말하는지 확인해야 대화 유창성과 시각 grounding을 구분할 수 있습니다.

LLaVA의 핵심 교훈은 linear projection 하나가 모든 문제를 해결했다는 것이 아닙니다. Image-text representation을 먼저 맞추고, 다양한 instruction으로 language model을 조정하는 순서를 분리한 것이며, 더 다양한 video, 3D data와 강한 연결 구조는 원문에서도 이후 과제로 남아 있습니다.

Projection Shape를 어떻게 검증하나요?

Vision encoder의 patch 수와 feature dimension, projection input, output dimension과 LLM embedding dimension을 실제 tensor로 출력합니다. Batch와 image token 순서가 text placeholder 위치에 맞고 attention mask가 image token을 포함하는지 확인합니다. Resolution 또는 vision checkpoint를 바꾸면 patch 수와 preprocessing도 다시 검증합니다.

같은 text에 image를 바꾸고 같은 image에 질문을 바꿔 output이 각각 시각, instruction에 반응하는지 봅니다. Projection만 학습하는 첫 단계에서 vision과 LLM parameter가 실제로 freeze됐는지 gradient로 확인합니다.

Instruction Data를 어떻게 정제하나요?

Generated conversation이 image에 없는 객체, 속성을 말하거나 답 안에 source caption의 편향을 반복하는지 sampling 검수합니다. Conversation, description, reasoning 유형 비율, 중복 image와 train/eval leakage를 기록합니다. Generator 답을 정답으로 사용했다는 사실을 human label과 같은 신뢰도로 가정하지 않습니다.

Grounding을 어떤 질문으로 평가하나요?

직접 보이는 사실, 공간 관계와 여러 단서 reasoning, image만으로 알 수 없는 질문을 분리합니다. 마지막에는 모른다고 말할 수 있는지 보고, image를 가리거나 무관한 image로 바꿨을 때 답이 그대로면 language prior 의존을 의심합니다. 단독 LLaVA와 외부 GPT-4 결합 점수를 섞지 않습니다.

재현에 어떤 Metadata가 필요한가요?

Vision, LLM checkpoint, projection initialization, image preprocessing, 두 단계 data와 trainable parameter를 각각 저장합니다. 논문 data 수만 맞춰도 optimizer, batch, schedule이 없으면 완전한 recipe가 아니므로 빈 부분을 발명하지 않습니다. 후속 NeXT, Plus 결과는 원본 version과 별도 표로 비교합니다.

자주 남는 질문

LLaVA의 projection은 무엇을 맞추나요?

CLIP vision feature를 language model이 token embedding과 함께 처리할 수 있는 표현 차원과 공간으로 변환합니다.

두 학습 단계는 어떤 역할이 다른가요?

첫 단계는 고정된 language model과 vision feature를 projection으로 정렬하고, 둘째는 visual instruction을 수행하도록 projection과 language model을 조정합니다.

유창한 image 설명이면 visual grounding도 맞나요?

아닙니다. Image에 없는 질문에서 hallucination을 피하는지와 실제 pixel 단서에 따라 답이 바뀌는지를 별도 평가해야 합니다.

함께 읽으면 이해가 이어지는 글

자주 묻는 질문

LLaVA의 projection은 무엇을 맞추나요?

CLIP vision feature를 language model이 token embedding과 함께 처리할 수 있는 표현 차원과 공간으로 변환합니다.

두 학습 단계는 어떤 역할이 다른가요?

첫 단계는 고정된 language model과 vision feature를 projection으로 정렬하고, 둘째는 visual instruction을 수행하도록 projection과 language model을 조정합니다.

유창한 image 설명이면 visual grounding도 맞나요?

아닙니다. Image에 없는 질문에서 hallucination을 피하는지와 실제 pixel 단서에 따라 답이 바뀌는지를 별도 평가해야 합니다.

THE END / OPSOAI

여기까지 읽었습니다

핵심 장면을 한 번 더 떠올려 보세요. 이해가 남았다면 이 책은 제 역할을 다했습니다.

다른 책 고르기
표지 1

키와 좌우 스와이프를 지원합니다. 읽던 페이지는 이 기기에 저장됩니다.

CONTENTS

이 책의 목차

    11개 장 11 분읽는 시간