欢迎光临散文网 会员登陆 & 注册

【ChatGLM】在免费云Colab傻瓜式部署可微调语言模型及使用体验

2023-04-10 02:15 作者:WSH032  | 我要投稿


ptuning微调


摘要

        本专栏将分享一个针对ChatGLM语言模型及其微调模型部署的Colab notebook,帮助感兴趣的人有机会体验自己定制的语言模型。同时也会给出初步的使用体验,和笔者认为该模型的价值所在

关键词:ChatGLM、语言模型、Colab部署、使用心得

参考:

  1. 模型作者github:https://github.com/THUDM/ChatGLM-6B

  2. WebUI风格模块作者github:https://github.com/Akegarasu/ChatGLM-webui

    ChatGLM-6B 清华开源模型一键包


序言

ChatGLM是由清华大学训练并开源,以下是作者原话:

        ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

        不过,由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。



A. 正文

首先Colab需要科学上网



打开Colab分享连接:

https://colab.research.google.com/github/WSH032/ChatGLM-webui/blob/main/Colab_ChatGLM.ipynb

按照notebook内的指导操作就行!傻瓜式操作!

  • (一)安装依赖,如果准备用微调模型就挂载谷歌硬盘,如果用CPU模型就按教程操作

  • (二)选择一种模型使用方法:

    1.秋叶方法:这个用到了[参考2]中秋叶的WebUI项目,这个在本地部署时候很好用。但是在Colab环境中,因为脚本运行环境的原因,检测不到在Colab中运行,需要打开gradio的Share选项,导致流量要经过gradio的服务器,使得体验很差。

秋叶方法(这个也是流式聊天)
  • 2.WSH方法:这个是按Colab风格来写的,使用了自带的ipywidget的,在Colab中兼容较好(我猜的);但因为是我自己写的,可能会有BUG

WSH方法
  • 3.官方流式法:这个是官方仓库中提供的方法,也是WebUI风格的,但是功能没秋叶方法多,但是流量可以不经过gradio服务器,算是在1、2之间做了个折中。(现在好像不能用,我懒得改现在,用的人多再改

  • (三)设置好参数,运行代码块即可使用(有够傻瓜式吧)


(二)模型选择及参数:

Colab的CPU不好,免费用户给的RAM也不多,性能主要受限于此(只要你能载入模型就没什么限制了)。

  • 如果你选择CPU模型运行,只能载入int4-qe模型

  • 如果你是免费用户,只能载入int4和int4-qe模型;如果使用的是ptuning微调模型,只能使用4量化等级训练而来的模型。

  • 如果你是Colab Pro,无限制

至于其中的推理精度,无限制随便选。这个主要影响显存,Colab给的显存(15g)是足够的。

Colab的显存,基本对最大对话轮数无限制。


(三)使用体验:

1、速度:

CPU推理速度极慢,3分钟29个字,除了尝鲜,你不会想用的。

GPU现在免费用户分到的一般是T4,网上说性能和1080、2060~2070差不多,实测下来只要启动流式聊天,你一边看它能一边说,速度和ChatGPT在正常流量压力下的速度差不多。

2、逻辑、功能:

不如ChatGPT等大模型。

  1. 上下文长对话能力较差,有时候莫名其妙就重复一句话。

  2. 有时候会出现中英文混杂

  3. 逻辑复杂度较差


(四)心得:

ChatGLM这种模型模型的意义,不在于对标ChatGPT,而在于个人化、定制化、本地可部署

首先作者明确说了,这个模型的参数相比大模型较少,这客观上决定了它的逻辑复杂度肯定比不过大模型。

但是也正是基于这个特点,他可以实现个人电脑本地部署,理论上6g显存就可以部署。你要是会用API,就可以弄到手机上用。

还有一个最重要的优点,他可以实现较低门槛的本地微调。如果你去github上看其他大模型项目,就会发现大模型一旦微调,动则就是8张A100、3090起步,个人根本不可能实现。

我目前想到的对下游群体一大作用就是,可以通过微信与家人的聊天记录进行训练



(五)建议

Colab版的是给你尝鲜用的(除非你是Colab Pro)。因为Colab每天只会分配4个小时GPU使用时间。

如果你有8g及以上的显存,就在本地部署吧。但是注意,本地部署环境配置和依赖安装很麻烦,我建议你用[参考2]的秋叶包。

如果你会弄API那种,并且算力足够,你可以电脑部署自己微调的模型,手机使用

如果你没算力,或者你不用微调模型,建议你直接去买ChatGPT的API tokens,自己跑模型电费都不够tokens的钱,ChatGLM最大的意义在于个人定制


结尾

        感谢每一位社区贡献者,一起来到AI的盛夏吧

        下一篇专栏是关于官方给出的对ChatGLM进行ptuning微调

        最后感谢你的阅读,觉得有用不妨三连下吧

        

感谢你的阅读 嘻嘻

by Happy_WSH






【ChatGLM】在免费云Colab傻瓜式部署可微调语言模型及使用体验的评论 (共 条)

分享到微博请遵守国家法律