설치·Quick Start (readthedocs)

설치·Quick Start (readthedocs)

InternVL은 readthedocs 문서에서 설치부터 추론까지 가이드를 제공해요. 저장소를 클론하고 의존성을 설치한 뒤, internvl_chat 모듈로 이미지·영상 추론을 시작할 수 있어요.

시각 추론은 transformers의 AutoModel을 쓰는 방식과, 프로젝트 자체 추론 스크립트를 쓰는 방식이 있어요. 아래는 대표적인 멀티모달 채팅 예시예요.

출처: https://internvl.readthedocs.io/en/latest/get_started/installation.html

설치

# 필요한 패키지
pip install torch torchvision
pip install transformers sentencepiece decord einops
# 프로젝트 클론 후 필요 시 로컬 모듈 경로 지정
git clone https://github.com/OpenGVLab/InternVL.git

일부 시각 전처리 함수(다이나믹 해상도·aspect ratio 배치)는 torchvision.transformsdecord(영상 디코딩)를 요구해요. 영상 태스크가 아니면 decord는 생략 가능해요.

추론 예시 (InternVL 2.5)

import numpy as np
import torch
import torchvision.transforms as T
from decord import VideoReader, cpu
from PIL import Image
from torchvision.transforms.functional import InterpolationMode
from transformers import AutoModel, AutoTokenizer

IMAGENET_MEAN = (0.485, 0.456, 0.406)
IMAGENET_STD = (0.229, 0.224, 0.225)

def build_transform(input_size):
    MEAN, STD = IMAGENET_MEAN, IMAGENET_STD
    transform = T.Compose([
        T.Lambda(lambda img: img.convert('RGB') if img.mode != 'RGB' else img),
        T.Resize((input_size, input_size), interpolation=InterpolationMode.BICUBIC),
        T.ToTensor(),
        T.Normalize(mean=MEAN, std=STD),
    ])
    return transform

모델 로딩:

from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained(
    'OpenGVLab/InternVL2_5-8B',
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map='auto',
).eval()
tokenizer = AutoTokenizer.from_pretrained('OpenGVLab/InternVL2_5-8B', trust_remote_code=True)

더 알아보기