赞
踩
VisualGLM-6B 是一个开源的,支持图像、中文和英文的多模态对话语言模型,语言模型基于 ChatGLM-6B,具有 62 亿参数;图像部分通过训练 BLIP2-Qformer 构建起视觉模型与语言模型的桥梁,整体模型共78亿参数。
VisualGLM-6B 依靠来自于 CogView 数据集的30M高质量中文图文对,与300M经过筛选的英文图文对进行预训练,中英文权重相同。该训练方式较好地将视觉信息对齐到ChatGLM的语义空间;之后的微调阶段,模型在长视觉问答数据上训练,以生成符合人类偏好的答案。
以BERT/GPT为代表的自回归模型展现出强大的理解生成能力。同样的,如何将这种成功“复制”到视觉/跨模态领域?其中以DALL-E、CogView、BEiT等为代表的模型思路为
(1)将图像当成一种语言进行预训练;
(2)离散化token。
以CogView为例,输入token既包含了文本token,也包含了Image token,所以Transformer既建模了文本也建模了图像,并且建模了文本到图像这种跨模态的过程。
但是该思路存在问题:会损失底层信息;token利用效率低,比如需要>1000tokens来描述一张256分辨率的图,此外训练过程也是较难稳定的。
实际上,人类只对少量的视觉语义信息感兴趣,那该如何提升效率并充分利用预研模型呢?BLIP2提供的思路如下:将图像特征对齐到预训练语言模型。
优点:充分得利用了语言模型,并且无缝结合原有的多轮对话能力,
缺点:但是提取图像语义特征会损失底层信息。
基于上述因素,多模态预训练仍存在一些劣势。
ChatGLM-6B 是一个开源的、具有62亿参数的中英双语语言模型。VisualGLM即是以ChatGLM-6B为基础模型,让ChatGLM拥有图像识别的能力。
• 通用领域
• 中英双语
• 与正常语言问答顺畅融合
模型架构包含VIT+QFormer+ChatGLM-6B。基本思路如下:
通过中间模块构建起预训练视觉和语言模型的桥梁,Qformer用于在视觉和语言模型之间建立桥梁。
• 预训练过程中使用中英双语图文大规模数据
• 微调阶段使用高质量图文指令数据对进行训练
• 与纯语言类似的技术方案
• BLIP2、MiniGPT4等工作类似思路
预训练阶段:学习QFormer和Vit Lora参数。
微调阶段:学习Qformer和ChatGLM的Lora参数。
两阶段几乎冻结了VIT和CHatGLM参数,这也是为了防止灾难性遗忘。Qformer参数与每一个阶段的全参数训练,也可以看出Qformer有点类似桥梁的意思。
个人觉得在微调之后进行VIT+Qformer+ChatGLM-6B的联合训练拟合效果会不会更好?
训练目标有两个:
• 自回归损失(根据图像生成正确的文本)
• 对比损失(输入ChatGLM的视觉特征与对应文本的语义特征对齐)
训练数据包含以下几个部分:
• CogView工作积累的30M中文图文对
• 精选LAION+CC12M的100M英文图文对
• 来自其他工作和数据集的视觉问答指令微调数据集
• 自己构建的高质量视觉问答指令微调数据集
VisualGLM-6B正处于V1版本视觉和语言模型的参数、计算量都较小,局限性包含以下几点:
(1)图像描述事实性/模型幻觉问题。在生成图像长描述的时候,距离图像较远时,语言模型的将占主导,有一定可能根据上下文生成并不存在于图像的内容。
(2)属性错配问题。在多物体的场景中,部分物体的某些属性,经常被错误安插到其他物体上。
(3)分辨率问题。本项目使用了224*224的分辨率,也是视觉模型中最为常用的尺寸;然而为了进行更细粒度的理解,更大的分辨率和计算量是必要的。
(4)由于数据等方面原因,模型暂不具有中文ocr的能力(英文ocr能力有一些)。
从项目代码路径下载代码到本地,
https://github.com/THUDM/VisualGLM-6B
然后执行以下安装依赖。
pip install requirements.txt
从以下路径下载模型文件放于VisualGLM-6B文件夹下,权重被拆分成5个文件,一共约有22G大小。
https://huggingface.co/THUDM/visualglm-6b
VisualGLM-6B 由 SwissArmyTransformer(简称sat) 库训练,这是一个支持Transformer灵活修改、训练的工具库,支持Lora、P-tuning等参数高效微调方法,所以如果
pip install SwissArmyTransformer
不成功的话,建议下载SwissArmyTransformer源码手动安装。如果一切顺利执行以下就可以运行可视化服务。显存大小约占16G左右。
python web_demo_hf.py
VisualGLM更多的微调与推理量化请参考项目代码地址!!
参考文献
https://www.bilibili.com/video/BV14L411q7fk/?spm_id_from=333.337.search-card.all.click
https://github.com/THUDM/VisualGLM-6B
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。