ChatGLM4部署教程(非常详细)零基础入门到精通,收藏这篇就够了

一、介绍

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中, GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。还推出了支持 1M 上下文长度(约 200 万中文字符)的 GLM-4-9B-Chat-1M模型和基于 GLM-4-9B 的多模态模型 GLM-4V-9B。GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 表现出超越 GPT-4-turbo-2024-04-09、Gemini 1.0 Pro、Qwen-VL-Max 和 Claude 3 Opus 的卓越性能。


GLM-4 开源模型旨在与开源社区一起推动大模型技术发展,恳请开发者和大家遵守 开源协议 ,勿将开源模型和代码及基于开源项目产生的衍生物用于任何可能给国家和社会带来危害的用途以及用于任何未经过安全评估和备案的服务。目前,其项目团队未基于 GLM-4 开源模型开发任何应用,包括网页端、安卓、苹果 iOS 及 Windows App 等应用。

尽管模型在训练的各个阶段都尽力确保数据的合规性和准确性,但由于 GLM-4-9B 模型规模较小,且模型受概率随机性因素影响,无法保证输出内容的准确。同时模型的输出容易被用户的输入误导。

更多详细信息见 Github 仓库。

二、部署过程

基础环境最低要求说明:

环境名称版本信息1版本信息2
Ubuntu22.04.4 LTS
CudaV12.1.105
Python3.10.83.12.4
NVIDIA CorporationRTX 3060 *2RTX 3090
1. 更新基础软件包

查看系统版本信息

\# 查看系统版本信息,包括ID(如ubuntu、centos等)、版本号、名称、版本号ID等  
cat /etc/os-release  



配置 apt 国内源

\# 更新软件包列表  
apt-get update  



这个命令用于更新本地软件包索引。它会从所有配置的源中检索最新的软件包列表信息,但不会安装或升级任何软件包。这是安装新软件包或进行软件包升级之前的推荐步骤,因为它确保了您获取的是最新版本的软件包。

\# 安装 Vim 编辑器  
apt-get install -y vim  



这个命令用于安装 Vim 文本编辑器。-y 选项表示自动回答所有的提示为“是”,这样在安装过程中就不需要手动确认。Vim 是一个非常强大的文本编辑器,广泛用于编程和配置文件的编辑。

为了安全起见,先备份当前的 sources.list 文件之后,再进行修改:

\# 备份现有的软件源列表  
cp /etc/apt/sources.list /etc/apt/sources.list.bak  



这个命令将当前的 sources.list 文件复制为一个名为 sources.list.bak 的备份文件。这是一个好习惯,因为编辑 sources.list 文件时可能会出错,导致无法安装或更新软件包。有了备份,如果出现问题,您可以轻松地恢复原始的文件。

\# 编辑软件源列表文件  
vim /etc/apt/sources.list  



这个命令使用 Vim 编辑器打开 sources.list 文件,以便您可以编辑它。这个文件包含了 APT(Advanced Package Tool)用于安装和更新软件包的软件源列表。通过编辑这个文件,您可以添加新的软件源、更改现有软件源的优先级或禁用某些软件源。

在 Vim 中,您可以使用方向键来移动光标,i 键进入插入模式(可以开始编辑文本),Esc 键退出插入模式,:wq 命令保存更改并退出 Vim,或 :q! 命令不保存更改并退出 Vim。

编辑 sources.list 文件时,请确保您了解自己在做什么,特别是如果您正在添加新的软件源。错误的源可能会导致软件包安装失败或系统安全问题。如果您不确定,最好先搜索并找到可靠的源信息,或者咨询有经验的 Linux 用户。

使用 Vim 编辑器打开 sources.list 文件,复制以下代码替换 sources.list里面的全部代码,配置 apt 国内阿里源。

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse  



安装常用软件和工具

\# 更新源列表,输入以下命令:  
apt-get update  
  
\# 更新系统软件包,输入以下命令:  
apt-get upgrade  
  
\# 安装常用软件和工具,输入以下命令:  
apt-get -y install vim wget git git-lfs unzip lsof net-tools gcc cmake build-essential  



出现以下页面,说明国内apt源已替换成功,且能正常安装apt软件和工具

2. 安装 NVIDIA CUDA Toolkit 12.1
  • 下载 CUDA Keyring
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86\_64/cuda-keyring\_1.0-1\_all.deb  



这个命令用于下载 CUDA 的 GPG 密钥环,它用于验证 CUDA 软件包的签名。这是确保软件包安全性的一个重要步骤。

  • 安装 CUDA Keyring
dpkg -i cuda-keyring\_1.0-1\_all.deb  



使用 dpkg 安装下载的密钥环。这是必要的,以便 apt 能够验证从 NVIDIA 仓库下载的软件包的签名。

  • 删除旧的 apt 密钥(如果必要)
apt-key del 7fa2af80  



这一步可能不是必需的,除非您知道 7fa2af80 是与 CUDA 相关的旧密钥,并且您想从系统中删除它以避免混淆。通常情况下,如果您只是安装 CUDA 并使用 NVIDIA 提供的最新密钥环,这一步可以跳过。

  • 更新 apt 包列表
apt-get update  



更新 apt 的软件包列表,以便包括刚刚通过 cuda-keyring 添加的 NVIDIA 仓库中的软件包。

  • 安装 CUDA Toolkit
apt-get -y install cuda-toolkit-12-1  



出现以下页面,说明 NVIDIA CUDA Toolkit 12.1 安装成功

注意:这里可能有一个问题。NVIDIA 官方 Ubuntu 仓库中可能不包含直接名为 cuda-toolkit-12-1 的包。通常,您会安装一个名为 cudacuda-12-1 的元包,它会作为依赖项拉入 CUDA Toolkit 的所有组件。请检查 NVIDIA 的官方文档或仓库,以确认正确的包名。

如果您正在寻找安装特定版本的 CUDA Toolkit,您可能需要安装类似 cuda-12-1的包(如果可用),或者从 NVIDIA 的官方网站下载 CUDA Toolkit 的 .run 安装程序进行手动安装。

请确保您查看 NVIDIA 的官方文档或 Ubuntu 的 NVIDIA CUDA 仓库以获取最准确的包名和安装指令。

  • 出现以上情况,需要配置 NVIDIA CUDA Toolkit 12.1 系统环境变量

编辑 ~/.bashrc 文件

\# 编辑 ~/.bashrc 文件  
vim ~/.bashrc  



插入以下环境变量

\# 插入以下环境变量  
export PATH=/usr/local/cuda/bin:$PATH  
export LD\_LIBRARY\_PATH=/usr/local/cuda/lib64:$LD\_LIBRARY\_PATH  



激活 ~/.bashrc 文件

\# 激活 ~/.bashrc 文件  
source ~/.bashrc  



查看cuda系统环境变量

which nvcc  
nvcc -V  



3. 安装 Miniconda
  • 下载 Miniconda 安装脚本

  • 使用 wget 命令从 Anaconda 的官方仓库下载 Miniconda 的安装脚本。Miniconda 是一个更小的 Anaconda 发行版,包含了 Anaconda 的核心组件,用于安装和管理 Python 包。

  • 运行 Miniconda 安装脚本

  • 使用 bash 命令运行下载的 Miniconda 安装脚本。这将启动 Miniconda 的安装过程。

\# 下载 Miniconda 安装脚本  
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86\_64.sh  
  
\# 运行 Miniconda 安装脚本  
bash Miniconda3-latest-Linux-x86\_64.sh  
  
\# 初次安装需要激活 base 环境  
source ~/.bashrc  



按下回车键(enter)

输入yes

输入yes

安装成功如下图所示

pip配置清华源加速

\# 编辑 /etc/pip.conf 文件  
vim  /etc/pip.conf  



加入以下代码

\[global\]  
index-url = https://pypi.tuna.tsinghua.edu.cn/simple  



注意事项:

  • 请确保您的系统是 Linux x86_64 架构,因为下载的 Miniconda 版本是为该架构设计的。

  • 在运行安装脚本之前,您可能需要使用 chmod +x Miniconda3-latest-Linux-x86_64.sh 命令给予脚本执行权限。

  • 安装过程中,您将被提示是否同意许可协议,以及是否将 Miniconda 初始化。通常选择 “yes” 以完成安装和初始化。

  • 安装完成后,您可以使用 conda 命令来管理 Python 环境和包。

  • 如果链接无法访问或解析失败,可能是因为网络问题或链接本身的问题。请检查网络连接,并确保链接是最新的和有效的。如果问题依旧,请访问 Anaconda 的官方网站获取最新的下载链接。

4. 从 github 仓库克隆项目
  • 克隆存储库:

  • git clone https://github.com/THUDM/GLM-4

  • 这个命令使用 git clone 从指定的 GitHub 地址克隆 “GLM-4” 项目,默认情况下 Git 会克隆整个项目的所有提交历史。

  • 切换目录:

  • cd GLM-4

  • 这个命令使用 cd(change directory)命令切换当前工作目录到刚才克隆的 “GLM-4” 目录中。这意味着接下来执行的所有命令都是在该项目目录下执行。

\# 克隆 ChatGLM4 项目  
git clone https://github.com/THUDM/GLM-4 ChatGLM4  
  
\# 切换到克隆的项目目录中  
cd ChatGLM4  



出现以上页面即是克隆项目成功!

请注意,如果 git clone https://github.com/THUDM/GLM-4 这个链接不存在或者无效,git clone 命令将不会成功克隆项目,并且会报错。确保链接是有效的,并且您有足够的权限访问该存储库。

5. 创建虚拟环境
\# 创建一个名为 ChatGLM4 的新虚拟环境,并指定 Python 版本为 3.10.8  
conda create --name ChatGLM4 python=3.10.8  



\# 激活新创建的虚拟环境  
conda activate ChatGLM4  



6. 安装模型依赖库
  • 切换到项目目录
\# 切换到项目工作目录  
cd /ChatGLM4  



  • 激活 ChatGLM4 虚拟环境
conda activate ChatGLM4  



  • 安装 requirements.txt 依赖
\# 在 ChatGLM3 环境中安装 requirements.txt 依赖  
pip install -r requirements.txt  



依赖安装成功如下图所示:

7. 下载预训练模型
\# 创建一个THUDM文件夹  
mkdir -p /ChatGLM4/basic\_demo/THUDM  
  
\# 递归复制 GLM-4 这个整体文件夹到数据盘位置(因为模型有点大,系盘无法存放)  
cp -r /ChatGLM4 /root/sj-tmp/  
  
\# 切换到 GLM-4 项目的 basic\_demo 目录  
cd /root/sj-tmp/ChatGLM4/basic\_demo  



安装 modelscope 依赖包

pip install modelscope  



创建一个Python下载脚本

vim modelscope\_download.py  



插入以下下载代码

\# Python 代码下载模型  
from modelscope import snapshot\_download  
model\_dir = snapshot\_download('ZhipuAI/glm-4-9b-chat', cache\_dir='./', revision='master')  



执行 modelscope_download.py 文件进行模型下载

python modelscope\_download.py  



8. 运行 web_demo_gradio.py 文件
cd /root/sj-tmp/ChatGLM4/basic\_demo/  
python trans\_web\_demo.py  



出现以上代码“ModuleNotFoundError: No module named ‘peft’”报错,安装 peft 依赖包

\# 安装 peft  
pip install peft  



出现以上报错,需要修改模型路径

\# 编辑 trans\_web\_demo.py 文件  
vim trans\_web\_demo.py  



替换为

MODEL\_PATH = os.environ.get('MODEL\_PATH', 'ZhipuAI/glm-4-9b')  



出现以上结果,还需要继续修改 web_demo_gradio.py 文件的IP和端口,才能进入 gradio 页面

\# 编辑 trans\_web\_demo.py 文件  
vim trans\_web\_demo.py  



替换为

demo.launch(server\_name="0.0.0.0", server\_port=8080, inbrowser=True, share\=True)  



替换说明:server_name 为IP地址, server_port 为端口号,根据访问需求进行替换即可

三、网页演示

出现以下 Gradio 页面,即是模型已搭建完成。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值