Post

Improved Baselines with Visual Instruction Tuning (LLaVA-1.5)

Improved Baselines with Visual Instruction Tuning (LLaVA-1.5)

bookmark

bookmark

  • NIPS 2023 oral

Abstract

  • llava 프레임워크 내에서 llm의 설계 선택지를 통제된 환경에서 조사한 최초의 체계적인 연구
    • llava의 기존 방식인 **fully connected vision-language connector**가 예상보다 훨씬 더 강력하고 데이터 효율적임
  • 간단한 수정을 통해 최고의 성능을 달성함
    • linear layer 대신에 mlp 사용
    • 고해상도 visual encoder 사용: clip-vit-l-336px를 사용함
    • 데이터 및 프롬프트 개선: academic task oriented vqa data를 추가
    • 결과적으로 11개의 벤치마크에서 sota를 달성함
  • 새로 제안된 모델의 효율성이 매우 뛰어남 - 13b checkpoint
    • 약 1.2m의 공개 데이터만 사용함
    • 8개의 a100 gpu가 장착된 노드 1개에서 약 1일 만에 전체 학습을 완료할 수 있음
  • 본 연구는 단순한 성능 향상을 넘어 고해상도 입력 처리, 구성적 능력, 환각 현상 등 LMM 등 열린 문제들에 대한 초기 탐구 결과도 포함하고 있음

→ 복잡한 모델 대신 **간단하고 효율적인 구조 개선과 데이터 전략**만으로도, 훨씬 적은 비용으로 현존 최고 성능의 멀티모달 모델을 만들 수 있음!

Introduction

  • 배경
    • lmm (large multimodal models)는 범용 보조 도구로 나아가는 핵심 요소로 자리 잡았음
    • 최근 연구들은 visual instruction tuning이라는 개념으로 수렴함
      • llava나 minigpt-4와 같은 모델들이 자연어 지시를 따르고, 시각적 추론을 수행하는데 있어 인상적인 결과를 보여주었음
    • 학계에서는 성능 향상을 위해 데이터 규모, 시각 인코더, 언어 모델을 확장하는 다양한 시도를 하고 있음
  • 문제
    • 하지만 다양한 벤치마크와 개발에도 불구하고, “범용 보조 도구”를 만들기 위한 가장 좋은 훈련 방법이 무엇인지는 분명하지 않음
      • llava는 대화형 시각 추론에 강하고, instructblip은 짧은 답변을 요구하는 전통적인 vqa 벤치마크에서 강점을 보임
      • 이런 차이가 데이터의 양 때문인지, q-former와 같은 특정 모듈의 유무 때문인지 근본적인 원인이 명확히 밝혀지지 않음
  • 1) 체계적인 설계 연구와 llava의 재발견
    • llava 프레임워크 내에서 통제된 환경을 설정하고, lmm의 설계 선택지를 체계적으로 연구한 첫번째 연구임
    • llava의 기존 방식인 fully connected vision language connector가 매우 강력함을 밝혀냄
    • llava는 가장 단순한 아키텍쳐를 사용하면서 (qwen, instructblip 대비) 약 60만 개의 이미지-텍스트 쌍만으로 projection layer를 훈련함
    • mlp 커넥터 추가, 학술적 vqa 데이터 추가라는 2가지 간단한 개선만으로도 멀티모달 이해 능력이 향상됨을 확인함
  • 2) open problems에 대한 초기 탐구
    • 고해상도 입력 확장 : 이미지를 grid로 나누어 처리하는 방식으로 해상도를 높여서, 모델의 세부 인식 능력을 높이고 환각 현상을 줄임
    • compositional capabilities: 긴 언어 추론 훈련과 짧은 시각 추론 훈련을 결합하면, 모델의 작문 능력이 향상되는 등 일반화 능력이 있음을 발견함
    • 데이터 효율성: 훈련 데이터를 75%까지 줄여도 성능 저하가 미미함
  • 기여점
    • llava-1.5는 단순하지만 효과적이고, 공개 데이터만을 사용해서 11개 task에서 최고 성능을 기록함
    • 기존의 복잡한 접근 방식들을 재고하게 하며, 향후 오픈소스 lmm 연구를 위한 강력하고 재현 가능한 베이스라인을 제공한다는 데 의의가 있음

    **→ 복잡한 모델보다 기본기가 탄탄한 llava 구조에 간단한 개선을 더하는 것이 훨씬 효율적이고 강력함**

    image.png

  • instruction-following large multimodal models (LMMs)
    • 최근 lmm의 구조와 훈련 과정
    • 일반적인 구조: pretrained visual encoder, llm, vision-language connector
    • connector로 llava는 가장 단순한 linear projection을 사용했지만, blip-2나 instructblip 같은 다른 모델들은 시각적 resampler를 사용해서 시각 패치의 수를 줄이는 방식을 사용함
    • 훈련 방식
      1. **vision-language alignment pretraining**
        • 이미지-텍스트 쌍을 이용해서 시각적 특징을 language의 워드 임베딩 공간에 정렬함
      2. **visual instruction tuning**
  • multimodal instruction-following data
    • llava는 gpt4를 활용해서 기존 coco 데이터셋을 대화형 질의응답, 상세 묘사, 복잡한 추론 등의 지시 따르기 데이터로 확장한 모델임
    • instructblip은 모델의 시각적 능력을 높이기 위해 학술적 task 중심의 vqa 데이터셋을 포함함
    • 단순히 데이터를 합치는건 모델이 짧은 단답형 답변에 overfitting되게 만들어서 자연스러운 대화 능력을 저해할 수 있음
    • 일부 연구는 vqa 데이터를 대화체로 변환해서 해결하려고 했음.. → 데이터 복잡성 증가
    • trade-off: 학술적 과제 데이터를 추가하는 것이 일반화 성능을 높임
    • 본 연구는 자연스러운 대화 능력과 학술적 과제 수행 능력 사이의 균형을 맞추지 못하는 근본 원인을 탐구하려고 함
      • 자연스러운 긴 답변 vs 학술적 task에 대한 짧은 답변

Approach

3.1. Preliminaries

  • 기존 모델 - llava
    • 최초의 visual instruction tuning 연구인 llava는 실제 사용자의 지시를 따르는 능력에서 매우 우수한 성능
    • llava는 단일 linear layer로 시각적 특징을 언어 공간으로 투영하고, 그다음 llm을 최적화하는 방식
    • 하지만 학술적 벤치마크에서 요구하는 단답형 답변에는 약함
      • 학습 데이터 특성 상 yes/no 질문에는 yes로 답하는 경향이 있음
  • 기존 모델 - instructblip
    • 학술적 데이터셋을 학습에 포함해서 vqa 벤치마크 성능을 크게 개선
    • 시각 인코더랑 llm 사이에 “q-former”라는 복잡한 모듈을 두고 이를 중점적으로 튜닝함
    • 하지만 실제 일상적인 대화형 task에서는 llava만큼의 성능을 못냄
      • 상세한 설명을 요구하는 질문에도 매우 짧은 답변만 함 - overfitting

_**→ 자연스러운 대화와 학술적인 단답형 성능 사이의 trade-off 문제**_

3.2. Response Format Prompting: 프롬프트 상의 변화

  • 기존 모델들이 trade-off를 해결하지 못한 이유
    1. 응답 형식의 모호함
      • Q: {Question} A: {Answer} ← 이 방식은 모델이 원하는 출력 형식이 단답형인지 서술형인지 인지하지 못하게 함
      • → 모델이 단답형 데이터셋에 과적합되어 대화형 질문에도 짧게 대답하게 됨
    2. llm finetuning x
      • instructblip은 llm은 freeze하고 qformer만 학습시킴
      • 시각 토큰만으로 llm의 출력 길이를 제어하려고 하는 방식인건데, qformer의 크기가 llm보다 작아서 복잡한 지시사항을 제어하기에 부족했음
  • 명확한 응답 형식 프롬프트
    • 단답형 답변이 필요한 부분에는 출력 형식을 명확히 지시하는 프롬프트를 추가함
      • _"Answer the question using a single word or phrase.”_
    • 이 방법의 장접
      • llm이 위와 같은 프롬프트와 함께 파인튜닝될 경우, llava는 사용자 지시에 맞춰서 출력 형식을 적절히 조절할 수 있게 되었음
      • 학습 데이터를 대화형으로 바꾸기 위해 chatgpt를 쓰는 등 복잡한 전처리가 필요 없어짐
      • 실제 vqav2 데이터를 포함해서 학습한 결과, mme 벤치마크 성능이 기존보다 크게 향상되었으며, instructblip보다도 성능이 훨씬 오름

3.3. Scaling the Data and Model: 데이터와 모델 구조 상의 변화

  • MLP vision-language connector
    • 기존 llava는 visual encoder와 llm 사이에 단순한 linear projection 사용
    • llava1.5에서는 이를 two-layer MLP로 바꿈
    • 이렇게 단순히 mlp로 connector를 바꾸는 것 만으로도 멀티모달 성능이 훨씬 개선됨을 발견함
      • visual encoder와 llm의 임베딩 공간을 더 정교하게 정렬하게 해주기 때문
  • Academic task oriented data
    • 학술적 task 중심인 vqa 데이터셋, ocr, 지역 레벨 인식을 위한 데이터셋을 추가함
      • instructblip 사용된 4개의 데이터셋을 추가함
        • open knowledge VQA: OKVQA, A-OKVQA
          • A-OKVQA는 객관식 질문으로 변환되었으며,
          • _"Answer with the option's letter from the given choices directly.”_ 라는 프롬프트 사용
        • ocr 데이터: OCRVQA, TextCaps

          image.png

        • 첫번째 큰 행 부분 → instructblip에서 사용한 데이터셋만으로도 성능 개선
      • 추가적으로 region-level vqa 데이터셋을 사용하였더니 세부적인 시각적 디테일을 찾는 능력이 개선됨을 발견함
  • Additional scaling
    • 시각 인코더 및 해상도 확장
      • 입력 해상도: 336으로 확장
      • visual encoder: CLIP-ViT-L-336px
    • 학습 데이터 및 지식원 추가
      • visual 지식 source를 강화하기 위해서 gqa 데이터셋을 추가로 학습에 활용함
      • 대화 능력을 강화하기 위해서 shareGPT 데이터를 통합함
    • LLM 크기 확장 → 13B
  • LLaVA-1.5
    • 위에 언급한 모든 변경을 한 모델을 llava 1.5라고 부르자!
    • 기존 llava랑 비교했을 때 매우 인상적이고 대폭 성능 향상
  • Computational cost
    • llava랑 거의 동일한 사전 학습 데이터셋을 사용 / instruction tuning 단계에서 학습 반복 횟수랑 배치 사이즈도 거의 동일하게 유지함
    • 입력 해상도가 늘었기 때문에, 학습 시간은 llava보다 약 2배 정도 늘어남
      • 사전 학습: 약 6시간
      • instruction tuning: 약 20시간
      • 8개의 a100 gpu

3.4.Scaling to Higher Resolutions

  • 기존 비전 인코더의 한계를 극복하고 더 높은 해상도를 지원하기 위한 LLaVA-1.5의 확장 전략인 LLaVA-1.5-HD
  • 기존 visual encoder의 한계
    • clip의 최대 해상도는 336
    • ViT를 사용한 이전 연구들
      • 주로 positional embedding interpolation을 수행하고 finetuning할 때 모델을 새 해상도에 adapt시킴
      • 하지만 대용량 pair 데이터로 학습시켜야 하고, 추론 시 입력 사이즈가 고정된다는 단점이 있음
  • 본 연구는 이미지 분할 및 인코딩 전략을 제안함

    image.png

    • 고해상도 이미지를 visual encoder가 원래 학습한 해상도의 작은 패치로 나눔
      • ex. 여러개의 336 크기의 패치로 나눔
    • 독립적으로 인코딩
      • 각 패치를 비전 인코더에 개별적으로 인코딩해서 feature map을 뽑음
    • feature map 통합
      • 개별적인 feature map들을 하나로 합쳐서 llm에 입력함
    • 전체적인 맥락을 알려주기 위해서 이미지를 작은 사이즈로 resize해서 그 피처맵도 사용함
      • 이미지를 잘라서 사용할 때 발생하는 경계면 오류를 줄이기 위한 목적도 있음
      • 개별 feature map + resize feature map을 concat해서 llm에 넘김

    → LLaVA-1.5-HD: 모델이 세부적인 디테일과 전체적인 맥락을 동시에 이해할 수 있게 됨 / 임의의 어느 해상도도 지원가능함

Empirical Evaluation

4.1. Benchmarks

  • LLaVA-1.5의 성능을 검증하기 위해서 12개의 벤치마크 사용함
  • 학술적 작업 위주의 벤치마크
    • VQA-v2 & GQA: 개방형 단답형 질문을 통해 모델의 시각적 지각 능력을 평가함
    • VizWiz: 시각 장애인이 질문한 8천개의 이미지를 활용해서 실제 환경에서의 제로샷 일반화 능력을 평가
    • ScienceQA: 객관식 과학 질문
    • TextVQA: 이미지 내에 텍스트가 많음
  • instruction tuning lmm 전용 벤치마크
    • POPE
    • MME-Perception
    • MMBench & MMBench-CN
    • SEED-Bench
    • LLaVA Bench in the wild & MM-Vet

4.2. Results

image.png

image.png

  • 12개의 벤치마크에서 모두 최고의 성능을 달성함
  • 7b 모델 만으로도 80b 규모의 모델보다 좋은 성능을 냄
  • llava-1.5-hd는 이미지의 세부적인 인지가 필요한 task에서 성능이 더욱 향상됨
    • ocr, 상세 묘사
  • 전체 문맥을 추가적으로 더한 것이 split-and-merge에서 발생하는artifact 문제를 극복하고 모델이 더욱 관련 지역을 정확하게 찾을 수 있도록 도와줌

단순한 구조와 공개 데이터셋 만으로도 최고의 성능을 낼 수 있음을 입증

1
2
3
4
5
6
- 기존에는 방대한 양의 visual-language 사전 학습이 필수적이라고 여겨졌으나, visual encoder가 이미 웹 스케일 데이터로 학습이 되어 있다면, <u>**visual instruction tuning만으로도 충분히 강력한 성능을 낼 수 있음**</u>을 시사함 - **global context**
- 전체 이미지를 패딩하고 224 사이즈로 resize해서 전역 context 피처로 제공함

    ![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8937ab66-9873-42b9-a0ea-ddc3bff7d2bd/b10d3593-3de0-41cc-8b7e-17ba428db3eb/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466UMOWNC6L%2F20260225%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260225T031629Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEDkaCXVzLXdlc3QtMiJGMEQCICogfNecnsD%2B5YBZFNoRN1kSsmMdJ7eBWpgEDpuOxalWAiA8OALQLa0wbEp%2BQ%2FzWl8u9kJ5Prn3%2F5Gl3tKJ4tOHdNir%2FAwgCEAAaDDYzNzQyMzE4MzgwNSIMudH46wcWfERjB4bsKtwDUyc51Mu502e%2FQ20WKK4DDIiLNRTD36lIzBIEg1xTWsSs%2FizLXroKS7j%2BiabYB4V%2B9s2qP87z%2BixKSdFMs%2BAd3U3EG4WQjxoOrAnq1i3QMtHlfvemeLOQYogVft9frgs1cB2GvbXzpJqSbdCTwkXtA7b7oLNJBXzSYFUT3UPvgiOqqP4n%2FkvKUFaGmzvljlvRMySzMlEctO%2BbJ%2FF9HobOl5HYp%2FS95TVcOfa24dQR%2BqQ7EXZiVlu3h2yeZbqYMxykYEWcVpfgsCdpMDvFEG64AH%2Bvguvo2BOHFJ94j7KyQtNPMBXwkkOKc7eaFHhHqmNw9nZEt8Qw0uyg4HJgZlM0K6jAK0uNtd2yu%2BWW1R7Ahn1S71GUucxyWD27pw%2FjbztoMQk0p5NH%2ByTpz2%2FaGIy7Z1DqB6L8GO6Fgiw%2BiRpU8iYwIBV5Vfyq%2FNcPBCFyJQ96U6z%2FvKSzgM7HlJadU1riVLO6QYMieE8HeaaVonMit1BF2PgtGQoWrOtO%2F5zWPfAnLMnKeQhf4oadx02RVRPBpVsA7q7nl3%2Bau67jgVBOSD73XuH%2BTYRiiwzK1BAONTIL8ajjGai9G2UC4fiKRe6iNK2c6tJ7FqgGDnwC2r6bMVAZZgA6XErUXlIpI6gwuIT5zAY6pgFGPelGldnAlrGkoRteUGaBfxD3A9L4WJ1q90legdTvR72clyjxU79GvHc8Ef8C%2FE68PkDlRlC1joupmeehv91lWNOg20VeVMPw76EfsbI4eNubFuVNgdPjsrqSx4W5Y3zHlnJq5woDStHVMaKFB9Psn0BsA172hJgEutyNLr4RSoMkX%2F9BuymKdeFHjpJcYuZXnXQGTu8VKAm3rUFzQvt1QKN0Gsy0&X-Amz-Signature=6278e03d41382aeb0b12868145d6c96875d04d56db0f38f2f18ad700fc419c99&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

- 이 global context를 추가함으로써 모든 데이터셋에서 성능이 효과적으로 개선됨

4.3. Emerging Properties

  • format instruction generalization
    • 배우지 않은 새로운 형식의 출력 지시에 대해서도 뛰어난 일반화 능력을 보여줌
    • VizWiz 데이터셋 - 정보가 부족해서 답을 못하는 경우에는 ‘unanswerable’이라고 답변할 것을 요구함
    • llava에 우리의 응답 형식 프롬프트를 적용했더니 이 답변 불가능한 질문에 올바르게 답변하는 비율이 11% → 67%로 대폭 상승함
    • 질문에 사실적 오류가 있는 tricky question, json format으로 응답하라는 요청에도 성공적으로 수행함

      image.png

      image.png

  • multilingual multimodal capability
    • 다국어로 학습 안해도 다국어 능력 놀라움
    • 그럼에도 다국어 instruction을 따를 수 있는 이유는 학습 데이터에 포함된 ShareGPT 덕분임
      • sharegpt는 이미지가 없는 텍스트 데이터 / 다국어 instruction을 포함
      • 모델은 이 데이터를 통해 사용자의 언어 요청에 적응해서 응답하는 행동을 학습하게 됨 → 시각적 대화로도 전이됨을 확인함
    • mmbench-cn: llava1.5는 qwen-vl-chat보다 7.3% 성능 개선 (qwen-vl-chat은 중국어 멀티모달 instruction을 finetuning한 모델임)

4.4. Ablation on LLM Choices

  • 두 가지 계열의 llm을 비교함
    • llama-1 : vicuna-v1.1, vicuna-v1.3
    • llama-2 : vicuna-v1.5, llama-2-chat
    • vicuna1.3이랑 1.5는 동일한 15만건의 sharegpt 데이터를 사용, 이는 v1 사용량의 2배임
    • vicuna 시리즈는 SFT만 함, llama-2-chat은 RLHF까지 적용됨

      image.png

    • vicuna-1.5가 가장 좋은 성능을 보임
    • llama-2 계열이 전반적으로 우수했음
    • vicuna-1.5 vs llama-2-chat?
      • mmbench에서 모두 비슷한 성능을 보였으나, cn 버전에서는 vicuna 1.5가 더 우수함
      • llama는 주로 영어 데이터로 학습, vicuna가 학습한 sharegpt에는 다국어데이터가 더 많음
    • 이미지 내 텍스트 인식과 노이즈 섞인 ocr 결과 처리가 중요한 task (textvqa 등)
      • sharegpt로 학습한 모델이 유리했음

Open Problems in LMMs

5.1. Data Efficiency

  • llava 1.5는 instructblip과 같은 다른 모델에 비하면 매우 효율적이지만, 전 버전의 llava와 비교해보면 학습 시간이 약 2배로 늘어남
  • 학습 데이터를 10%에서 50%까지 랜덤 샘플링을 해서, 데이터 양을 줄였을 때 성능이 얼마나 유지되는지 확인하고자 함

    image.png

  • 100%를 사용하는 것이 성능이 가장 좋음
  • 놀랍게도 50%만 사용했을 때도 전체 데이터를 사용했을 때의 성능 대비 98% 를 유지함
    • → 데이터 효율성에 대한 개선 여지가 충분함을 시사함
    • 심지어 mmbench, scienceqa 등 일부 데이터셋에서는 성능이 더 좋아짐
    • 30%까지 줄였을 때도 유사함
  • “less-is-more”: 적은 데이터로도 충분한 정렬이 가능하다
    • 이 원칙이 mllm에서도 가능함을 보여줌

5.2. Rethinking Hallucination in LMMs

  • 환각 현상
    • 원인: 학습 데이터셋의 오류가 있을 때 환각을 일으키는 원인이 된다고 믿어옴
  • 입력 해상도를 448과 같이 더욱 확장했을 때 환각 현상이 현저하게 줄어드는 것을 발견함
    • → lmm이 학습 데이터에 포함된 소수의 오류에는 어느정도 견고함을 가지고 있음을 시사함
  • 모델이 학습 데이터에 기술된 세부사항을 식별할만큼 해상도가 충분히 크지 않으면 문제가 발생함
    • 그리고 이런 모델의 능력을 넘어서는 데이터가 많아지면 환각하는 법을 배우게 됨
  • → 데이터 annotation을 상세하게 개선하는 것과 그 정보를 적절하게 처리할 수 있는 모델의 능력 사이의 적절한 균형이 필요함

5.3. Compositional Capabilities

  • 명시적인 연합 학습 없이도 서로 다른 능력을 결합하여 새로운 task에 적용하는 compositional 능력 (조합능력)
  • 긍정적인 발견
    • sharegpt 데이터를 포함함으로써 시각적 대화에서의 언어능력이 개선됨 + 다국어 멀티모달 능력도 확보 + 시각적 대화에서 더 길고 상세한 응답 제공
    • 시각적 근거 강화 → 실제 시각적 대화 응답의 정확성을 높임
    • 모든 task 조합을 일일이 학습시키지 않아도 조합 능력을 활용해 성능을 개선할 수 있음을 시사함
  • 한계점
    • 특정 물체의 속성을 vqa에서 정확하게 맞힌다고 해서, 전체 이미지에 대한 상세 설명 내에서도 그 속성을 정확하게 묘사하리라는 법은 없음
    • 특정 외국어로 대화를 나누는 능력은 여전히 다른 능력에 비해서 뒤쳐짐 (ex. 한국어)

Conclusion

  • 본 연구는 단순하면서도 효과적이고 데이터 효율적인 llava-1.5 모델을 제안함
  • visual instruction tuning의 open 문제들을 탐구하고, lmm의 입력 해상도를 개선하고, 모델의 환각 현상 및 조합 능력에 대한 흥미로운 발견을 제시함
  • 향후 lmm 연구에 중요한 참고자료가 되기를 기대함
  • 여전히 남은 미해결 과제
    • 계산 비용: 고해상도 이미지 처리 시 늘어나는 학습 시간
    • 멀티 이미지 이해 부족
    • 특정 분야의 전문성 부족
    • 환각 문제의 지속

💡 Key Takeaways
(1) 구조의 단순화: 복잡한 q-former 대신, 2-layer mlp로 바꾸는 것만으로도 성능 개선
(2) response format 프롬프팅 (단답형 / 긴 답변에 대한 지시)
(3) 해상도 개선: 이미지를 패치로 나누고, 전역 문맥 제공을 위해 resized 이미지 피처와 concat

This post is licensed under CC BY 4.0 by the author.