当前位置:   article > 正文

win11 wsl子系统centos7本地搭建大语言模型ChatGLM4-9b-chat及使用NextChat调用其API_glm-4-9b-chat 硬件配置

glm-4-9b-chat 硬件配置

一、搭建思路

①下载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
  • 1
  • 2
  • 3

官方:

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

国内清华(推荐):

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

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

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

2、安装Anaconda

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

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

请添加图片描述

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

请添加图片描述

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

请添加图片描述

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

source ~/.bashrc
  • 1

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

conda list
  • 1

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

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

conda update --all
  • 1

创建新环境:

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

conda create -n chatglm4 python=3.10.12
  • 1

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

激活环境:

激活名为 chatglm4 的环境。

conda activate chatglm4
  • 1

请添加图片描述

给该环境配置pip国内源:

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

python -m pip install --upgrade pip
  • 1

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

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

配置源:

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

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

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

请添加图片描述

三、nvidia驱动、cuda、cuDNN安装

1、nvidia驱动安装

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

请添加图片描述

2、cuda安装

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

请添加图片描述

请添加图片描述

具体版本参考这张图

请添加图片描述

mkdir /opt/cuda
  • 1
cd  /opt/cuda
  • 1
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
  • 1
sudo rpm -i cuda-repo-rhel7-12-4-local-12.4.1_550.54.15-1.x86_64.rpm
  • 1
sudo yum clean all
  • 1
sudo yum -y install cuda-toolkit-12-4
  • 1
yum install vim
  • 1
vim /etc/profile
  • 1

在最下方加入:

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

或者:

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
  • 1
  • 2
  • 3

生效env变量:

source /etc/profile 
  • 1

此时就能查看CUDA版本:

nvcc -V
  • 1

请添加图片描述

3、cuDNN安装

mkdir /opt/cuDNN
  • 1
cd  /opt/cuDNN
  • 1

方法一:

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
      
      • 1
  3. 安装 cuDNN 开发库

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

      sudo yum -y install libcudnn8
      
      • 1

方法二(推荐):

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
  • 1
  • 2
  • 3
  • 4

查看版本(用的方法二)

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

请添加图片描述

代码验证:

先安装torch

pip install torch
  • 1

代码:

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())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

使用Windows上的vscode操作:

请添加图片描述

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

四、部署chatglm4

1、下载chatglm4代码

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

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

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

请添加图片描述

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')
  • 1
  • 2
  • 3

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
  • 1
  • 2

我的模型放在:/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
  • 1
  • 2

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

请添加图片描述

启动命令:

python trans_web_demo.py
  • 1

这样就是启动成功了

请添加图片描述

请添加图片描述

如果想自行构建服务端,并使用 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
  • 1

请添加图片描述

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

请添加图片描述

anaConda其他命令:

  1. 停用环境

    conda deactivate
    
    • 1

    停用当前激活的环境。

  2. 删除环境

    conda remove --name myenv --all
    
    • 1

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

  3. 列出所有环境

    conda env list
    
    • 1

    列出所有 conda 环境。

Conda 包管理

  1. 安装包

    conda install package_name
    
    • 1

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

  2. 更新包

    conda update package_name
    
    • 1

    更新名为 package_name 的包。

  3. 卸载包

    conda remove package_name
    
    • 1

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

  4. 列出已安装的包

    conda list
    
    • 1

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

管理环境的依赖

  1. 导出环境

    conda env export > environment.yml
    
    • 1

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

  2. 从文件创建环境

    conda env create -f environment.yml
    
    • 1

    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/
    
    • 1
    • 2

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

  2. 查看配置

    conda config --show
    
    • 1

    查看 conda 的当前配置。

  3. 清理缓存

    conda clean --all
    
    • 1

    清理 conda 的包缓存。

其他有用的命令

  1. 更新 conda

    conda update conda
    
    • 1

    更新 conda 自身。

  2. 更新 Anaconda

    conda update anaconda
    
    • 1

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/973522
推荐阅读
相关标签
  

闽ICP备14008679号