win11 wsl子系统centos7本地搭建大语言模型ChatGLM4-9b-chat及使用NextChat调用其API

一、搭建思路

①下载ChatGLM4-9b-chat官方仓库源码,源码用于加载模型,实现推理和微调。需将模型路径(MODEL_PATH)修改为本地存放模型的路径。

②下载预训练模型,是使用语义、数学、推理、代码和知识等多方面的数据集训练而成的模型,后期也可自行对模型进行微调,训练出属于自己的模型。

③环境搭建,搭建中最麻烦的环节。

首先硬件,我的配置是:

cpu:14900k

gpu:3090

内存:64G(实际占用三十多个G)

系统:inux环境,采用windows子系统wsl2搭建centos7.9,搭建教程参考我的另一篇教程:《win11 wsl子系统centos7安装docker(2024年无坑版)》

二、python环境搭建

采用Anaconda来管理python环境,Anaconda 是一个用于科学计算和数据分析的开源发行版,包含了大量的包和工具。它可以创建多个python版本,具有稳定完备数据科学和机器学习的软件套装。不用Anaconda而选择自己安装python,出现各种莫名其妙的错误真的会让人崩溃!

1、下载Anaconda

地址:https://www.anaconda.com/download/success

yum install wget
mkdir /opt/anaconda
cd /opt/anaconda

官方:

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

国内清华(推荐):

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

在下载完成后,你需要使安装脚本可执行,并运行它。

bash Anaconda3-2024.06-1-Linux-x86_64.sh

2、安装Anaconda

安装脚本会在命令行界面中提供安装指南。你需要阅读许可协议,并同意它以继续安装。

一般来说,你可以长按Enter键滚动许可协议,然后键入yes来接受条款。

请添加图片描述

脚本会要求你选择安装位置。你可以接受默认的安装路径,或者输入一个新的路径。如果你接受默认路径,Anaconda将会被安装在你的主目录下的anaconda3文件夹中。一般默认即可,按回车

请添加图片描述

安装完成后,脚本通常会询问你是否想要将conda初始化。这将会更新你的bash配置文件,如.bashrc,以便于conda命令可以在任何终端会话中使用。输入yes

请添加图片描述

安装完成后,你需要重新激活你的shell。你可以通过运行以下命令来做到这一点:

source ~/.bashrc

为了验证Anaconda是否正确安装,你可以使用以下命令来测试:

conda list

如果Anaconda安装成功,这个命令会列出已安装的包。

建议更新所有的conda包到最新版本。使用以下命令:

conda update --all

创建新环境:

命令格式:conda create --name myenv,创建一个名为 myenv 的新环境。

conda create -n chatglm4 python=3.10.12

上面的命令将创建一个名为chatglm4的新环境,其中安装了Python 3.10.12。

激活环境:

激活名为 chatglm4 的环境。

conda activate chatglm4

请添加图片描述

给该环境配置pip国内源:

升级 pip 到最新的版本 (>=10.0.0) :

python -m pip install --upgrade pip

如果你到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

配置源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装gcc等一些必要的软件包:

sudo yum install gcc openssl-devel bzip2-devel libffi-devel
gcc -v

请添加图片描述

三、nvidia驱动、cuda、cuDNN安装

1、nvidia驱动安装

nvidia-smi,使用wsl貌似不用装驱动,直接用windows的驱动,但windows的驱动要安装好,要新一点,我的是555版本。

请添加图片描述

2、cuda安装

cuda版本,官网下载的12.4, CUDA Toolkit Archive | NVIDIA Developer

请添加图片描述

请添加图片描述

具体版本参考这张图

请添加图片描述

mkdir /opt/cuda
cd  /opt/cuda
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-rhel7-12-4-local-12.4.1_550.54.15-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-12-4-local-12.4.1_550.54.15-1.x86_64.rpm
sudo yum clean all
sudo yum -y install cuda-toolkit-12-4
yum install vim
vim /etc/profile

在最下方加入:

export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12..4/lib64:$LD_LIBRARY_PATH

或者:

export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64 
export PATH=$PATH:/usr/local/cuda-12.4/bin 
export CUDA_HOME=/usr/local/cuda-12.4

生效env变量:

source /etc/profile 

此时就能查看CUDA版本:

nvcc -V

请添加图片描述

3、cuDNN安装

mkdir /opt/cuDNN
cd  /opt/cuDNN

方法一:

cuDNN版本,8.9.7.29,记得要和cuda版本对应,cuDNN Archive

请添加图片描述

要安装 NVIDIA CUDA Deep Neural Network (cuDNN) 库,你可以按照以下步骤进行:

  1. 下载 cuDNN 安装包

    • 首先,你需要先下载到window本地,然后在文件管理器移动至centos的对应文件夹中。假设你已经下载了 cudnn-local-repo-rhel7-8.9.7.29-1.0-1.x86_64.rpm 文件。
  2. 安装 cuDNN

    • 到存放安装包的目录,运行以下命令安装 cuDNN:

      sudo rpm -i cudnn-local-repo-rhel7-8.9.7.29-1.0-1.x86_64.rpm
      
  3. 安装 cuDNN 开发库

    • 一旦配置好软件源,你可以使用 yum 命令安装 cuDNN 开发库,命令如下:

      sudo yum -y install libcudnn8
      

方法二(推荐):

https://developer.nvidia.com/cudnn-archive

cuDNN版本,9.0.0

wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-rhel7-9.0.0-1.0-1.x86_64.rpm
sudo rpm -i cudnn-local-repo-rhel7-9.0.0-1.0-1.x86_64.rpm
sudo yum clean all
sudo yum -y install cudnn

查看版本(用的方法二)

grep CUDNN_MAJOR -A 2 /usr/include/cudnn_version.h

请添加图片描述

代码验证:

先安装torch

pip install torch

代码:

import torch
print(2.0)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# Assume that we are on a CUDA machine, then this should print a CUDA device:
print(device)

x = torch.Tensor([2.1])
xx = x.cuda()
print(xx)

# CUDNN TEST
from torch.backends import cudnn

print('cudann is ' + str(cudnn.is_acceptable(xx)))

print(torch.__version__)

print(torch.version.cuda)

print(torch.backends.cudnn.version())

使用Windows上的vscode操作:

请添加图片描述

至此,基本环境已经安装完毕!

四、部署chatglm4

1、下载chatglm4代码

官方仓库:https://github.com/THUDM/GLM-4

mkdir /home/GLM-4-main
cd /home/GLM-4-main

把下载的代码放入该目录中

请添加图片描述

2、下载chatglm4-9b-chat模型

魔搭地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat

SDK下载

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('ZhipuAI/glm-4-9b-chat')

Git下载(我用的这个,先在Windows里下载好,再把它复制到wsl centos中的目录(/home/GLM-4-main/glm-4-9b-chat)中)

请确保 lfs 已经被正确安装

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/glm-4-9b-chat.git

我的模型放在:/home/GLM-4-main/glm-4-9b-chat

请添加图片描述

vscode切换目录为代码目录,bitsandbytes照着我这样改低版本,不然报错。还有vllm和peft的注释要去掉。

请添加图片描述

进入ChatGLM4代码目录

cd /home/GLM-4-main/basic_demo
pip install -r requirements.txt

完成后把代码里的模型地址改成本地地址,使用 Gradio 网页端与 GLM-4-9B 模型进行对话,改这个文件/home/GLM-4-main/basic_demo/trans_web_demo.py

请添加图片描述

启动命令:

python trans_web_demo.py

这样就是启动成功了

请添加图片描述

请添加图片描述

如果想自行构建服务端,并使用 OpenAI API 的请求格式与 GLM-4-9B-Chat 模型进行对话。并使用 Function Call 和 All Tools功能。改这个文件/home/GLM-4-main/basic_demo/openai_api_server.py

请添加图片描述

启动命令:

python openai_api_server.py

请添加图片描述

此时第三方工具(NextChat)就可以调用其api了
请添加图片描述

请添加图片描述

anaConda其他命令:

  1. 停用环境

    conda deactivate
    

    停用当前激活的环境。

  2. 删除环境

    conda remove --name myenv --all
    

    删除名为 myenv 的环境及其所有包。

  3. 列出所有环境

    conda env list
    

    列出所有 conda 环境。

Conda 包管理

  1. 安装包

    conda install package_name
    

    在当前环境中安装名为 package_name 的包。

  2. 更新包

    conda update package_name
    

    更新名为 package_name 的包。

  3. 卸载包

    conda remove package_name
    

    从当前环境中卸载名为 package_name 的包。

  4. 列出已安装的包

    conda list
    

    列出当前环境中已安装的所有包。

管理环境的依赖

  1. 导出环境

    conda env export > environment.yml
    

    将当前环境的依赖导出到 environment.yml 文件。

  2. 从文件创建环境

    conda env create -f environment.yml
    

    environment.yml 文件创建一个新环境。

Conda 配置

  1. 添加镜像源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    

    添加清华大学的 Anaconda 镜像源。

  2. 查看配置

    conda config --show
    

    查看 conda 的当前配置。

  3. 清理缓存

    conda clean --all
    

    清理 conda 的包缓存。

其他有用的命令

  1. 更新 conda

    conda update conda
    

    更新 conda 自身。

  2. 更新 Anaconda

    conda update anaconda
    

    更新 Anaconda 发行版中的所有包。

这些命令可以帮助你高效地管理 Anaconda 环境和包。根据具体需求,你可以组合使用这些命令来创建、管理和维护你的工作环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值