经历了ChatGPT这几个月以来的各种刷屏和使用体验后,以我自身为例,尽管此前对AIGC技术并没有什么实质性的了解,至少就现阶段而言,在把它们融入到日常工作中后,我已经成为了这类技术的半个忠实信徒。
然而,相比于ChatGPT们是否正在让我这种文字工作者失业,如何让这类技术变得更好用(或者更顺手)也就成了当下让我更为关心的问题。
可现实毕竟是残酷的。单从个性化调整的角度上来说,先不谈当前开源战线上(或者大规模开放API)并不算太多的大语言模型选手们,运行/训练这些模型所需的硬件环境也是一个令常人我无法想象的问题。个人印象中,Meta泄漏的LLaMA的13B参数版本大概需要40G的显存才能跑得动。7B的低一些,24G可能就够了,但在经过各种优化后,它的输出速度依然难以令人满意。 直到不久前,我在网上搜索的过程中了解到了一个名为ChatGLM-6B的模型(感谢B站秋叶大佬的科普和推荐)。
这里也再简单介绍一下。ChatGLM-6B是由清华大学KEG实验室和智谱AI联合开源的、基于GLM架构(ChatGPT是基于GPT架构)、支持中英双语的对话语言模型。它拥有62亿参数(也是其名称中6B的来源,这两方之前也开源了参数更大的ChatGLM-130B模型),并且针对中文问答和对话进行了专门优化(基于4月13日的数据:ChatGLM-6B开源30天内,全球下载量达到75万,GitHub星标数达到1.7万)。
先抛开中文语境方面的针对性优化和开源模式,作为ChatGLM-6B最大的吸引点(对我来说),尽管它的参数量级比当前的标杆产品——动辄千亿和万亿级别的ChatGPT 3.5和ChatGPT 4相比有些相形见绌,凭借最低只需6G显存就能在跑起来的友好需求,又有什么理由要拒绝它呢?所以,我也就在本地环境中“拥有”了这个往常只能联网才能体验到的话唠机器人。
ChatGLM-6B的硬件运行环境需求,AMD显卡暂不在支持之列。当然32G内存的CPU环境也能跑,结合之前在M1 MAC上跑Stable Diffusion的经历,个人认为用CPU的并行计算能力跑人工智能模型并不是一件让人舒心的事情。
先说结论,这次一次在各种意义上都非常短的上手体验···至于为什么,也请继续看下去。
首先是ChatGLM-6B的功能,或者说它能做什么。这个问题可能由它亲自回答更好。这里我使用的是一张8G显存的3060Ti,在搭建完环境后(整个包大概占用了17.3G的储存空间),完全启动ChatGLM-6B(基于in8量化)花费了两分半左右,而这甚至可能是整个体验过程中最长的部分……
ChatGLM-6B:没错,这个问题本来就应该我来回答
可以看到,在字面意义上,ChatGLM-6B的功能与ChatGPT并没有太大的差距。然而,在具体使用方面,以我自身为例,对于ChatGPT而言,我最常用的功能是文本优化和文档分析——前者往往指的是针对某一个问题(的答案)或者某一段内容进行多次修改润色,直到给出我一个满意的结果。后者则是指针对大篇幅的文档的提炼分析——你可以把数百页的pdf文档丢进dev版的Edge浏览器,然后让New Bing帮你提炼这个文档的要点——二者都可以很大程度上提升我的工作效率。因此,在ChatGLM-6B身上,我也就产生了类似的期望。
至于聊天对话什么的,我会使用更为zz的Alexa——联动了big mouth billy bass的Echo dot。
但这里的现实依然是“残酷”的。在文本优化方面,尽管8G的显存能够让ChatGLM-6B跑起来,由于连续的对话需要消耗大量显存资源保存对话历史,一般在进行5轮左右的对话后(在我的电脑上),ChatGLM-6B就会因问显存不足(CUDA out of memory)而“熄火”,并不能像ChatGPT或者文心一言那样能够“拥有完整的一生”。
不过在点击清空对话按钮后,ChatGLM-6B也能满血复活
而针对文档分析,目前,ChatGLM-6B还不能直接访问本地文档,所以只能靠复制粘贴输入。而这样一来,整体的效率又会大幅下降,并且基于刚才提到的爆显存的问题,基本上来说,在家用级的电脑环境中(在家里插满A100的巨佬请无视这句话),ChatGLM-6B也不能胜任分析长文档的工作。
先不说正不正确,反正是能感受到ChatGLM-6B在努力回答了
这个是模范生New Bing的回答(此处得有掌声?
所以,到了这里,关于ChatGLM-6B的使用体验基本也就算是接近了尾声。回到刚才的问题,ChatGLM-6B能做什么。现在,估计你也大致有了一个相对明确的答案。并且也正如我们所看到,如果说单纯的聊天编段子以及简单地做一些文本创作,能够跑在本地环境中的ChatGLM-6B是可以在一定程度上满足我们这些需求的。但作为ChatXXX们让外界深切关注的地方——能够在哪种程度上取代人类(的繁琐重复工作)、成为一种社会生产力的助力,现阶段的家用版ChatGLM-6B显然达不到这个要求。
不过,就算如此,在完成这种字面意义上的上手体验之后,我依然把ChatGLM-6B留在了文件夹中并围绕它水了一篇文章,并且原因也很简单:开源。以当下另一个比较火热的AIGC代表Stable Diffusion为例,它同样也是一种能在家用级电脑上运行的开源AIGC模型,在用户分享的海量基准模型和LoRA之外,各种丰富的插件(比如ControlNet)也让Stable Diffusion在某种意义上成为了“职场杀手”。从这一点出发,尽管目前还没能看到类似的剧情走向以及语言模型的调整也存在着一定的上手门槛,对选择了开源之路的ChatGLM-6B来说,“未来可期”却也并不会是一个苍白空泛的词语。
已经有用户使用ChatGLM-6B用自身数据训练出了数字克隆人,这个项目的体验地址是https://ai.greatdk.com。
当然,作为我对ChatGLM-6B满怀憧憬的另一种体现,它能够本地化部署的使用方式也是让我无法抗拒的一个理由。在各种验证码注册码邀请码和由此衍生出的封号事件之外,面对AIGC阵营中逐渐冒出的商业机密泄露和数据安全问题,要“隐私”还是要”便利“的两难灵魂质疑似乎又要再度浮现出来。也正因此,一个能够不联网但又具有针对场景适用性的ChatXXX就会拥有它的存在价值,并且总会有用户希望首先看到的是需要的回答而非为之精心准备的个性化广告。
最后的最后,作为这个由ChatGLM-6B所带来的这段小插曲的结尾,回顾这几个月以来的ChatXXX热潮,作为媒体从业人员,我很难不去关注这个几乎每天都在刷屏的划时代产物。但作为一名普通的个人用户,尽管它们已经进入了我的工作流程,随着ChatGLM-6B们的出现,如何让这其中有更多可以选择的选择却也在成为我日益关心的事情,而这也在逐渐影响我对什么是“一个更好用的ChatXXX”的认知。那么在这一方面上,于我而言,这个并不完整的ChatGLM-6B值得更多期待。