什么,最懂表情包的中文开源大模型出现了??!
就在最近,来自清华的一个叫VisualGLM-6B的大模型在网上传开了来,起因是网友们发现,它连表情包似乎都能解读!
像这个腊肠犬版蒙娜丽莎,它不仅准确理解了这是腊肠犬与蒙娜丽莎的“合体照”,还点出了这只是一幅虚构作品:
又像是这个正在出租车后熨衣斗的男子,它也一眼看出了“不对劲”的地方:
值得一提的是,在此前GPT-4刚发布时,网友们也同样将它用来测了测常识理解能力:
就如同弱智吧问题是大模型语言理解能力的benchmark一样,表情包简直就是大模型图片理解能力的benchmark。
要是它真能理解网友们奇奇怪怪的表情包,那AI简直没有什么不能get到的信息点了啊!
我们赶紧测试了一波,看看它究竟效果如何。
gif也能看懂,但解读太过正经
目前,VisualGLM-6B已经推出了网页端试玩版。
只需要在Hugging Face的试玩界面上传图片,再与它进行“对话”,它就能生成理解图片的结果:
先试试初级难度的表情包。
官方给出了几个问题示例,例如“描述一下这个场景”、“这是什么东西”、“这张图片描述了什么”,我们就先尝试一下这几个问题。
输入一只正在听歌的小猫,让VisualGLM-6B描述一下表情包中的场景:
还不错,VisualGLM-6B准确get了小猫享受音乐或使用电子设备这个过程!
再输入一个章鱼哥表情包,问它“这是什么东西”:
也没问题。看起来能拿给爸妈用了(手动狗头)。
再试试用吃饭小狗,让VisualGLM-6B解读一下这张图片描述了什么:
看起来初级表情包都没什么问题,是时候加大力度了。
上传一个gif试试?*眼似乎没有问题:
但再换一个gif试试就会发现,它似乎只理解了*帧图像,猜测是不是“主角在试图抓住或捕捉它”,但实际上只是在扔钞票:
与之前的一些图片理解AI不同,VisualGLM-6B在解读时会着重介绍表情包角色中的面部表情,例如“它看起来不舒服或者紧张”:
BUT!当我们再上一点难度,给表情包配上文字之后,它就无法理解表情包的含义了:
尤其是这种靠配文传达表情包精髓的,VisualGLM-6B就会开始展现“瞎解读”的功底:
如果图像拼接太多,它还会出现奇怪的bug,例如把摸鱼狗头人认成大鲨鱼:
而且,它在描述表情包的时候整体比较正经,不会解读图像以外的“用意”。
例如,有网友测试了一下经典的“熊猫人显卡”表情包:
以及周星驰的经典“我全都要”表情包:
显然VisualGLM-6B能大致理解图片的场景,但对于表情包的配文就无法理解了。
总结一下,对于包含经典作品角色的表情包,或是经过文字加工前的“原始”表情包,VisualGLM-6B能说出这个角色的名字,或是描述出其中的场景:
虽然也可以让它描述情绪,不过AI看出来的情绪,可能和最终表情包表达的情绪不太一样:
但一旦表情包加上了文字、或是被P进了新场景,VisualGLM-6B就会因为无法解读图片中文字的意思,而变得“看不懂梗”了。
那么,拥有一部分解读表情包能力的VisualGLM-6B,究竟是什么来头?
多模态对话VisualGLM-6B,*只需8.7G显存
事实上,VisualGLM-6B并非专门为“表情包解读”而开发。
它是由智谱AI和清华大学KEG实验室打造的开源多模态对话模型,主要用于中文图像理解,解读表情包可以说只是它被开发出来的一个“副业”。
它的正经用法,一般是酱婶的:
提起这个团队,大家更熟悉的可能是ChatGLM-6B大模型。
后者此前我们有作介绍:
它是“清华系ChatGPT”的一员,2022年8月发布,共62亿规模参数,支持中英双语对话。
上线4天就突破6k star,目前已经近25k。
据介绍,VisualGLM-6B正是在ChatGLM-6B的基础上完成:
ChatGLM-6B负责它的语言模型部分,图像部分则通过训练BLIP2-Qformer构建起视觉模型与语言模型的“桥梁”。
因此,VisualGLM-6B整体模型共78亿参数。
具体而言,VisualGLM-6B的预训练在中英文权重相同的情况下,在30M高质量中文图文对和300M经过筛选的英文图文对上完成(来自CogView数据集)。
这一训练方法可以将视觉信息对齐到ChatGLM的语义空间。
微调阶段,VisualGLM-6B又在长视觉问答数据上训练,以生成符合人类偏好的答案。
与此同时,VisualGLM-6B由SwissArmyTransformer (简称“sat” ) 库训练,这是一个支持Transformer灵活修改、训练的工具库,支持Lora、P-tuning等参数高效微调方法。
最终,本项目既提供了HuggingFace接口,也提供了基于sat的接口。
要说VisualGLM-6B*的特点,便是结合模型量化技术,可以让大家在消费级的显卡上进行本地部署,INT4量化级别下*只需8.7G显存。
具体包含三种部署工具:
一是命令行Demo。执行命令:python cli_demo.py
然后程序便自动下载sat模型,大家就可以在命令行中进行交互式的对话了。
输入指示并回车即可生成回复,输入clear可以清空对话历史,输入stop终止程序。
二是基于Gradio的网页版Demo。
需要先安装Gradio:pip install gradio,然后下载并进入本仓库运行web_demo.py,最后在浏览器中打开系统输出的地址即可使用。
三是API部署。需要安装额外的依赖:pip install fastapi uvicorn,然后运行仓库中的api.py。
更多细节和推理、量化部分的方法就不赘述了,可戳参考链接[1]查看官方介绍。
需要注意的是,如官方所述,VisualGLM-6B正处于V1版本,视觉和语言模型的参数、计算量都较小,因此会出现相当多的已知局限性,像图像描述事实性/模型幻觉问题、图像细节信息捕捉不足,以及一些来自语言模型的局限性等等。
就如下面这张测试,VisualGLM-6B描述得还挺到位的,能看出是阿根廷和世界杯,但别被蒙了:图上并没有阿圭罗和迪马利亚这两位球星。
因此,官方也称将在后续继续针对以上问题进行一一改进。
不过,拥有图片解读能力的大模型,也并不只有VisualGLM-6B一个。
目前来看,表现比较好的“表情包杀手”还是GPT-4,从网友测试来看,它已经能根据表情包中的文字解读meme:
开源大模型方面,基于Vicuna-13B开发的MiniGPT-4也能解读图片,同样只需要一张单卡RTX3090就能搞定:
不过在这批大模型中,VisualGLM-6B强调的则是“中文开源”特点,换而言之,它在中文描述上可能会比其他大模型更准确一些。
你试玩过这些“表情包解读AI”了吗?感觉谁更能get人类思想精华?(手动狗头)
参考链接:[1]https://mp.weixin.qq.com/s/SzS6Gx8ZjtBXXQ7cs8-zLQ[2]https://twitter.com/thukeg/status/1659079789599248386