Study/자연언어처리 NLP

Multimodal LLM

김 도경 2025. 2. 5. 12:40
Multimodal PLMs
  • Multimodal PLMs
    - 여러 데이터 형태 (이미지, 텍스트, 오디오, 비디오 등)를 처리할 수 있는 사전학습 모델
    - Image-Text Multimodal : 이미지와 텍스트 데이터를 모두 처리할 수 있는 모델
    - Audio-Text Multimodal : 오디오 신호와 텍스트를 모두 처리할 수 있는 모델 
    - Video-Text Multimodal : 비디오와 텍스트를 모두 처리할 수 있는 모델

  • Image-Text Multimodal: 이미지와 텍스트 데이터를 모두 처리할 수 있는 모델
    - Image2Text Retrieval, Text2Image Retrieval
    - Visual Question Answering (VQA)
    - Visual Question Generation (VQG)
    - Image Captioning
    - Optical Character Recognition (OCR)
    - Multimodal Translation

  • 배경지식
    - Coarse-grained Classification : 큰 범위 (e.g. 개, 고양이)를 분류하는 일반적인 분류 문제
    - Fine-grained Classification : Coarse-grained에 비해 상대적으로 비슷한 특징들을 더 세밀하게 분류하는 컴퓨터비전 과제
    - ViT (Vision Transformer)
       - Pre-training
           - 이미지를 더 작은 단위인 패치 (patch)로 나누어서, Transformer 구조에 사전학습
           - ViT는 6억개의 이미지와 텍스트 쌍으로 사전학습 진행
           - class를 예측하는 supervision으로 학습
           - BERT의 [CLS] token 역할을 하는 class token을 추가
           - MLP layer를 classification loss로 학습
       - Fine-tuning 
           - Pre-train 단계에서 사용한 MLP layer를 없앰
           - fine-tuning에 해당하는 MLP layer를 새로 학습

  • CLIP (Contrastive Language-Image Pre-training)
    - Motivation
       - ViT, ResNet 등은 이미지 class별 representation learning을 진행
       - 다른 task에 적응할 때 마다 데이터와 Fine-tuning 필수 (zero-shot 불가)
       ⇒ Image와 Text의 공통된 Multi-modal Embedding Space를 학습

    1) Contrastive Pre-training
    - 이미지와 텍스트를 jointly learning (이미지와 텍스트를 같은 Space에 사상)
    - contrastive learning을 통해 CE loss를 사용하여 학습 
    - Image Encoder는 ResNet 혹은 ViT 사용
    - Text Encoder는 GPT-2 구조 사용 (사전학습 모델 사용 X)
    - pre-train시에 4억 개의 image with caption을 사용하여 학습
    - contrastive learning을 통해 CE loss를 사용하여 학습
        - 𝑁개의 (이미지, 텍스트) 쌍
        - 𝑁개의 positive, 𝑁^2−𝑁의 negative
        - Positive pair에서 cosine-similarity 최대화, Negative pair에서 최소화

    2) Zero-shot Transfer - 이미지 분류
    - class label을 text prompt로 변경하여 주어진 이미지와 가장 유사한 텍스트를 Cosine similarity를 통해 선택
    -  Text prompt는 “a photo of {label}” 등의 간단한 프롬프트를 사용
    - Zero-shot 추론 결과
        - 간단한 Coarse-grained 분류에 약함
        - 간단한 MNIST등의 Coarse-grained에서 ResNet 50보다 성능이 낮음
        - 반면, 어려운 Fine-grained 에서는 높은 성능

  • FILIP (Fine-grained Interactive Language-Image Pre-Training)
    - Motivation
       - CLIP은 이미지 전체와 텍스트 전체 사이의 Similarity를 반영
       - patch와 token 사이의 similarity를 반영해서 학습하면 더 정확한 사전학습 가능?
    - Zero-shot 성능 (vs CLIP)
       - 이미지 분류에서 CLIP 대비 대부분 높은 성능
       - 이미지-텍스트 검색에서 아주 높은 성능
    - 이미지 패치와 텍스트 프롬프트 사이의 Align 비교 
       - CLIP은 주어진 프롬프트과 어울리는 이미지 패치를 찾지 못함
       - FLIP은 주어진 프롬프트와 어울리는 이미지 패치를 비교적 잘 찾음

  • BLIP
    - Vision-Text Multimodal
    - 기존 Vision-Text Multimodal에서 사용한 웹 데이터의 노이즈를 CapFlit 구조로 해결 
    - 세 가지 Loss를 사용하여 학습
       - Image-Text Contrastive Loss
       - Language Modeling Loss
       - Image-Text Matching Loss

    - Image-Text Contrastive Loss: CLIP과 동일
    - Language Modeling Loss: 이미지를 통해 텍스트를 생성 하도록 학습. Cross Attention을 통해 이미지 캡션 생성
    - Image-Text Matching Loss: 이미지, 텍스트 쌍이 매칭이 잘 되었는지 예측하는 학습을 진행


    - CapFlit : 웹 데이터의 캡션 노이즈를 제거하기 위해 사람이 제작한 이미지, 텍스트 쌍으로 Seq2seq 학습
    → 학습한 모델로 웹 이미지 새로 Captioning 진행

    모델 구조
    - Image Encoder: ViT 
    - Text Encoder: 사전학습된 BERT 사용

  • Audio-Text Multimodal - 대표적인 Task
    - Speech-to-Text (음성인식)
    - Text-to-Speech (음성합성)

  • Video-Text Multimodal - 대표적인 Task
    - Video Captioning
    - Video Question Answering

  • Whisper
    - Multilingual Training data 
       - 다국어 언어로 된 대규모 음성 데이터셋으로 학습
       - 텍스트와 함께 제공되는 Supervised Dataset으로, 모델이 다양한 언어와 발음, 환경 소음 등에 강건한 특징을 학습할 수 있는 데이터셋
       - Background Music을 삽입하여 노이즈 강건성 추가

    - Multitask Training Format
       - 음성 활동 감지(voice activity detection), 화자 구분 (speaker diarization), 역 텍스트 정규화(inverse text normalization)를 end-to-end로 작업
       - 텍스트 전사 혹은 번역을 “<|transcribe|>” 또는 “<|translate|>” 토큰으로 명시하여 구분
       - Time-aligned된 transcription 형식의 시퀀스 데이터 생성

    - Transformer Architecture
       - Encoder-Decoder 구조의 Transformer 구조를 사용하여 학습 
       - MultitaskTrainingFormat으로구축된데이터를Label로, 음성스펙트럼을Input으로학습 ⇒음성을통해전사,번역,화자구분이가능

    - 음성인식 성능
       - WER (Word Error Rate)는 전사된 단어와 정답 단어 사이의 단어 오류 비율로, 낮을 수록 좋음 
       - Zero-shot으로 사람의 성능을 뛰어 넘는 음성인식 모델

  • VideoCLIP
    - 모델 구조
       - Video Encoder와 Text Encoder를 사용
       - Video Encoder는 사전학습된 S3D 모델과 BERT의 6개 레이어를 사용
       - Text Encoder는 BERT를 그대로 사용

    - 사전 학습
       - CLIP과 동일하게 두 Encoder 사이의 Contrastive Learning
       - 데이터를 사용하여 학습한 Supervised 모델 보다 zero-shot으로 더 좋은 성능을 얻음

Multimodal LLMs
  • Flamingo
    - Motivations
       - 기존의 CLIP 등의 모델은 zero-shot에 의존하여 사용자가 원하는 Few-shot을 하지 못함
       - 대량의 데이터와 Few-shot learning을 활용하여 Multimodal LLM 학습 시도

    - 모델구조
       - 사전학습된ImageEncoder:CLIP의ImageEncoder
       - 사전학습된LanguageModel:Chinchilla(60B) • PerceiverResampler

    - PerceiverResampler
       - 서로다른차원을가지는임베딩간의CrossAttention - Query:TextQuery/Key,Value:Image
       - 시퀀셜한 이미지인 Video도 처리가능
       -  CrossAttention을 통해 Image와 Text임베딩의 크기를 맞춤

    - 모델성능
       - Few-shot Learning이 가능한 MultimodalLLM 
       - Zero-shot성능도 증가 
       - ChatGPT처럼 대화 형식으로 사용가능

  • BLIP-2
    1) Q-Former의 사전학습 
       - Image Transformer와 Text Transformer로 구성
             - 두 Transformer는 Self-attention 공유 
       - 세 가지 Loss로 학습
            - Image-Text Contrastive Learning Loss: CLIP과 동일
            - Image-grounded Text Generation Loss: 이미지를 통해 텍스트 생성 학습 
            - Image-Text Matching Loss: 이미지와 텍스트가 동일한 쌍인지 예측

    2) Image-to-Text generative Pre-training
       - 사용되는 LLM이 Decoder-only (e.g. OPT) 혹은 Encoder-Decoder (e.g. FlanT5) 사용
       - 주어진 이미지 값이 Image Encoder, Q-Former, FC layer를 거쳐서 LLM에 입력
           - 단, 학습은 1)과 동일하게 Q-Former와 FC layer만 학습

  • LLaVA (Language and Vision Assistant)
    - Image-Text LLM 학습을 위한 SFT 데이터를 만들기 위해 GPT-4 (Text) 사용
    - 당시, GPT-4 Vision이 없었기 때문에 GPT-4 (Text) 사용
    - 기 공개된 BLIP-2와 같이 Instruction tuning이 되지 않은 모델은 자세한 설명을 제공할 수 없음
    ⇒ SFT (Instruction) 데이터를 만들어야 하는 이유

    - Instruction Data 생성 방법
        -  Caption과 Box 등의 구체적인 이미지 정보를 이미지 대신 GPT에게 텍스트로 입력하여 다음의 3가지 Response Type에 대해 응답하도록 함
            - Conversation: 이미지에 대한 질의응답 
            - Detailed Description: 이미지에 대한 구체적인 설명 
            - Complex Reasoning: 구체적인 추론을 요구하는 질문 ⇒ 총 158K개의 Instruction data 생성

    - 모델 구조
        - Language Model: 사전학습된 LLM 사용
        - Vision Encoder: 사전학습된 CLIP의 Image Encoder

    - 모델 학습
        - CC3M에서 595K의 Image-Text를 뽑아서 사용
        - Projection Layer W 만 학습하고, Vision Encoder, LM 모두 freeze
        - 그 후, 158K개의 Instruction data를 통해 학습

    - BLIP-2는 Instruction Tuning이 되지 않았기 때문에 답변을 짧게 함
    - 반면, LLaVA는 답변을 구체적으로 길게 함
    - 또한, BLIP-2는 LLaVA가 잘 해결하는 Conversation, Description, Reasoning에 취약

  • Gemini (Google)
    - 시각, 비디오, 오디오, 언어 모두가 결합된 Multimodal
    - 자세한 학습 방법 및 모델 구조 비공개
    - 현존하는 거의 대부분의 Vision, NLP Task 가능 • 38개 언어 지원

'Study > 자연언어처리 NLP' 카테고리의 다른 글

Cross Lingual LLM  (0) 2025.02.05
Multilingual LLM  (2) 2025.02.05
LLM 기반 Prompt Engineering 연구  (1) 2025.02.05
LLM 기반 Application 연구  (0) 2025.02.05
LLM 기반 Evaluation-Centric NLP 연구  (2) 2025.02.04