基于国产DCU-Z100的GPU在公安网部署GLM-4-9B

  • 一、服务环境说明

  • 操作系统:麒麟操作系统
  • 网络:公安网(所有安装包都需要离线安装
  • GPU:4张DCU-Z100
  • 二、Conda环境搭建

  • 注:考虑公安网不能访问互联网,不能通过 conda create -n glm4 python=3.10创建虚拟环境。
  • 2.1conda安装

  • #  bash Miniconda3-py39_23.9.0-0-Linux-x86_64.sh

    #第一个yes/no,输入yes

    #第二步,输入conda安装路径

    #最后一个yes/no,也输入yes

  • 2.1.1修改conda安装路径

  • # /app/miniconda3

    # source ~/.bashrc

    使用以下命令检查conda是否成功安装:

    # conda --version

    如果conda成功安装,您将看到conda的版本号。

  • 2.1.2解决终端每次打开都进入conda的base环境的问题

  • #执行

    conda config --set auto_activate_base false

  • 2.1.3查看conda环境

  • #conda info -e

  • 2.2迁移虚拟环境

    注:目标主机操作系统架构和源主机操作系统架构一致。

  • 源主机安装conda-pack
  • #conda install conda-pack

  • 查看conda环境
  • #conda info -e

  • 指定虚拟机环境进行压缩
  • conda pack -n glm4 -o glm4.tar.gz # 自定义压缩包名

  • 在目标主句的envs中,创建python虚拟机环境名称
  • #cd /app/miniconda3/envs

    mkdir glm4

    cd glm4

  • 将压缩包上传到目标主机的对应目录中并解压,如glm4
  • #cd /app/miniconda3/envs/glm4

    tar -zxvf glm4.tar.gz

    mv -i //app/miniconda3/envs/glm4/glm4.tar.gz  /app/tools

  • 激活虚拟环境
  • #conda activate glm4

  • 查看python版本
  • #python3 --version

  • 2.3激活Python虚拟环境

  • # conda activate glm4

  • 2.4停用Python虚拟环境

  • # conda deactivate

  • 三、安装DCU-Z100驱动

  • 下载地址:https://developer.hpccube.com/tool/
  • 3.1查看DCU 设备id

  • 查看是否检测到DCU加速卡

    #  lspci -nn | grep -i disp

  • 3.2安装依赖(提前配置本地yum源)

  • rpm系列系统(CentOS,NFS,Anolis,Kylin,UOS,openEuler)

    # yum install -y \

    cmake \

    automake \

    gcc \

    gcc-c++ \

    rpm-build \

    autoconf \

    kernel-devel-`uname -r` \

    kernel-headers-`uname -r`

  • 3.3安装驱动(比较耗时)

  • #cd /app/tools \

    && chmod 755 rock*.run \

    && ./rock*.run \

    && reboot

    注:卸载驱动请执行命令rpm -e rock。

  • 3.4验证安装驱动成功

  • lsmod | grep dcu

  • 四、安装DTK工具包

  • 下载地址:https://developer.hpccube.com/tool/

  • 4.1安装DTK(DCU Toolkit,DCU软件平台)依赖包

  • rpm系列系统(CentOS,NFS,Anolis,Kylin,UOS,openEuler)

    # yum install -y \

        epel-release \

        centos-release-scl \

        && yum clean all \

        && yum makecache \

    && yum groupinstall -y "Development tools" \

    && yum install -y \

        vim \

        curl \

        bzip2 \

        bzip2-devel \

        sudo \

        gcc \

        uuid-devel \

        gdbm-devel \

        readline-devel \

        tk-devel \

        openssl \

        openssl-devel \

        openssl-static \

        rpm-build \

        patch \

        ninja-build \

        glog-devel \

        lmdb-devel \

        opencv-devel \

        openblas-devel \

        libibverbs-devel \

        gflags-devel \

        gstreamer1 \

        gstreamer1-devel \

        gstreamer1-plugins-base \

        gstreamer1-plugins-base-devel \

        gstreamer1-plugins-bad-free \

        gstreamer1-plugins-bad-free-devel \

        gstreamer1-plugins-good \

        gstreamer1-plugins-ugly-free \

        gstreamer1-plugins-ugly-free-devel \

        gst123 \

        libibverbs-devel \

        libibverbs-utils \

        libffi-devel \

        zlib-devel \

        openssl-devel \

        ncurses-devel \

        sqlite-devel \

        devtoolset-7-gcc* \

        numactl \

        numactl-devel \

        wget \

        openssh \

    openssh-server

  • 4.2python安装

  • cd /app/tools \

    && mkdir python-tmp \

    && tar -xvf python.tgz -C /app/tools/python-tmp --strip-components 1 \

    && cd /app/tools/python-tmp \

    && ./configure \

        --enable-shared \

    && make -j$(nproc) \

    && make install \

    && ln -s /usr/local/bin/python3 /usr/local/bin/python \

    && ln -sf /usr/local/bin/pip3 /usr/local/bin/pip

  • 4.3cmake安装(离线安装)

  • #cd /app/tools \

    && mkdir /app/cmake \

    && tar -xvf cmake-3.19.3-Linux-x86_64.tar.gz -C /app/cmake --strip-components 1 \

    配置

    vi /etc/profile

    在文件最后增加

    export PATH=/app/cmake/bin:$PATH

    使配置生效

    #source /etc/profile

    查看版本

    #cmake --version

  • 4.4hwloc安装(离线安装)

  • #cd /app/tools \

    && mkdir /app/hwloc-tmp \

    && tar -xvf hwloc-2.7.1.tar.gz -C /app/hwloc-tmp --strip-components 1 \

    && cd /app/hwloc-tmp \

    && ./configure --prefix=/app/hwloc \

    && make -j$(nproc) \

    && make install

  • 4.5mpi安装(离线

  • #cd /app/tools \

    && mkdir /app/openmpi-tmp \

    && tar -xvf openmpi-4.0.1.tar.gz -C /app/openmpi-tmp --strip-components 1 \

    && cd /app/openmpi-tmp \

    && ./configure \

       --prefix=/app/mpi/ \

       --with-hwloc=/app/hwloc/ \

       --enable-orterun-prefix-by-default \

       --enable-mpi-thread-multiple \

       --enable-dlopen \

    && make -j$(nproc) \

    && make install

  • 4.6安装DTK(离线)

  • #cd /app/tools

    #tar -xvf DTK-*.tar.gz -C /app/tools/ \

    && ln -s /app/tools/dtk-* /app/tools/dtk

  • 4.7设置环境变量

  • cat > /etc/profile.d/dtk.sh <<-"EOF"

    #!/bin/bash

    #gcc

    source /app/rh/devtoolset-7/enable

    #python3

    export LD_LIBRARY_PATH=/usr/local/lib/:/usr/local/lib64/:$LD_LIBRARY_PATH

    export PATH=/usr/local/bin:$PATH

    export PYTHONPATH=/usr/local/:$PYTHONPATH

    #cmake

    export PATH=/app/cmake/bin/:$PATH

    #hwloc

    export PATH=/app/hwloc/bin/:${PATH} \

    export LD_LIBRARY_PATH=/app/hwloc/lib:${LD_LIBRARY_PATH}

    #mpi

    export LD_LIBRARY_PATH=/app/mpi/lib:$LD_LIBRARY_PATH

    export PATH=/app/mpi/bin:$PATH

    #DTK

    source /app/tools/dtk/env.sh

    EOF

    source /etc/profile.d/dtk.sh

    后期编辑

  • #vi /etc/profile.d/dtk.sh

    export ROCM_HOME=/app/tools/dtk

    export LD_LIBRARY_PATH=$ROCM_HOME/lib:$LD_LIBRARY_PATH

    export PATH=$ROCM_HOME/bin:$PATH

    #source /etc/profile.d/dtk.sh

  • 4.8验证DCU环境

  • 通过rocm-smi以及rocminfo | grep gfx命令验证DCU环境安装完毕,如图所示:

  • 4.9设置了可见 GPU

  • # export HIP_VISIBLE_DEVICES=0,1,2,3

    # echo $HIP_VISIBLE_DEVICES

  • 五、GLM4安装部署

  • 5.1下载离线安装包

  • 在有网络的地方将glm4依赖的包下载到一个文件夹中
  • pip download  -r /home/app/gadx/glm4_pkg/requirements.txt  -d /home/app/gadx/glm4_pkg

  • 5.2离线安装

  • pip install --no-index --find-links=/app/tools/glm4_pkg -r /app/tools/glm4_pkg/requirements.txt

  • 5.21.特殊安装包

  • https://developer.hpccube.com/tool/下载torch-2.1.0、Torchvision-0.16.0等
  • torch-2.1.0+das1.0+git00661e0.abi0.dtk2404-cp310-cp310-manylinux2014_x86_64.whl

  • torchvision-0.16.0+das1.0+gitc9e7141.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl

  • deepspeed-0.12.3+das1.0+gita724046.abi0.dtk2404.torch2.1.0-cp310-cp310-manylinux2014_x86_64.whl

  • vllm-0.3.3+das1.0+git3380931.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl

  • triton-2.1.0+das1.0+git3841f975.abi0.dtk2404-cp310-cp310-manylinux2014_x86_64.whl

  • xformers-0.0.25+das1.0+gitd11e899.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl

  • 5.3开放端口

  • firewall-cmd --add-port=8501/tcp --permanent

  • 5.4查询端口是否开启成功

  • firewall-cmd --query-port=8000/tcp

  • 5.5运行GLM4的命令对话

  • #python trans_cli_demo.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值