您当前的位置:首页 > 电脑百科 > 人工智能

折腾ChatGLM的几个避坑小技巧

时间:2023-04-12 11:28:56  来源:微信公众号  作者:白鳝的洞穴

我昨天说从数据技术嘉年华回来后就部署了一套ChatGLM,准备研究利用大语言模型训练数据库运维知识库,很多朋友不大相信,说老白你都这把年纪了,还能自己去折腾这些东西?为了打消这些朋友的疑虑,我今天把这两天折腾ChatGLM的过程分享给大家,也为有兴趣折腾一下ChatGLM的朋友讲一下避坑的一些技巧。

ChatGLM-6B是基于清华大学 KEG 实验室与智谱 AI 于2023年联合训练的语言模型 GLM 开发而成,是一个大型的语言模型,其针对用户的问题和要求提供适当的答复和支持。上面的回答是ChatGLM自己回答的,GLM-6B是一个开源的62亿参数的预训练模型,其特点是可以在比较小的硬件环境下本地运行。这一特性可以让基于大语言模型的应用可以走进千家万户。KEG实验室的目的是要让更大的GLM-130B模型(1300亿参数,与GPT-3.5相当)能够在一个8路RTX 3090的低端环境中完成训练。

图片

 

如果这个目标真的能实现,那么对想基于大语言模型做一些应用的人来说绝对是一个福音。目前的ChatGLP-6B的FP16模型大约13G多一点,INT-4量化模型不到4GB,完全可以在一块6GB显存的RTX 3060TI上运行。

图片

在部署前我不太了解这些情况,因此买了一块不上不下的12GB的RTX 3060,于是完成安装部署后仍然无法运行FP16的模型。早知道在自己家里做测试验证,直接买块价格更便宜的3060TI就可以了。而如果要运行无损的FP16模型,就必须上24GB显存的3090了。

图片

 

如果你仅仅是想在自己的机器上测试一下ChatGLP-6B的能力,那么你可能不需要直接去下载THUDM/ChatGLM-6B模型,在huggingface上有一些打包好的量化模型可以下载。模型下载速度很慢,你可以直接下载int4的量化模型。

我这次安装是在一台I7 8核的PC机上完成的,显卡为12G显存的RTX 3060,因为这台电脑是我的工作电脑,因此我把ChatGLM安装在了WSL子系统上。在windows WSL 子系统上安装ChatGLM比直接在linux环境中安装要复杂一些。其中最大的坑是显卡驱动的安装。直接在Linux上部署ChatGLM的时候,需要直接安装NVIDIA的驱动程序,通过modprobe来激活网卡驱动就可以了。而在WSL上安装则大有不同。

 

图片

ChatGLM可以在Github上下载,在网站上也有一些简单的文档,甚至包含一个在WINDOWS WSL上部署ChatGLM的文档。只不过如果你是这方面的小白,完全按照这个文档去部署,会遇到无数的坑。

图片

 

Requriements.txt文档里列出了ChatGLM使用的主要开源组件的清单与版本号,其核心是transformers,需要版本4.27.1,实际上要求没有这么严格,略低一点也没太大问题,不过安全起见还是用相同的版本为好。Icetk是做Token处理的,cpm_kernels是中文处理模型与cuda的核心调用,protobuf是结构化数据存储的。Gradio是用于利用Python/ target=_blank class=infotextkey>Python快速生成AI应用的框架。Torch就不用我多做介绍了。

ChatGLM可以在没有GPU的环境中使用,利用CPU和32GB的物理内存来运行,不过运行速度很慢,仅仅能够用来做个演示验证而已。要想玩ChatGLM最好还是配备一块GPU。

在WSL上安装ChatGLM最大的坑是显卡驱动,在Git上ChatGLM的文档十分不友好,对于不太了解这个项目或者没有做过此类部署的人来说,文档实在太坑。实际上软件部署并不麻烦,而显卡驱动就十分有技巧性。

因为是在WSL subsystem上部署,因此LINUX只是一个仿真系统,并不是完整的LINUX,因此英伟达的显卡驱动只需要在WINDOWS上安装,不需要在WSL里激活。不过在WSL的LINUX虚拟环境中还是需要安装CUDA TOOLS。WINDOWS上的英伟达驱动一定要安装官网上的最新驱动,而不能使用WIN10/11自带的兼容性驱动,因此从官网上下载最新驱动并安装一定不要省略。

 

图片

 

安装完WIN的驱动后就可以直接在WSL里安装cuda tools了,安装完毕后,运行nvidia-smi如果能够看到上面的界面,那么恭喜你,你已经成功地避开了第一个坑。实际上在安装cuda tools时候还会遇到几个小坑。那就是你的系统中必须安装合适版本的gcc,gcc-dev和make等编译相关的工具,如果缺少这些组件,cuda tools的安装会失败。

图片

 

 

上面就是坑人的前期准备,实际上避开英伟达驱动这个坑,后面的安装还是很顺利的。在系统的选择上,我还是建议选择Debian兼容的Ubuntu,新版的Ubuntu的aptitude十分智能,能够帮你解决大量软件的版本兼容问题,实现部分软件的自动降版本。

下面的安装过程完全按照安装指南就可以顺利完成了,要注意的是替换/etc/apt/sources.list里面的安装源的工作最好按照指南完成,一方面安装速度会快很多,另外一方面也避免出现软件版本兼容性的问题。当然不替换也不一定会影响后面的安装过程。

 

 

图片

如果你顺利地通过了前面的各道关卡,那么你就进入到了最后一步,启动web_demo了。执行python3 web_demo.py可以启动一个WEB对话的例子。这时候如果你是个穷人,只有一张12GB显存的3060,那么你就一定会看到上面的报错了,哪怕你把PYTORCH_CUDA_ALLOC_CONF设置为最小的21,也无法避开这个报错。这时候你就不能偷懒了,必须简单地改写一下python脚本。

图片

 

 

默认的web_demo.py是使用FP16的预训练模型的,13GB多的模型肯定无法装载到12GB现存里的,因此你需要对这个代码做一个小的调整。

 

图片

你可以改为quantize(4)来装载INT4量化模型,或者改为quantize(8)来装载INT8量化模型。这样你的显卡内存就够用了,而且可以支持你做各种对话了。

要注意的是,web_demo.py启动后,模型的下载工作才真正开始,因此要下载13GB的模型,需要相当长的时间,你可以把这项工作放到半夜做,或者你直接用迅雷等下载工具预先从hugging face上下载模型。如果你对模型一无所知,不太会安装下载的模型,你也可以修改代码中的模型名称,THUDM/chatglm-6b-int4,直接从网上下载只有不到4GB的INT4量化模型,这样会快很多,反正你的破显卡也跑不起FP16的模型。

至此,你可以通过网页与ChatGLM对话了,不过这一切只是折腾的开始。只有你能够把你的微调模型训练出来了,那么你的ChatGLM的入坑之旅才会真正开始。玩这种东西还是需要大量的精力和金钱的,入坑要慎重。

最后我还是十分感谢清华大学KEG实验室的朋友,他们的工作让更多的人可以低成本地使用大语言模型。



Tags:ChatGLM   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
使用 Triton 部署 chatglm2-6b 模型
一、技术介绍 NVIDIA Triton Inference Server 是一个针对 CPU 和 GPU 进行优化的云端和推理的解决方案。支持的模型类型包括 TensorRT、TensorFlow、PyTorch (meta-llama/L...【详细内容】
2023-09-27  Search: ChatGLM  点击:(366)  评论:(0)  加入收藏
一个简单模型就让ChatGLM性能大幅提升 | 最“in”大模型
本文作者:赵桢、罗成、李亭骞、邹文艺 引言自大语言模型 (LLM) 成为热点话题以来,涌现了一大批中文大语言模型并在优化平台中得到了积极部署。ChatGLM 正是广受好评的主流中文...【详细内容】
2023-08-17  Search: ChatGLM  点击:(423)  评论:(0)  加入收藏
非程序员小白版本地部署ChatGLM2-6B +LangChain 个人知识库模型
ChatGLM2-6B 部署我这次采用的是本地部署,机器是 Macbook pro M1 64G进入你的系统“终端”# 键盘:command + 空格键 # 搜索“终端”,点击“打开”,进入“终端”界面 下载源码#...【详细内容】
2023-07-31  Search: ChatGLM  点击:(840)  评论:(0)  加入收藏
基于 ChatGLM-6B 部署本地私有化 ChatGPT
最近chatGPT很火,但是用起来需要翻墙,国内也有很多模型,什么百度的文心一言、阿里的盘古、还有科大讯飞的模型等等,那么今天我们就来介绍下怎么在本地自己部署自己的聊天模型,也...【详细内容】
2023-06-01  Search: ChatGLM  点击:(307)  评论:(0)  加入收藏
折腾ChatGLM的几个避坑小技巧
我昨天说从数据技术嘉年华回来后就部署了一套ChatGLM,准备研究利用大语言模型训练数据库运维知识库,很多朋友不大相信,说老白你都这把年纪了,还能自己去折腾这些东西?为了打消这...【详细内容】
2023-04-12  Search: ChatGLM  点击:(566)  评论:(0)  加入收藏
想不想把ChatGPT装在自己电脑上?国产开源大语言模型 ChatGLM 帮你实现!
今天给大家分享一个开源的大语言模型ChatGLM-6B。十几天的时间,就收获了近 1w 个 star。ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model...【详细内容】
2023-03-27  Search: ChatGLM  点击:(291)  评论:(0)  加入收藏
▌简易百科推荐
行业大模型快速落地的一年,如何做?
生成式AI正成为时下科技企业“讲故事”的关键词之一。但从发展上看,无论是“文生文”的大语言模型,还是“文生图”的多模态模型,更多的是辅助人们进行一些简单的办公,或者提供一...【详细内容】
2024-04-10    钛媒体APP  Tags:行业大模型   点击:(3)  评论:(0)  加入收藏
互联网充斥“针对小白的AI课”,能相信吗?普通人不学AI课程会被淘汰?
早前,一位标榜清华大学博士和多家公司AI顾问名头的百万级粉丝量博主,向用户大力推介“所有人都需要学”的AI入门课程。不过,这些课程最终因贩卖焦虑、蒙骗学员而被平台下架。然...【详细内容】
2024-04-10    九派新闻  Tags:AI课   点击:(7)  评论:(0)  加入收藏
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(3)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(3)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中——为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(4)  评论:(0)  加入收藏
和“数字人”交朋友,当心隐私被出卖......
在虚拟社交中如何在保护用户隐私和数据安全的同时提供高质量的社交体验?如何避免过度依赖虚拟社交找到虚拟与真实之间的平衡点?《中国消费者报》记者就此展开了调查APP里有个...【详细内容】
2024-04-09    中国消费者报  Tags:数字人   点击:(6)  评论:(0)  加入收藏
AI“复活”成产业链:成本可降至数百元
大模型应用落地,带火数字人(11.560, 0.29, 2.57%)赛道。文|《中国企业家》记者李艳艳 实习生 孙欣编辑|姚赟头图来源|《流浪地球2》电影画面截图清明节前,预估会有需求的庞立...【详细内容】
2024-04-09    中国企业家  Tags:AI“复活”   点击:(3)  评论:(0)  加入收藏
多方热议人工智能产业新机遇
编者按  从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下……一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(5)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(6)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(8)  评论:(0)  加入收藏
站内最新
站内热门
站内头条