You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
AIGC实践
搭建ChatGLM-6B大语言模型
复制全文
下载 pdf
搭建ChatGLM-6B大语言模型
本文以搭载了第四代英特尔® 至强® 可扩展处理器(Sapphire Rapids)的计算型ecs.c3i.24xlarge为例,为您介绍如何在ECS云服务器上部署ChatGLM-6B大语言模型。​
背景信息​
ChatGLM-6B是一个具有62亿参数的、支持中英双语问答的对话语言模型,基于General Language Model(GLM)架构,结合模型量化技术,支持在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。ChatGLM-6B使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。​
环境要求​
实例配置​
部署ChatGLM-6B模型,推荐的实例配置如下:​
​
类型​
实例规格​
vCPU​
内存(GiB)​
操作系统​
推荐​
ecs.c3i.24xlarge​
96​
192​
Ubuntu 22.04​
性价比最佳​
ecs.g3i.8xlarge​
32​
128​
Ubuntu 22.04​
最小配置​
ecs.r3i.4xlarge​
16​
128​
Ubuntu 22.04​
​
运行环境​
  • Anaconda:获取包且对包能够进行管理的工具,包含了Conda、Python在内的超过180个科学包及其依赖项,用于创建Python虚拟环境。本文以Anaconda 3和Python 3.8.3为例。​
  • Transformers:一种神经网络架构,用于语言建模、文本生成和机器翻译等任务。本文以4.33.2为例。​
  • Gradio:快速构建机器学习Web展示页面的开源Python库。本文以3.44.4为例。​
使用说明​
下载本文所需软件需要访问国外网站,建议您增加网络代理(例如FlexGW)以提高访问速度。您也可以将所需软件下载到本地,参考本地数据上传到实例中。​
操作步骤​
步骤一:创建实例​
  1. 请参考通过向导购买实例创建一台符合以下条件的实例:​
  • 基础配置:​
  • 计算规格:ecs.c3i.24xlarge​
  • 镜像:Ubuntu 22.04​
  • 存储:云盘容量在100 GiB以上​
  • ​alt​​
  • 网络配置:勾选“分配弹性公网IP”。​
  1. 创建成功后,在实例绑定的安全组中添加入方向规则:放行TCP 7860端口,具体操作请参见修改安全组访问规则。​
步骤二:创建虚拟环境​
  1. 执行以下命令,下载Anaconda安装包。​
  • ​
    wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh​
    ​
  1. 执行以下命令,安装Anaconda。​
  • ​
    bash Anaconda3-2022.05-Linux-x86_64.sh​
    ​
  1. 持续按“Enter”键进行安装。​
  • ​alt​​
  1. 输入“yes”,并按“Enter”键确认信息。​
  • ​alt​​
  1. Anaconda的安装路径/root/anaconda3,请按“Enter”键确认安装。​
  • ​alt​​
  1. 输入“yes”,并按“Enter”键确定初始化Anaconda。​
  • ​alt​​
  1. 执行以下命令使配置文件生效。​
  • ​
    source ~/.bashrc​
    ​
  • 回显如下,表示配置成功,进入base环境。​
  • ​alt​​
  1. 创建一个名为“SPR”的虚拟环境,并指定该环境中的python版本为3.8.3。​
  1. 执行如下命令。​
  • ​
    conda create -n SPR python=3.8.3​
    ​
  1. 回显Proceed ([y]/n)?时输入“y”回车确认。​
  1. 执行以下命令,激活虚拟环境。​
  • ​
    conda activate SPR​
    ​
  • 回显如下,表示激活成功。​
  • ​alt​​
步骤三:部署模型并验证​
  1. 执行以下命令,下载ChatGLM-6B大模型的权重文件。​
  • ​
    wget https://ai-llm.tos-cn-beijing.volces.com/chatglm-6b/GLM-6B-SPR.tar.gz​
    ​
  1. 执行以下命令,解压文件包。​
  • ​
    tar -zxvf GLM-6B-SPR.tar.gz​
    ​
  • 执行ll命令查看解压后的文件列表,如下图所示。​
  • ​alt​​
  1. 执行以下命令,安装相应的Intel依赖包。​
  • ​
    pip install mkl==2023.1.0 intel-openmp==2023.1.0​
    ​
  1. 依次执行以下命令,在Conda环境下安装内存分配器Jemalloc。​
  • ​
    conda install jemalloc​
    pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cpu​
    pip install transformers==4.27.1​
    ​
  1. 安装Gradio。​
  1. 执行以下命令,安装Gradio。​
  • ​
    pip install gradio==3.44.4 sentencepiece​
    ​
  1. 执行以下命令进行验证。​
  • ​
    pip list | grep gradio​
    ​
  • 回显如下所示包含Gradio版本信息时,表示已成功安装。​
  • ​alt​​
  1. 修改软件源。​
  1. 执行vim /etc/apt/sources.list命令,打开源文件。​
  1. 按i进入编辑模式,添加如下内容。​
  • ​
    deb http://mirrors.ivolces.com/ubuntu/ jammy main restricted universe multiverse​
    deb-src http://mirrors.ivolces.com/ubuntu/ jammy main restricted universe multiverse​
    ​
    deb http://mirrors.ivolces.com/ubuntu/ jammy-security main restricted universe multiverse​
    deb-src http://mirrors.ivolces.com/ubuntu/ jammy-security main restricted universe multiverse​
    ​
    deb http://mirrors.ivolces.com/ubuntu/ jammy-updates main restricted universe multiverse​
    deb-src http://mirrors.ivolces.com/ubuntu/ jammy-updates main restricted universe multiverse​
    ​
    # deb http://mirrors.ivolces.com/ubuntu/ jammy-proposed main restricted universe multiverse​
    # deb-src http://mirrors.ivolces.com/ubuntu/ jammy-proposed main restricted universe multiverse​
    ​
    deb http://mirrors.ivolces.com/ubuntu/ jammy-backports main restricted universe multiverse​
    deb-src http://mirrors.ivolces.com/ubuntu/ jammy-backports main restricted universe multiverse​
    ​
  1. 按esc退出编辑模式,输入:wq并按Enter键,保存并退出文件。​
  1. 执行apt update命令,更新软件包。​
  1. 依次执行以下命令安装依赖包。​
  • ​
    cd /root/bloom​
    pip install bloom_fp16-0.0.0-cp38-cp38-linux_x86_64.whl​
    pip install chatglm_hybrid-0.0.0-cp38-cp38-linux_x86_64.whl​
    pip install chatglm_fp32-0.0.0-cp38-cp38-linux_x86_64.whl​
    apt install numactl ​
    ​
  1. 安装完成后,执行cd命令退出当前目录。​
  1. 修改chatglm/webui目录下的demo文件导出路径,加载本地ChatGLM模型。​
  1. 执行vim /root/chatglm/read_path.py命令,新建寻址文件,并添加如下内容。​
  • ​
    import torch​
    import os​
    import sys​
    ​
    def get_pytorch_install_dir():​
    return os.path.dirname(os.path.abspath(torch.__file__))​
    ​
    pytorch_install_dir = get_pytorch_install_dir()​
    python_dir = sys.prefix​
    ​
    print("PyTorch Library Path: " + pytorch_install_dir)​
    print("Python Library Path: " + python_dir + "/lib")​
    print("MKL Dynamic Library Path: " + python_dir + "/lib/libmkl_rt.so.2")​
    ​
  1. 按esc退出编辑模式,输入:wq并按Enter键,保存并退出文件。​
  1. 依次执行以下命令,查看Dynamic路径。​
  • ​
    python /root/chatglm/read_path.py​
    ​
  • 如下图,本例中的Dynamic路径为/root/anaconda3。​
  • ​alt​​
  1. 执行以下命令,打开demo文件。​
  • ​
    vim /root/chatglm/webui/start_demo.sh*​
    ​
  1. 按i进入编辑模式,修改导出路径为/root/anaconda3(与Dynamic保持一致),如下图所示。​
  • ​alt​​
  1. 依次执行以下命令,运行start_demo.sh*脚本。 ​
  • ​
    cd /root/chatglm/webui​
    ./start_demo.sh*​
    ​
  • ​alt​​
  1. 浏览器访问public URL(https://<公网IP>.gradio.live)。​
  • ​alt​​
​
常见问题​
通过脚本启动模型服务时报错“Could not create share link. Missing file: /root/anaconda3/envs/SPR/lib/python3.8/site-packages/gradio/frpc_linux_amd64_v0.2.”,如何解决?​
​​​
该问题通常是由于网络或安全软件阻止了Gradio自动下载必要的内网穿透组件导致的,您可以参考如下方案解决。​
  1. 执行如下命令,下载缺失的文件并将其重命名为frpc_linux_amd64_v0.2。​
  • ​
    wget https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64 -O frpc_linux_amd64_v0.2​
    ​
说明​
若您的服务器无法直接下载,可根据上传或下载文件指引,在本地下载后上传至服务器。​
  1. 执行如下命令,将文件移动至到Gradio包目录。​
  • ​
    mv frpc_linux_amd64_v0.2 /root/anaconda3/envs/SPR/lib/python3.8/site-packages/gradio/​
    ​
  1. 执行如下命令,授予该文件可执行权限。​
  • ​
    chmod +x /root/anaconda3/envs/SPR/lib/python3.8/site-packages/gradio/frpc_linux_amd64_v0.2​
    ​
  1. 再次运行start_demo.sh*脚本,验证问题是否解决。​
  • ​
    cd /root/chatglm/webui​
    ./start_demo.sh*​
    ​
​
最近更新时间:2025.12.05 16:29:42
这个页面对您有帮助吗?
有用
有用
无用
无用