Salesforce, InstructBLIP 모델의 논문 / 코드 / 가중치 공개

Salesforce에서 BLIP-2 모델에 이어 InstructBLIP 모델의 논문과 구현, 그리고 학습된 가중치를 공개했습니다.

InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning

image

아래와 같이 Vicuna, T5를 사용한 2 종류의 모델이 있으며,

# ==================================================
# Architectures                  Types
# ==================================================
# blip2_vicuna_instruct          vicuna7b, vicuna13b
# blip2_t5_instruct              flant5xl, flant5xxl

Salesforce에서 제공하는 LAVIS 패키지(pip install salesforce-lavis)를 설치하여 바로 사용해 볼 수 있습니다.
아직 PyPI의 패키지에는 InstructBLIP 모델들이 반영되어 있지 않아서, GitHub에서 직접 설치하셔야 합니다.

git clone https://github.com/salesforce/LAVIS.git
cd LAVIS
pip install -e .
from lavis.models import load_model_and_preprocess
# loads InstructBLIP model
model, vis_processors, _ = load_model_and_preprocess(name="blip2_vicuna_instruct", model_type="vicuna7b", is_eval=True, device=device)
# prepare the image
image = vis_processors["eval"](raw_image).unsqueeze(0).to(device)


코드와 사용법이 궁금하신 분들께서는 GitHub 저장소에서,


논문이 궁금하신 분들께서는 arXiv에서 바로 확인하실 수 있습니다.
(저는 오늘도 읽기 큐에 넣기만 하고 있습니다;;; :sweat_smile: )


문서의 마지막에 제시된 이미지의 이상한 부분을 설명하라는 지문에 대한 InstructBLIPGPT-4, miniGPT-4 등의 답변을 비교해 두었는데 인상적이네요. :monkey:

image

논문에 요런 사례도 첨부되어 있네요 :smiley:

image