노트

멀티모달

Multimodal AI

CS#ai · 연결된 개념 4개

쉽게 말하면

멀티모달은 사진이나 소리를 모델이 읽는 말로 통역해 글과 함께 넣어 주는 거예요. 그래서 스크린샷을 올리고 '이 에러가 뭐야?'라고 물어도 그림과 질문을 함께 보고 답해요.

비유가 깨지는 곳 통역이라 해도 그림을 글로 옮기는 건 아니고, 이미지 조각을 텍스트 토큰과 같은 모양의 벡터로 바꿔 넣어요. 그래도 작은 글씨나 개수 세기에서 자주 틀리고, 이미지 속 글자가 프롬프트 인젝션이 될 수 있어요.

멀티모달(Multimodal)은 한 모델이 형태가 다른 데이터를 함께 다루는 것이다. 데이터의 형태 하나하나를 모달리티(Modality)라고 부른다. 텍스트, 이미지, 음성, 영상이 각각 모달리티다. 텍스트만 받는 LLM은 싱글모달이다. 사진을 올리고 "이 그래프에서 어느 달 매출이 가장 높아?"라고 물을 수 있는 모델은 멀티모달이다.

할 수 있는 일

입력 → 출력예
이미지 + 텍스트 → 텍스트스크린샷의 에러 읽기, 디자인 시안을 보고 HTML·CSS 짜기, 영수증 내용 뽑기
음성 → 텍스트·음성받아쓰기, 말로 묻고 말로 듣는 음성 대화
텍스트 → 이미지·영상설명을 주고 그림 만들기
이미지 ↔ 텍스트 검색"해변의 강아지"라는 문장으로 사진 찾기

"멀티모달 모델"이라는 말은 대개 첫 줄처럼 여러 모달리티를 이해해 텍스트로 답하는 모델을 가리킨다. 이런 모델을 VLM(Vision Language Model, 비전 언어 모델)이라고도 부른다. 그림을 그리는 생성 모델은 따로 만드는 경우가 많다.

어떻게 이미지를 읽나

트랜스포머는 벡터 나열을 입력으로 받는다. 그래서 핵심은 이미지나 소리를 텍스트 토큰과 같은 모양의 벡터로 바꾸는 것이다.

이미지 → 작은 조각(패치)으로 자름 → 이미지 인코더가 조각마다 벡터로 바꿈
       → 프로젝션(투영) 층이 LLM의 토큰 벡터 공간에 맞춤
       → 텍스트 토큰 벡터들과 이어 붙여 LLM에 넣음 → 텍스트로 답함
  • 이미지를 패치로 잘라 토큰처럼 트랜스포머에 넣는 방식은 ViT(Vision Transformer)가 널리 알렸다
  • 이미 학습된 이미지 인코더와 LLM을 작은 연결 층으로 잇는 방식이 흔하다. LLaVA는 학습된 CLIP 이미지 인코더와 LLM을 선형 프로젝션 층 하나로 잇는다
  • 처음부터 여러 모달리티를 섞어 함께 학습하는 모델도 있다. 이를 "네이티브 멀티모달"이라고 부르기도 한다

멀티모달 임베딩 (CLIP)

CLIP(Contrastive Language-Image Pre-training)은 이미지와 그 설명 문장 쌍을 대량으로 학습한다. 짝이 맞는 이미지와 문장의 벡터는 가깝게, 짝이 아닌 쌍은 멀게 놓이도록 학습한다. 그러면 이미지와 텍스트가 같은 좌표계에 놓인다. 텍스트 임베딩에서 문장끼리 가까움을 재던 방법을 그대로 써서 문장으로 사진을 찾을 수 있다. 이미지까지 검색하는 RAG (검색 증강 생성)가 이 원리를 쓴다.

쓸 때 알아 둘 것

  • 이미지도 토큰을 쓴다. 이미지 한 장은 해상도에 따라 수십에서 수천 토큰이 된다. 그만큼 비용이 들고 컨텍스트 윈도우도 차지한다. 필요한 부분만 잘라 보내면 토큰이 줄고 작은 글씨도 더 잘 읽힌다
  • 보이는 것을 다 정확히 읽지는 못한다. 작은 글씨, 물건 개수 세기, 정밀한 위치·좌표, 표의 칸 맞추기에서 자주 틀린다. 숫자는 원본과 대조한다
  • 이미지 속 글자도 지시문이 될 수 있다. 이미지에 적힌 문장을 모델이 명령으로 받아들이는 프롬프트 인젝션(Prompt Injection)이 있다. 외부에서 받은 이미지는 외부 텍스트와 마찬가지로 믿을 수 없는 입력으로 다룬다

출처: Learning Transferable Visual Models From Natural Language Supervision (CLIP) Radford et al.(2021) · An Image is Worth 16x16 Words (ViT) Dosovitskiy et al.(2020) · Visual Instruction Tuning (LLaVA) Liu et al.(2023)

참고: Vision Anthropic 문서(이미지 토큰 수)

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 모델 양자화

    모델 가중치나 벡터를 32비트 실수 대신 8비트·4비트처럼 더 작은 수로 저장하는 것. 크기와 메모리를 크게 줄이는 대신 정확도를 조금 내준다.

  • llms.txt

    사이트 루트에 두는 마크다운 파일로, LLM 에이전트에게 사이트가 무엇이고 어떤 원문을 읽으면 되는지 알려 주는 제안 규약. 공식 표준은 아니고 검색 노출과는 무관하다.

  • Django MVT 구조

    Django는 파이썬 웹 프레임워크로, 요청을 URLconf → 뷰 → (모델·템플릿) → 응답 순서로 처리한다. 역할을 Model(데이터), View(요청 처리 로직), Template(표현)으로 나눠 MVT(Model-View-Template)라 부른다. 다른 프레임워크의 컨트롤러가 장고의 뷰, 뷰가 장고의 템플릿에 해당한다.

  • 몰입 영역과 난이도 조절

    과제가 너무 쉬우면 지루하고 너무 어려우면 불안하다. 그 사이의 몰입 영역에서 실력이 가장 잘 는다.

  • 브라우저 안에서 도는 RAG 구현기

    서버·요금 없이 방문자 브라우저에서 EmbeddingGemma 2로 찾고 Gemma 4로 답하는 RAG를 이 사이트에 넣은 사례. 프론트엔드 개발자가 알아야 할 개념을 구현 순서대로 짚는다.

보기 옵션