AI VIDEO BRIEFING

소형 텍스트 LLM을 비전 언어모델로 바꾸는 법: Q-Former와 LoRA로 이미지 이해 붙이기

1억 3500만 파라미터 텍스트 모델에 사전학습 ViT와 Q-Former, LoRA를 붙여 이미지를 이해하게 만드는 과정을 단계별로 정리했다. 캡션 5만 장과 몇 시간 학습, 50센트 남짓한 비용으로 시각 능력을 얻는 방법이다.

텍스트만 알던 소형 언어모델에 눈을 달아주기: 비전 언어모델 만들기 해부 영상 대표 이미지

핵심 메시지

  • 이미 학습된 소형 텍스트 모델에 시각 능력만 얹는 접근이라, 처음부터 멀티모달 모델을 만드는 것보다 데이터와 연산이 훨씬 적게 든다.
  • 핵심 부품은 셋이다. 이미지를 벡터로 바꾸는 사전학습 ViT, 그 벡터를 텍스트와 맞물리게 압축하는 Q-Former, 그리고 언어모델에 붙이는 어댑터와 LoRA다.
  • Q-Former는 무작위로 초기화한 32개의 학습 가능한 질의 토큰이 교차 어텐션으로 이미지 특징을 골라 담는 구조다.
  • 학습은 이미지와 캡션 쌍을 같은 공간에 맞추는 대조 손실로 진행하며, 짝이 맞는 쌍은 유사도를 높이고 나머지는 낮춘다.
  • 언어모델 본체는 얼려두고 LoRA 가중치만 학습해 기존 언어 능력을 잃지 않으면서 새로운 시각 입력에 적응시킨다.

쉽게 이해하기

출발점은 단순한 사실이다. 텍스트 모델은 텍스트 토큰만 다룰 수 있어서 이미지를 그대로 밀어 넣는다고 이해하지 못한다. 그래서 이 작업의 목표는 멀티모달 모델을 백지에서 만드는 것이 아니라, 이미 세상 지식을 담고 있는 소형 텍스트 모델을 이미지도 볼 수 있게 개조하는 것이다. 영상에서는 1억 3500만 파라미터급 소형 명령어 튜닝 모델을 골랐다.

첫 단계는 이미지를 벡터로 바꾸는 일이다. 사전학습된 비전 트랜스포머에 224×224로 정규화한 이미지를 넣으면, 이미지를 여러 조각으로 나눠 자기 어텐션을 거친 197개의 패치 임베딩이 나온다. 각 패치는 768개의 숫자로 표현되며, 이 시점의 임베딩은 서로 문맥을 공유해 전체 이미지 안에서의 위치와 역할을 갖게 된다. 이 비전 모델은 학습 내내 얼려둔다.

문제는 이 197개 벡터를 그대로 언어모델에 넣어도 잘 되지 않는다는 점이다. 이미지 임베딩은 픽셀만의 함수라 텍스트와 접점이 없기 때문이다. 그래서 BLIP-2 계열에서 쓰는 Q-Former를 둔다. 작은 BERT 계열 모델을 바탕으로, 데이터와 무관하게 무작위로 초기화한 32개의 질의 임베딩을 만들고, 층을 번갈아 가며 교차 어텐션으로 이미지 임베딩을 참조하게 한다. 각 질의는 '이런 특징이 이미지에 있는가'를 묻고, 답에 해당하는 벡터들을 가중 평균해 자기 안에 담는다.

Q-Former 학습에는 대조 손실을 쓴다. 배치 안의 이미지와 캡션을 모두 짝지어 유사도 행렬을 만든 뒤, 대각선에 해당하는 올바른 쌍은 값이 커지고 나머지는 작아지도록 학습한다. 그 결과 이미지 임베딩은 세부 묘사를 모두 담는 대신, 캡션이라는 텍스트에 근거를 둔 32개의 압축된 토큰으로 바뀐다. 학습 뒤 확인해 보면 짝이 맞는 이미지·캡션의 내적이 뚜렷하게 높고, 채식 요리나 회화처럼 주제가 비슷한 이미지끼리 높은 점수를 보이는 모습도 관찰된다.

마지막은 언어모델에 연결하는 단계다. Q-Former의 출력 차원과 언어모델의 입력 차원이 다르고 표현 공간도 다르므로, 32개 시각 토큰을 언어모델이 알아듣는 공간으로 옮기는 MLP 어댑터를 둔다. 그다음 시스템·사용자 프롬프트 임베딩, 이미지 임베딩, 정답 캡션 임베딩을 이어 붙여 다음 토큰 예측으로 학습하되, 손실은 정답 캡션 구간에만 적용한다. 언어모델 본체는 얼리고 LoRA로 삽입한 저랭크 행렬만 학습해, 기존 능력을 유지한 채 시각 입력에 적응하도록 한다.

주요 인사이트

  • 비용이 인상적이다. 캡션 데이터 5만 장으로 가장 저렴한 GPU에서 네 시간 남짓 학습해 총 50센트 정도가 들었다. 작은 모델이라도 이미 가진 사전학습 지식 덕분에 적은 데이터로 새 능력을 얻을 수 있다는 점을 보여준다.
  • Q-Former의 역할을 오해하기 쉽다. 이 모듈은 이미지의 모든 세부를 보존하려는 것이 아니라, 197개 벡터를 어떻게 조합해 32개로 요약할지를 배우는 장치다. 압축과 텍스트 정렬이 동시에 일어난다.
  • 학습 대상을 좁게 잡은 설계가 핵심이다. 비전 트랜스포머와 언어모델 본체는 건드리지 않고 Q-Former, 어댑터, LoRA만 학습해 소비자용 하드웨어에서도 감당할 수 있게 만들었다.
  • 구현 디테일도 결과를 좌우한다. 어텐션 마스크로 이미지 토큰과 텍스트 토큰이 서로 보지 못하게 제약하고, 레이블에서 프롬프트와 이미지 구간을 가려 캡션 부분만 학습시키는 처리가 대표적이다.
  • 2단계 학습 뒤에도 Q-Former를 함께 미세조정하면 질의 임베딩이 언어모델이 기대하는 공간에 더 가까워진다. 언어모델을 얼려둔 만큼 그 간극을 앞단에서 좁히는 셈이다.

자주 묻는 질문

왜 이미지 임베딩을 언어모델에 바로 넣지 않나?

차원이 맞지 않고 표현 공간도 다르기 때문이다. 비전 트랜스포머가 만든 벡터는 픽셀만의 함수라 텍스트와 연결점이 없어서, 텍스트에 근거를 둔 형태로 압축해 주는 Q-Former와 차원을 맞추는 어댑터가 필요하다.

32개 질의 토큰은 어디서 오나?

데이터에서 오지 않는다. 학습 가능한 파라미터로 무작위 초기화한 뒤 경사하강법으로 학습되며, 층을 지나며 교차 어텐션으로 이미지 임베딩과 문맥을 공유해 이미지 정보를 담게 된다.

LoRA는 왜 필요한가?

언어모델 전체를 다시 학습하면 비용이 크고 기존 언어 능력이 손상될 수 있다. 본체를 얼리고 어텐션 층에 삽입한 작은 저랭크 행렬만 학습하면, 기존 지능을 유지한 채 새로운 시각 입력에 내부 배선을 적응시킬 수 있다.

학습 데이터는 어느 정도 규모였나?

공개 캡션 데이터셋에서 이미지·캡션 쌍 5만 개를 썼다. 본격적인 비전 언어모델 학습에는 적은 양이지만, 사전학습된 모델을 개조하는 방식이라 이 정도로도 이미지를 설명하는 능력이 생겼다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식