前言

国产ChatGPT-ChatGLM部署与试用体验

自从ChatGPT从去年12月爆火后,国内各大科研、头部公司都纷纷参加战局。因为ChatGPT在国内的拜访限制,为了研究和运用便利,最近我在尝试私有化布置类ChatGPT,其间就有一个现在国内最早流行的一个开源GPT模型—ChatGLM-6B

ChatGLM-6B是清华大学常识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。依据官方介绍,这是一个千亿参数规划的中英文语言模型。而且对中文做了优化。本次开源的版别是其60亿参数的小规划版别,约60亿参数,本地布置仅需求6GB显存(INT4量化等级)。

布置

项目地址:github.com/THUDM/ChatG…

经过项目文档,咱们分析布置所需求的硬件资源

硬件资源

国产ChatGPT-ChatGLM部署与试用体验

从硬件资源来看,咱们消费级的显卡就能满意布置需求。为了布置便利,我这儿采用的是云GPU布置,运用的是AutoDL。

AutoDL

国产ChatGPT-ChatGLM部署与试用体验

引荐选择一张RTX3090,1.58/时的费用。

国产ChatGPT-ChatGLM部署与试用体验

选择社区镜像,因为仅仅体会,这儿就选择ChatGLM-webui,能够直接运转拜访Web页面。

OK,点击立即创建,准备好服务器资源

国产ChatGPT-ChatGLM部署与试用体验

国产ChatGPT-ChatGLM部署与试用体验

AutoDL有个比较好的是能够无卡形式运转,能够便利咱们提前布置好代码和所需的数据或模型,两个字总结便是省钱!

经过公网网盘将数据下载到服务器上的 /root/autodl-tmp 目录

参阅教程 www.autodl.com/docs/netdis…

从huggingface.co/THUDM/chatg…下载完好的模型文件,需求采用学术资源加快否则下载速度较慢。

现在我现已将ChatGLM-6B模型文件放到百度网盘上,私信回复ChatGLM,即可获取资源。

将下载好的模型文件放到经过上述教程放到咱们的服务器目录上

运转程序

修正run.sh脚本,指定加载模型地址。

Note:ChatGLM-webui默认程序是从huggingface下载模型,可是因为网络原因,下载会比较慢,主张按照我的方案将模型先提前加载到本地

国产ChatGPT-ChatGLM部署与试用体验
需求注意的是,ChatGLM依靠HuggingFace的transformers库,尽管官方说:

运用 pip 装置依靠:pip install -r requirements.txt,其间 transformers 库版别引荐为 4.27.1,但理论上不低于 4.23.1 即可。

可是实际上,有必要是4.27.1及以上的版别才能够,更低版别的transformers会呈现如下错误:

AttributeError: 'Logger' object has no attribute "'warning_once'"

我查看发现ChatGLM-webui的Transformers版别是4.26,需求更新晋级

# 配置学术资源加快署理
# 如北京A区的实例,设置如下署理
export http_proxy=http://100.72.64.19:12798 && export https_proxy=http://100.72.64.19:12798
# 更新Transformers
pip install --upgrade transformers==4.27.1

好,操作完上述过程,咱们能够开始运转启动脚本了

bash run.sh
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Loading checkpoint shards: 100%|████████████████████████████████████████████████| 8/8 [00:11<00:00,  1.42s/it]
Running on local URL:  <http://0.0.0.0:6006>
Running on public URL: <https://af898fc106407f3466.gradio.live>
This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: <https://huggingface.co/spaces>

拜访前端网址 af898fc106407f3466.gradio.live 即可运用ChatGLM-6b

试用体会

咱们先让它造一首诗看看

国产ChatGPT-ChatGLM部署与试用体验
还行,至少能造出来,而且通畅了~

再来做一个活动策划

国产ChatGPT-ChatGLM部署与试用体验
做的策划,虽然不能真的拿来用,但至少仍是有模有样

来做一下简略的数学核算

国产ChatGPT-ChatGLM部署与试用体验
做核算仍是不太行,6B的模型参数看来仍是太小了,逻辑推理能力不太行

再来看看代码生成能力怎么样

国产ChatGPT-ChatGLM部署与试用体验
一个简略的函数,仍是能轻松搞定,复杂代码生成仍是不太行。

总结

ChatGLM作为最早的一批ChatGPT项目,凭借其参数规划小,消费级GPU即可布置的能力,吸引了很多人目光,经过它也是开源项目,能让更多人参与、学习和奉献,整体来说以60亿参数LLM模型,能做到这样现已体现不错了。

不过,也因为 ChatGLM-6B 的规划较小,现在已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有成见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示彻底矛盾的内容。**

期待后续更大规划的基于 1300 亿参数GLM-130B 能落地