本文以搭载了一张A10显卡的ecs.gni2.3xlarge实例为例,介绍如何在GPU云服务器上部署ChatGLM-6B大语言模型。
ChatGLM-6B是一个具有62亿参数的、支持中英双语问答的对话语言模型,基于General Language Model(GLM)架构,结合模型量化技术,支持在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。ChatGLM-6B使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。
注意
部署ChatGLM-6B语言模型时,需保证CUDA版本 ≥ 11.4。
Pytorch使用CUDA进行GPU加速时,在CUDA、GPU驱动已经安装的情况下,依然不能使用,很可能是版本不匹配的问题,请严格关注以上软件的版本匹配情况。
下载本文所需软件需要访问国外网站,建议您增加网络代理(例如FlexGW)以提高访问速度。您也可以将所需软件下载到本地,参考本地数据上传到GPU实例中。
请参考通过向导购买实例创建一台符合以下条件的实例:
登录实例。
执行以下命令,下载CUDA Toolkit。
CUDA Toolkit大小约4G,其中已经包含了GPU驱动和CUDA,安装过程相对耗时,请耐心等待。
wget https://developer.download.nvidia.com/compute/cuda/12.2.1/local_installers/cuda_12.2.1_535.86.10_linux.run
执行以下命令,安装GPU驱动和CUDA。sh cuda_12.2.1_535.86.10_linux.run
安装完成后,执行以下命令进行验证。nvidia-smi
回显如下,说明驱动安装成功。
执行以下命令,下载Anaconda安装包。wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh
执行以下命令,安装Anaconda。bash Anaconda3-2023.07-2-Linux-x86_64.sh
/root/anaconda3
,请按“Enter”确认安装。执行以下命令使配置文件生效。source ~/.bashrc
回显如下,表示配置成功,进入base环境。
创建一个名为“ChatGLMtest”的虚拟环境,并指定该环境中的python版本为3.10。
conda create -n ChatGLMtest python=3.10
命令。Proceed ([y]/n)?
时输入“y”确认。conda activate ChatGLMtest
依次执行以下命令,安装Git。
apt-get update # 更新安装包列表 apt-get install git # 安装git apt-get install git-lfs # 安装git-lfs
执行以下命令初始化Git LFS。git lfs install
回显如下,表示初始化完成。
执行以下命令,下载ChatGLM2-6B大模型的权重文件。 git clone https://huggingface.co/THUDM/chatglm2-6b
执行以下命令,下载官方示例代码。git clone https://github.com/THUDM/ChatGLM2-6B
依次执行以下命令,安装相应的依赖包。
cd /root/ChatGLM2-6B # 工作目录切换到示例代码的路径 pip install -r requirements.txt # 安装ChatGLM依赖
修改示例代码路径,加载本地ChatGLM2-6B模型。
vim cli_demo.py
打开demo文件。i
进入编辑模式,将文件中的/THUDM/chatglm2-6b
替换为本地文件夹的路径/root/chatglm2-6b
。esc
退出编辑模式,输入:wq
并按Enter
键,保存并退出文件。执行以下命令,运行示例代码中的“cli_demo.py”。python cli_demo.py
如下图,程序会在命令行中进行交互式对话,在命令行中输入指示并回车即可生成回复,输入clear
可以清空对话历史,输入stop
终止程序。