🚀 InternLM-XComposer2
InternLM-XComposer2 是基於 InternLM2 的視覺語言大模型(VLLM),可實現高級的文本 - 圖像理解與合成。
InternLM-XComposer2
[💻Github 倉庫](https://github.com/InternLM/InternLM-XComposer)
[論文](https://arxiv.org/abs/2401.16420)
我們發佈了兩個版本的 InternLM-XComposer2 系列模型:
- InternLM-XComposer2-VL:以 InternLM2 作為大語言模型(LLM)初始化的預訓練 VLLM 模型,在各種多模態基準測試中表現出色。
- InternLM-XComposer2:針對“自由形式的文本 - 圖像交錯合成”進行微調的 VLLM 模型。
🚀 快速開始
我們提供一個簡單的示例,展示如何使用 🤗 Transformers 庫調用 InternLM-XComposer。
import torch
from transformers import AutoModel, AutoTokenizer
torch.set_grad_enabled(False)
model = AutoModel.from_pretrained('internlm/internlm-xcomposer2-vl-1_8b', trust_remote_code=True).cuda().eval()
tokenizer = AutoTokenizer.from_pretrained('internlm/internlm-xcomposer2-vl-1_8b', trust_remote_code=True)
query = '<ImageHere>Please describe this image in detail.'
image = './image1.webp'
with torch.cuda.amp.autocast():
response, _ = model.chat(tokenizer, query=query, image=image, history=[], do_sample=False)
print(response)
✨ 主要特性
InternLM-XComposer2 具有以下特性:
- 基於強大的 InternLM2 基礎,在多模態任務中表現出色。
- 提供兩個版本,分別適用於不同的應用場景。
📦 安裝指南
從 Transformers 庫導入
要使用 Transformers 庫加載 InternLM-XComposer2-VL-1.8B 模型,請使用以下代碼:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
ckpt_path = "internlm/internlm-xcomposer2-vl-1_8b"
tokenizer = AutoTokenizer.from_pretrained(ckpt_path, trust_remote_code=True).cuda()
model = AutoModelForCausalLM.from_pretrained(ckpt_path, torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()
📄 許可證
代碼遵循 Apache 2.0 許可證,而模型權重完全開放用於學術研究,也允許免費商業使用。如需申請商業許可證,請填寫申請表(英文/中文)。如有其他問題或合作需求,請聯繫 internlm@pjlab.org.cn。