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 |