ChatGLM2-6B下载与部署

0 写在前面

我们首先来看一下ChatGLM2-6B模型的requirements:

protobuf
transformers==4.30.2
cpm_kernels
torch>=2.0
gradio
mdtex2html
sentencepiece
accelerate
sse-starlette
streamlit>=1.24.0

可以看到,要求torch>=2.0,这就产生了一个问题:torchcuda版本的匹配问题。本地机器中CUDA=10.0,于是在费了半天时间配置好ChatGLM2-6B所需环境,从githubhuggingface下载好了ChatGLM2-6B模型,但是在run的过程中报错Torch not compiled with CUDA enabled,于是不得不卸载并重新安装CUDA因此提醒各位看官,在配置前,请一定检查torch和cuda版本是否匹配**。torch2.0所需的版本为cuda 11.x,其中cuda 11.7cuda 11.8都是可以的。
所以我们先从CUDA卸载与安装说起,如果不存在cuda版本匹配问题,可以略过此步。

1 CUDA卸载与安装

cuda版本查看
查看本机所支持的最高版本:cmd->nvidia-smi,其中红色框中的是本机支持的最高版本的cuda
ChatGLM2-6B下载与部署_第1张图片
查看本机当前版本:cmd->nvcc --version,可以看到,当前版本为cuda_11.8(这是升级更新以后的结果)
ChatGLM2-6B下载与部署_第2张图片
cuda卸载:用windows的控制面板进行卸载,搜索cuda(右上角),把和cuda相关的都卸载掉,注意只卸载cuda相关程序,NVIDIA相关的驱动等,如果拿不准,建议不要动,维持原状。
ChatGLM2-6B下载与部署_第3张图片
cuda安装
cuda官网下载地址:https://developer.nvidia.com/cuda-downloads
这里我选择11->exe(local),如果想要查看下载所有历史版本,可以点击Archive of Previous CUDA Releases
ChatGLM2-6B下载与部署_第4张图片
以管理员身份运行cuda_11.8.0_522.06_windows.exe,过程中可以选择自定义安装,由于我只卸载了cuda,因此也只安装cuda,其他的几个选项勾选掉了。安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit
ChatGLM2-6B下载与部署_第5张图片
安装过程大约10分钟左右,中途出现了以下问题,原因是安装过程中需要在系统环境变量path变量中写入以下路径,但由于我的path变量超限,写不进去,于是安装程序提示让在安装完成后手动在path变量中写入这两个路径。
由此引发另一个问题:path变量超限问题,关于这个问题,网上有说修改注册表的,有说直接在注册表中的path中写入路径的,最后采用的是这个方法,亲测有效。
ChatGLM2-6B下载与部署_第6张图片
环境变量问题解决掉后,重启电脑,打开cmd测试一下,如果cmd->nvidia-smicmd->nvidia-smi可用并且显示相关信息,说明cuda升级更新成功!

2 ChatGLM2-6B下载

B站有一个官网的教程可参考:视频教程
github上把项目拖下来,然后在项目所在路径下面,创建虚拟环境venv,在该环境下安装项目所需的依赖requirements.txt,这两步怎么做,可以参考Anaconda3安装配置/创建删除虚拟环境/在特定虚拟环境下安装库。ChatGLM2-6B下载与部署_第7张图片
值得注意的是:torch的安装,建议用官网给的命令:https://pytorch.org/get-started/pytorch-2.0/#faqs
即:pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118
项目路径D:\Code\ChatGLM2-6B,文件结构如下,其中THUDM文件夹和venv文件夹是自己创建的,THUMD用于存放从预训练模型。
ChatGLM2-6B下载与部署_第8张图片

3 从Huggingface下载预训练模型

有3种方式:

  1. 代码直接调用,前提是可以访问Huggingface
    ChatGLM2-6B下载与部署_第9张图片

  2. 手动从Huggingface上下载
    Huggingface上的项目地址:https://huggingface.co/THUDM/chatglm2-6b
    ChatGLM2-6B下载与部署_第10张图片

  3. 从清华云盘下载
    从清华云盘将所有下面的文件下载下来,放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录,THUDM\chatglm2-6b这个目录是自己创建的。
    ChatGLM2-6B下载与部署_第11张图片
    这还不够,需要从Huggingface项目地址中,将其余的一些配置文件下载补全,一起放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录。(为什么一部分从清华云盘下,一部分从huggingface下??因为内网从huggingface下载的速度非常慢,非常慢,所以几个大的文件从清华云盘下载了,但清华云盘上没有给所需的配置文件如config.json,导致模型跑不起来,所以一些小的几个KB的配置文件从huggingface下载了,嗯…就这么回事)
    ChatGLM2-6B下载与部署_第12张图片

你可能感兴趣的:(python,语言模型)