VisualGLM-6B简介
VisualGLM-6B是由清华大学开源的一个支持图像、中文和英文的多模态对话语言模型。它基于ChatGLM-6B语言模型,通过训练BLIP2-Qformer构建起视觉模型与语言模型的桥梁,整体模型共78亿参数。
VisualGLM-6B具有以下特点:
支持图像、中文和英文的多模态对话基于ChatGLM-6B,具有62亿参数通过BLIP2-Qformer连接视觉模型和语言模型在30M中文和300M英文图文对上进行预训练支持低资源设备部署,INT4量化后最低只需6.3G显存
官方资源
GitHub仓库: https://github.com/THUDM/VisualGLM-6BHugging Face模型: https://huggingface.co/THUDM/visualglm-6b技术报告: https://arxiv.org/abs/2103.10360
使用教程
安装依赖:pip install -r requirements.txt使用Transformers加载模型:from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("THUDM/visualglm-6b", trust_remote_code=True)model = AutoModel.from_pretrained("THUDM/visualglm-6b", trust_remote_code=True).half().cuda()image_path = "your_image_path"response, history = model.chat(tokenizer, image_path, "描述这张图片。", history=[])print(response)运行Demo:python web_demo.py # 网页版Demopython cli_demo.py # 命令行Demo
模型微调
VisualGLM-6B支持以下几种微调方式:
LoRAQLoRAP-tuning
微调示例代码:
bash finetune/finetune_visualglm.sh
部署
命令行部署: python cli_demo.py网页部署: python web_demo.pyAPI部署: python api.py
模型量化
model = AutoModel.from_pretrained("THUDM/visualglm-6b", trust_remote_code=True).quantize(8).half().cuda()
相关项目
XrayGLM: 基于VisualGLM-6B的X光诊断问答模型StarGLM: 基于VisualGLM-6B的天文图像问答模型
总结
VisualGLM-6B作为一个开源的多模态对话模型,为研究者和开发者提供了丰富的学习和应用资源。通过本文的介绍和资源汇总,相信读者可以快速上手使用VisualGLM-6B,并根据自己的需求进行进一步的开发和优化。
