InternLM-XComposer: 매우 긴 텍스트 및 이미지-동영상 이해 출력을 위한 멀티모달 매크로 모델입니다.
일반 소개
InternLM-XComposer는 InternLM 팀이 개발하고 깃허브에서 호스팅하는 오픈소스 그래픽 멀티모달 매크로모델링 프로젝트로, InternLM 언어 모델을 기반으로 텍스트, 이미지, 동영상 등 멀티모달 데이터 처리가 가능하며 그래픽 저작, 이미지 이해, 동영상 분석 분야에서 널리 사용되고 있습니다. 이 프로젝트는 최대 96K의 긴 컨텍스트를 지원하고, 4K 고해상도 이미지를 처리하며, 세분화된 영상을 이해할 수 있으며, 7B 파라미터만을 사용해 GPT-4V와 비슷한 성능을 구현하는 것으로 알려져 있습니다. 멀티모달 AI에 관심이 있는 연구자, 개발자 또는 사용자는 GitHub를 통해 코드, 모델 가중치 및 자세한 설명서를 확인할 수 있습니다. 2025년 2월 현재, 이 프로젝트는 멀티모달 인터랙션 경험을 지속적으로 최적화하기 위해 InternLM-XComposer-2.5 및 OmniLive를 포함한 여러 버전을 출시했습니다.

기능 목록
- 매우 긴 컨텍스트 출력 지원: 복잡한 작업을 위해 최대 96K의 혼합 그래픽 콘텐츠를 처리합니다.
- 고해상도 이미지 이해: 336픽셀부터 4K까지 선명한 디테일의 이미지 분석을 지원합니다.
- 세분화된 동영상 이해: 동영상을 여러 프레임 이미지로 분할하여 역동적인 디테일을 포착합니다.
- 그래픽 생성: 지침에 따라 그래픽 기사 또는 웹 콘텐츠를 생성합니다.
- 여러 라운드의 다중 이미지 대화: 연속적인 대화 분석을 위해 여러 이미지 입력을 지원합니다.
- 오픈 소스 모델 지원: 다양한 모델 가중치 및 미세 조정 코드를 제공하여 2차 개발을 용이하게 합니다.
- 멀티모달 스트리밍 상호 작용: OmniLive 버전은 장시간 동영상 및 오디오 처리를 지원합니다.
도움말 사용
InternLM-XComposer는 GitHub 기반의 오픈 소스 프로젝트이므로 사용자가 설치 및 사용하려면 약간의 프로그래밍 기반이 필요합니다. 다음은 사용자가 빠르게 시작하는 데 도움이 되는 자세한 사용 가이드입니다.
설치 프로세스
1. 환경 준비
- 디바이스에 Python 3.9 이상이 설치되어 있는지 확인하세요.
- NVIDIA GPU 및 CUDA 지원이 필요합니다(CUDA 11.x 또는 12.x 권장).
- Git을 설치하여 코드베이스를 복제합니다.
2. 프로젝트 복제
터미널에서 다음 명령을 실행하여 프로젝트를 로컬로 다운로드합니다:
git clone https://github.com/InternLM/InternLM-XComposer.git cd InternLM-XComposer
3. 가상 환경 만들기 Conda 또는 가상 환경 도구를 사용하여 종속성을 분리하세요:
conda create -n internlm python=3.9 -y conda activate internlm
4. 종속성 설치 공식 문서에 따라 필요한 라이브러리를 설치하세요:
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117 pip install transformers==4.33.2 timm==0.4.12 sentencepiece==0.1.99 gradio==4.13.0 markdown2==4.4.10 xlsxwriter==3.1.2 einops
- 선택 사항: 플래시 어텐션2를 설치하여 GPU 메모리를 절약하세요:
pip install flash-attn --no-build-isolation
5. 모델 가중치 다운로드 예를 들어 이 프로젝트는 Hugging Face에서 사전 학습된 모델을 다운로드할 수 있도록 지원합니다:
model = AutoModel.from_pretrained('internlm/internlm-xcomposer2d5-7b', torch_dtype=torch.bfloat16, trust_remote_code=True).cuda().eval()
6. 설치 확인 샘플 코드를 실행하여 환경이 정상인지 테스트합니다:
python -m torch.distributed.run --nproc_per_node=1 example_code/simple_chat.py
주요 기능
1. 그래픽 제작
- 기능 소개사용자 지침에 따라 기사나 웹 페이지와 같은 텍스트와 이미지가 포함된 콘텐츠를 생성합니다.
- 절차::
- 입력 준비: 텍스트 지침을 작성합니다(예: "사진 3장을 포함하여 여행에 관한 글 쓰기").
- 코드를 실행합니다:
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained('internlm/internlm-xcomposer2d5-7b', trust_remote_code=True).cuda().eval()
tokenizer = AutoTokenizer.from_pretrained('internlm/internlm-xcomposer2d5-7b', trust_remote_code=True)
query = "写一篇关于旅行的文章,包含三张图片"
response, _ = model.chat(tokenizer, query, do_sample=False, num_beams=3)
print(response)
- 출력: 모델이 그래픽 콘텐츠와 텍스트 콘텐츠를 혼합하여 생성하고 이미지 설명이 텍스트에 자동으로 포함됩니다.
2. 고해상도 이미지 이해
- 기능 소개고해상도 이미지를 분석하고 자세한 설명을 제공합니다.
- 절차::
- 이미지 준비: 이미지 파일을 로컬 디렉터리에 배치합니다(예
examples/dubai.png
). - 코드를 실행합니다:
query = "详细分析这张图片"
image = ['examples/dubai.png']
with torch.autocast(device_type='cuda', dtype=torch.float16):
response, _ = model.chat(tokenizer, query, image, do_sample=False, num_beams=3)
print(response)
- 출력: 모델은 이미지의 내용에 대한 자세한 설명(예: 건물, 색상 등 세부 사항)을 반환합니다.
3. 동영상 분석
- 기능 소개: 동영상 프레임을 분해하고 콘텐츠를 설명합니다.
- 절차::
- 준비 동영상: 예제 동영상 다운로드(예
liuxiang.mp4
). - OmniLive 버전을 사용합니다:
from lmdeploy import pipeline
pipe = pipeline('internlm/internlm-xcomposer2d5-ol-7b')
video = load_video('liuxiang.mp4')
query = "描述这段视频内容"
response = pipe((query, video))
print(response.text)
- 출력 결과: 동작이나 장면 등 동영상 프레임에 대한 자세한 설명을 반환합니다.
4. 여러 차례의 다중 차트 대화
- 기능 소개연속 대화를 위한 다중 사진 입력을 지원합니다.
- 절차::
- 여러 이미지를 준비합니다(예
cars1.jpg
,cars2.jpg
,cars3.jpg
). - 코드를 실행합니다:
query = "Image1 <ImageHere>; Image2 <ImageHere>; Image3 <ImageHere>; 分析这三辆车的优缺点"
images = ['examples/cars1.jpg', 'examples/cars2.jpg', 'examples/cars3.jpg']
response, _ = model.chat(tokenizer, query, images, do_sample=False, num_beams=3)
print(response)
- 출력: 모델이 각 사진에 해당하는 차량 특성을 하나씩 분석합니다.
주의
- 하드웨어 요구 사항최소 24GB의 GPU 메모리가 권장되며, 저사양 기기의 경우 4비트 양자화 버전을 사용하세요.
- 디버깅 팁비디오 메모리가 부족한 경우, 비디오 메모리가 부족한 경우
hd_num
매개변수(기본값 18)를 설정합니다. - 커뮤니티 지원자주 묻는 질문을 보거나 피드백을 제출하려면 GitHub 이슈 페이지를 방문하세요.
이 단계를 통해 연구와 개발 모두에 InternLM-XComposer의 강력한 기능을 쉽게 설치하고 사용할 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...