🚀 InternLM-XComposer2
InternLM-XComposer2 是一款基于 InternLM2 的视觉语言大模型(VLLM),可实现高级的文本 - 图像理解与合成。本仓库基于 InternLM-XComposer2 官方版 构建,支持 批量训练
和 闪存注意力机制(flash-attn)
以加速运算。欢迎试用并提出宝贵建议~
原始 InternLM-XC2 README
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-7b', trust_remote_code=True).cuda().eval()
tokenizer = AutoTokenizer.from_pretrained('internlm/internlm-xcomposer2-vl-7b', 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)
从 Transformers 导入模型
若要使用 Transformers 加载 InternLM-XComposer2-VL-7B 模型,请使用以下代码:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
ckpt_path = "internlm/internlm-xcomposer2-vl-7b"
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。
属性 |
详情 |
模型类型 |
视觉语言大模型(VLLM) |
训练数据 |
未提及 |