VisCPM是由清华大学自然语言处理实验室、面壁智能和知乎联合开发的一个开源多模态大模型系列。该系列模型支持中英双语的多模态对话能力(VisCPM-Chat模型)和文到图生成能力(VisCPM-Paint模型),在中文多模态开源模型中达到了最佳水平。
VisCPM具有以下几个主要特点:
开源使用:VisCPM可以自由用于个人和研究用途,推动了多模态大模型开源社区和相关研究的发展。
涵盖图文双向生成:VisCPM模型系列较为全面地支持了图文多模态能力,包括多模态对话(图到文生成)和文到图生成。
中英双语性能优异:得益于语言模型基座CPM-Bee优秀的双语能力,VisCPM在中英双语的多模态对话和文到图生成均取得了亮眼的效果。
VisCPM基于百亿参数量语言大模型CPM-Bee(10B)训练而成,融合了视觉编码器Muffin和视觉解码器Diffusion-UNet,以支持视觉信号的输入和输出。得益于CPM-Bee基座优秀的双语能力,VisCPM可以仅通过英文多模态数据预训练,就能泛化实现优秀的中文多模态能力。
VisCPM-Chat支持面向图像进行中英双语多模态对话。该模型使用Muffin视觉编码架构,使用CPM-Bee(10B)作为语言基座模型,并通过语言建模训练目标融合视觉和语言模型。模型训练包括预训练和指令精调两个阶段:
预训练:使用约100M高质量英文图文对数据进行预训练,包括CC3M、CC12M、COCO、Visual Genome、Laion等数据集。在此阶段,语言模型参数保持固定,仅更新视觉编码器的参数,以支持大规模视觉-语言表示的高效对齐。
指令精调:采用LLaVA-150K英文指令精调数据,并混合相应翻译后的中文数据对模型进行指令精调,以对齐模型多模态基础能力和用户使用意图。在此阶段更新全部模型参数,以提升指令精调数据的利用效率。
有趣的是,研究人员发现即使仅采用英文指令数据进行指令精调,模型也可以理解中文问题,但仅能用英文回答。这表明模型的多语言多模态能力已经得到良好的泛化。在指令精调阶段进一步加入少量中文翻译数据,可以将模型回复语言和用户问题语言对齐。
VisCPM-Chat在LLaVA标准英文测试集和翻译的中文测试集上进行了评测,该评测基准考察模型在开放域对话、图像细节描述、复杂推理方面的表现,并使用GPT-4进行打分。评测结果显示,VisCPM-Chat在中文多模态能力方面取得了最佳的平均性能,在通用域对话和复杂推理表现出色,同时也表现出了不错的英文多模态能力。
目前提供了两个模型版本:
两个模型在指令精调阶段使用的数据相同,VisCPM-Chat-zhplus在预训练阶段额外加入了20M清洗后的原生中文图文对数据和120M翻译到中文的图文对数据。
此外,还发布了VisCPM-Chat-v1.1版本,在指令精调阶段额外加入了UniMM-Chat多模态指令精调数据集,进一步强化了细节理解和复杂推理能力。
下面是VisCPM-Chat的一个使用示例:
from VisCPM import VisCPMChat from PIL import Image model_path = '/path/to/checkpoint' viscpm_chat = VisCPMChat(model_path, image_safety_checker=True) # 默认开启对输入图片的安全检查 image_path = 'figures/vlu_case1.png' image = Image.open(image_path).convert("RGB") question = '如果用一句中国唐代的著名诗人"李白"的古诗来描述这幅图像,你能想到什么?' answer, _, _ = viscpm_chat.chat(image, question) print(answer)
输出结果:
"黄河之水天上来,奔流到海不复回。" 李白的这句诗可以用来形容这幅图片中汹涌澎湃、波涛汹涌的景象:一条湍急的河流从山上奔腾而下,形成了一幅令人叹为观止的画面,展示出大自然的力量和雄伟壮丽。
VisCPM-Paint支持中英双语的文到图生成。该模型使用CPM-Bee(10B)作为文本编码器,使用UNet作为图像解码器,并通过扩散模型训练目标融合语言和视觉模型。在训练过程中,语言模型参数始终保持固定。研究人员使用Stable Diffusion 2.1的UNet参数初始化视觉解码器,并通过逐步解冻其中关键的桥接参数将其与语言模型融合。该模型在LAION 2B英文图文对数据上进行了训练。
与VisCPM-Chat类似,得益于CPM-Bee的双语能力,VisCPM-Paint可以仅通过英文图文对训练,就能泛化实现良好的中文文到图生成能力,达到中文开源模型的最佳效果。通过进一步加入20M清洗后的原生中文图文对数据,以及120M翻译到中文的图文对数据,模型的中文文到图生成能力可以获得进一步提升。
研究人员在标准图像生成测试集MSCOCO上采样了3万张图片,计算了常用评估图像生成指标FID (Fréchet Inception Distance)评估生成图片的质量。评测结果显示,VisCPM-Paint在中文文到图生成任务上达到了最佳效果。
同样提供了两个模型版本:
VisCPM-Paint-balance只使用了英文图文对进行训练,VisCPM-Paint-zhplus在VisCPM-Paint-balance基础上增加了20M原生中文图文对数据和120M翻译到中文的图文对数据进行训练。
下面是VisCPM-Paint的一个使用示例:
from VisCPM import VisCPMPaint painter = VisCPMPaint('/path/to/checkpoint', image_safety_checker=True, prompt_safety_checker=True, add_ranker=True) # 默认对输入的文本和输出的图片进行安全检查,默认开启 重排序 image = painter.generate('人闲桂花落,月静春山空') # 对应上图第一行第二张图片 image.save('/data/test.png')
git clone https://github.com/OpenBMB/VisCPM.git cd VisCPM
conda create -n viscpm python=3.10 -y conda activate viscpm
pip install torch>=1.10 pip install -r requirements.txt
VisCPM需要单卡40GB以上的GPU运行。为了支持更加高效的低资源推理场景,研究人员借助BMInf工具支持更低的显存需求。首先安装BMInf依赖pip install bminf
,然后在命令行中指定export CUDA_MEMORY_CPMBEE_MAX=1g
(具体数值可以根据个人需求设定),然后按照上述步骤进行推理,VisCPM-Chat最低显存占用可以降至5G,VisCPM-Paint最低显存占用可以降至17G。
此外,研究人员还提供了简易的基于gradio的网页版Demo,可以通过以下命令部署:
pip install gradio git clone https://github.com/OpenBMB/VisCPM.git cd VisCPM python demo_chat.py # viscpm_chat demo, or python demo_paint.py # viscpm_paint demo
为适应特定场景下的需求,研究人员提供了VisCPM-Chat模型的微调代码,用户可以在私有数据上进行微调。微调代码位于./finetune/ft_viscpm_chat
目录下,具体的微调代码使用方法如下:
# 获取数据集 bash ./finetune/ft_viscpm_chat/get_llava150k_zh.sh # 模型微调, 注意修改其中的数据集与模型checkpoint路径 bash ./finetune/ft_viscpm_chat/run_viscpm_chat_ft.sh # node: 8 # batch_size: 8 * 1 # 其他配置可参考'./finetune/ft_viscpm_chat/config/viscpm_chat_ft.json'与'./finetune/ft_viscpm_chat/run_viscpm_chat_ft.sh'
为了帮助用户防止模型处理或生成不符合普遍社会价值观的内容,研究人员在VisCPM中加入了内容安全保障模块。当安全模块检测到模型处理或生成的图像文本内容不符合安全规范时,会对相应内容进行拦截。对VisCPM-Chat接受的图片输入以及VisCPM-Paint接受的文字输入和图片输出均进行了安全检查。
VisCPM系列模型采用"通用模型许可协议-来源说明-宣传限制-非商业化"协议,允许个人使用和研究用途。如需将模型用于商业用途,请联系cpm@modelbest.cn来洽谈商业授权事宜。
CPM-Bee基座采用"通用模型许可协议-来源说明-宣传限制-商业授权"协议,允许商用,如需将模型用于商业用途,请联系cpm@modelbest.cn来获取书面授权。
研究人员计划在未来支持模型量化功能,以进一步降低推理成本。
总的来说,VisCPM作为一个开源的中英双语多模态大模型系列,在多模态对话和文到图生成任务上都取得了优异的表现。其开源性质和优秀的性能,为多模态AI技术的研究和应用提供了宝贵的资源。随着持续的优化和更新,VisCPM有望在未来为更多领域带来创新和突破。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号