토니의 연습장

MiniGPT-4 본문

AI 일반/논문, 구현

MiniGPT-4

bellmake 2025. 5. 26. 12:01
 

MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models

The recent GPT-4 has demonstrated extraordinary multi-modal abilities, such as directly generating websites from handwritten text and identifying humorous elements within images. These features are rarely observed in previous vision-language models. Howeve

arxiv.org

 

 

Minigpt-4

The recent GPT-4 has demonstrated extraordinary multi-modal abilities, such as directly generating websites from handwritten text and identifying humorous elements within images. These features are rarely observed in previous vision-language models. We bel

minigpt-4.github.io

  1. Vision Encoder
    • BLIP-2에서 가져온 사전학습된 비전 컴포넌트 사용
      • ViT-G/14 (EVA-CLIP 기반)
      • Q-Former 네트워크
    • 입력 이미지를 ViT로 임베딩한 뒤, Q-Former가 중요한 쿼리(feature)만 뽑아냄.
  2. Linear Projection Layer
    • Q-Former가 뽑은 쿼리 벡터를 Vicuna LLM의 입력 차원에 맞춰 변환해 주는 유일하게 학습되는 레이어
    • 이 레이어만 학습하고, 나머지 Vision Encoder와 LLM(Vicuna)은 모두 고정(freeze)
  3. Vicuna Language Model
    • 변환된 시각 특징을 받아 텍스트로 “이 로고 디자인 어때요?” 같은 질문에 답하거나, 이미지에 대한 설명을 생성
  4. 학습 세팅
    • 총 20,000 스텝 학습
    • 배치 사이즈 256, 4대의 A100 GPU 사용
    • 학습 데이터: LAION, Conceptual Captions, SBU 등 대규모 이미지-캡션 페어

  • 요약하자면, MiniGPT-4는 사전학습된 비전 + 사전학습된 언어를 그대로 쓰되, 둘을 잇는 가볍고 작은 선형 투사층만 추가·학습해서 멀티모달 이해 능력을 얻은 모델입니다.

 

 

여기서 Q-Former 는 “Self-Attn → Cross-Attn → FF” 블록을 N번 반복하는 한 덩어리입니다.
전체 모델 관점에서는 Q-Former Transformer 하나, 그리고 Vicuna(Language Model) Transformer 하나, 총 두 개의 트랜스포머가 있긴 하지만, Q-Former만 떼어서 보면 Transformer는 단 하나입니다.

 

 

  1. 텍스트 전용 모델 vs. 이미지 전용 모델
    • LLM은 텍스트만 학습했습니다.
    • 비전 모델은 이미지만 이해하도록 훈련
  2. 둘을 그대로 묶으면 대화가 원활하지 못합니다.
  3. 그래서 중간 다리(bridge) 역할을 하는 연결망이 필요합니다.
    • 이미지 특징을 텍스트 특징 공간으로 바꿔 주거나, 텍스트 특징을 이미지 특징 공간으로 바꿔 주는 adapter가 추가되었습니다.
    • 이로써 이미지와 그에 대응하는 문장(캡션) 쌍을 contrastive learning으로 학습시킬 수 있습니다.
    • 또한 이를 통해 크로스모달 정렬(cross-modal alignment)이 가능합니다.
  4. 결과로는
    • LLM을 frozen해두어도 이미지 입력을 텍스트 의미로 변환하여 활용할 수 있게 됩니다.

'AI 일반 > 논문, 구현' 카테고리의 다른 글

SAM-CLIP  (1) 2025.05.19
딥러닝 논문 읽는 법  (0) 2025.04.03
ViT (Vision Transformer) 논문 구현하기  (0) 2024.08.28