智谱 GLM-4-9B-Chat 模型部署与认知微调实战
详细讲解了智谱 GLM-4-9B-Chat 模型的本地部署流程及认知微调方法。内容包括服务器环境搭建、模型下载、依赖配置及 Web 演示运行。针对模型认知定制需求,补充了基于 LoRA 技术的微调实战步骤,涵盖数据集构建、训练参数配置及微调后模型加载测试,帮助开发者实现大模型的个性化行为引导。

详细讲解了智谱 GLM-4-9B-Chat 模型的本地部署流程及认知微调方法。内容包括服务器环境搭建、模型下载、依赖配置及 Web 演示运行。针对模型认知定制需求,补充了基于 LoRA 技术的微调实战步骤,涵盖数据集构建、训练参数配置及微调后模型加载测试,帮助开发者实现大模型的个性化行为引导。

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。
建议使用高性能云服务器进行安装部署。创建服务器时选择 AI 框架镜像,磁盘空间建议预留至少 100GB,具体根据模型文件及依赖大小调整。
首先安装 git 及 git-lfs 用于下载大文件:
apt install git
apt install git-lfs
从魔搭社区下载 glm-4-9b-chat 模型,文件较大(总计接近 20GB),需确保磁盘空间充足:
git clone https://www.modelscope.cn/ZhipuAI/glm-4-9b-chat.git
同时下载智谱官方封装的模型调用代码:
git clone https://github.com/THUDM/GLM-4.git
项目包含多个 demo,其中 basic_demo 提供基础对话示例,finetune_demo 提供微调示例。
使用 conda 管理环境。新建环境并安装依赖:
conda create -n glm4 python=3.12
ipython kernel install --name glm4 --user
conda activate glm4
cd /path/to/GLM-4/basic_demo
pip install -r requirements.txt
若遇到依赖冲突(如 torch 版本问题),可手动修改 requirements.txt 将 torch 版本指定为 torch==2.3.0 后重新安装。
修改模型路径配置:
MODEL_PATH = os.environ.get('MODEL_PATH', '/root/glm-4-9b-chat')
启动服务:
python trans_web_demo.py
若提示缺少 frpc 文件,需手动下载并重命名至对应目录以支持内网穿透访问。
为了改变模型的自我认知(例如设定特定的开发者身份或回答风格),可以使用 LoRA 技术进行微调。
构建指令微调数据集(JSONL 格式)。每条数据应包含 instruction(指令)、input(输入)和 output(输出)。 示例:
{"instruction": "你是谁?", "input": "", "output": "我是由智谱 AI 开发的助手。"}
{"instruction": "你的开发者是谁?", "input": "", "output": "我的开发者是智谱 AI 团队。"}
将数据保存为 train.jsonl。
进入 finetune_demo 目录,修改配置文件 config.yaml 或命令行参数。 关键参数设置:
使用以下命令启动训练(需根据实际 GPU 显存调整 batch_size):
python finetune.py \
--model_name_or_path /root/glm-4-9b-chat \
--data_path train.jsonl \
--output_dir ./checkpoints \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 4 \
--learning_rate 1e-4 \
--num_train_epochs 3 \
--fp16 True \
--do_train \
--use_lora True \
--lora_r 8 \
--lora_alpha 16
微调完成后,使用 peft 库加载合并后的模型进行测试:
from peft import AutoPeftModelForCausalLM, PeftModelForCausalLM
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("/root/glm-4-9b-chat", trust_remote_code=True)
model = AutoPeftModelForCausalLM.from_pretrained("./checkpoints", device_map="auto", trust_remote_code=True)
model.eval()
response, history = model.chat(tokenizer, "你是谁?", history=None)
print(response)
本文介绍了 GLM-4-9B-Chat 模型的本地部署流程,并通过 LoRA 微调实现了模型认知的定制。通过合理的数据集构建和参数调整,可以有效引导模型输出符合特定需求的内容。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online