当前位置:首页|资讯|清华|人工智能|ChatGLM|ChatGPT

使用anaconda部署清华开源ChatGLM-6B

作者:早夜初雪发布时间:2023-05-30

写在前面  

  本人也只是一个计算机小白,写这篇文章的目的主要是记录自己折腾的过程。若是这篇文章能帮助到其他人部署的话我会非常开心。

关于ChatGLM-6B

  ChatGLM-6B是一个基于GLM-130B模型的人工智能助手,通过GLM模型对语言进行处理,从而生成相应的回复。项目的主要特点是智能化回复和语言理解能力,能够对用户提出的问题和输入的文本内容进行理解和回答,可以理解为本地部署版的,资料更少的ChatGPT。

关于显卡  

  首先,确定一下我们是什么显卡。AMD显卡很难使用,我没有AMD显卡,所以我也不知道要如何使用AMD显卡进行部署。即使是NVIDIA显卡,如果显存小于6G也是不能使用的。

官网上的推荐显卡配置,16G显存可以体验完整版

下载源码

  确定能使用后,我们需要下载ChatGLM的源码,在github上有开源项目。将其下载到我们所需要的一个地方,把这个地方记为chatglm的根目录。GitHub上的chatglm的链接为https://github.com/THUDM/ChatGLM-6B

GitHub的下载位置

下载模型

  在hugging face下下载chatglm的模型。我们可以在chatglm-6b项目的Files and versions,下载里面的所有文件,并在根目录新建一个名为“model”的文件夹。hugging face上的chatglm模型连接为

https://huggingface.co/THUDM/chatglm-6b

hugging face下载位置
不要忘记新建model文件夹

修改文件

    将所有所需的文件下载好之后,我们需要做一个很重要的事情——修改模型加载路径。找到根目录中的web_demo.py。

  使用记事本编辑(最好使用其他的文本编辑器,如vscode,用记事本可能会出现不可预知的错误。我使用的是python自带的编辑器)将model=……中的

“THUDUM/chatglm-6b”

  全部替换为

“.\\model”。

  如果你的显卡显存小于16G,那么需要在

 .half().cuda()

  之前加上.quantize(4),如图所示,保存。

其实如果你愿意的话,输入绝对路径也是可以的,就是直接把model文件夹的位置复制进去,比如 D:\ChatGLM\model\
如果你的显卡显存不足16G无法体验完整版,那么一定要加这个参数

依赖工具的下载

  之后给我们的电脑下载VS stdio的构建工具。之后选择使用C++桌面开发,安装即可。VS BuildTools下载地址为

https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

  随后下载虚拟环境anaconda,之后打开anaconda,创建一个新的虚拟环境,之后在虚拟环境中,先使用d:命令,跳转到d盘,再cd (路径)到根目录的路径。先利用

pip install -r reqiirements.txt

安装所需依赖。anaconda的下载连接为https://www.anaconda.com/download/#macos

 

  顺便一提,为什么需要使用anaconda:anaconda是一个虚拟环境的软件,很多项目的各种依赖的版本是不一样的。比如有的项目需要python3.10以上,有的需要3.8以下。不同版本依赖如果直接装在计算机中就很容易打架。因此需要由anaconda创造一个小的虚拟环境来对不同项目进行版本隔离。

在命令提示符里安装各种依赖

  进入到这个黑框之后,如果你的chatglm项目解压在d盘,那么首先使用 d: 这个命令来转到d盘,再cd到指定目录。比如我这里是安装在D:\ChatCLM-6B-main 路径里。

  首先输入这个命令: pip install -r requirements.txt来安装chatglm所需依赖。

  随后输入 nvidia-smi 来确认我们当前的cuda版本是什么。anaconda会内置cuda,检查cuda的版本是多少。

我的显卡是Tesla P40运算和亮机卡gt1010做视频输出

  从图中可以看出,我的cuda版本是12.0,一般10系以上的显卡的cuda都是12.0

  之后去pytorch官网下载对应cuda版本的pytorch

https://pytorch.org/get-started/locally/

  由于我们的cuda是12.0版本的,因此我们选择最接近12.0的版本11.8。将这个pip命令复制到黑框中,按下enter。之后会问你是否继续,输入y再按下enter后继续。

尝试启动

  之后我们可以尝试第一次启动chatglm了。输入

python web_demo.py

  启动。

  如果一切顺利的话,出现running on local URL:http://127.0.0.1:7860,此时chatglm就可以使用了。将这串网址复制进浏览器中就可以使用了。

我这里是端口7860被其他程序占用了,因此显示的是7861。直接复制到浏览器里就可以用了。

  

这是正常使用的情况,左边那个是别的程序


常见报错

 

  如果出现ModuleNotFoundError: No module named "xxx",此时直接pip install xxx即可

  如果出现AssertionError: Torch not compiled with CUDA enabled 这个报错,那么说明我们没有安装对应版本的pytorch。使用conda uninstall pytorch卸载过后重新在刚刚的pytorch界面找到对应版本的安装即可。


API服务  

 

  如果要使用chatglm的api服务,首先需要安装支持api服务的依赖。使用这个命令来安装fastapi。

pip install fastapi uvicorn

  之后再到根目录里对api.py修改一些参数,

最后直接在cmd里cd到根目录,输入python api.py就可以使用了。

enjoy it!



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1