chatglm3-6b部署和微调

学习记录📝

文章目录

  • 一、Autodl租用服务器
  • [二、ChatGLM3-6B 部署](#二、ChatGLM3-6B 部署)
  • [三、多轮对话微调(基于 ToolAlpaca 数据集)](#三、多轮对话微调(基于 ToolAlpaca 数据集))
    • [1. 前置准备](#1. 前置准备)
    • [2. 微调参数配置](#2. 微调参数配置)
    • [3. 启动微调](#3. 启动微调)
    • [4. 微调模型调用](#4. 微调模型调用)
  • [四、输入输出微调(基于 AdvertiseGen 数据集)](#四、输入输出微调(基于 AdvertiseGen 数据集))
    • [1. 前置准备](#1. 前置准备)
    • [2. 微调参数配置](#2. 微调参数配置)
    • [3. 启动微调](#3. 启动微调)
    • [4. 微调模型验证与调用](#4. 微调模型验证与调用)

部署chatglm3-6b

项目地址:https://github.com/THUDM/ChatGLM3

一、Autodl租用服务器

在autodl中租用4090显卡,pytorch版本2.0.0,python 3.8,CUDA 11.8。


二、ChatGLM3-6B 部署

1.环境准备

打开终端

配置好学术资源加速后克隆项目

powershell 复制代码
source /etc/network_turbo
git clone https://github.com/THUDM/ChatGLM3.git

创建虚拟环境,初始化conda,并激活虚拟环境

powershell 复制代码
conda create --name myenv python=3.10
conda init
conda activate myenv

安装依赖包:

powershell 复制代码
cd ChatGLM3                            # 进入项目目录
pip install --upgrade pip              # 更新pip
pip install -r requirements.txt        # 安装项目核心依赖
pip install jupyter_client             # 补充安装jupyter相关依赖


2.模型文件下载

提供2种下载方式,优先推荐HuggingFace拉取:

  • 方式1(推荐):HuggingFace + Git LFS拉取
powershell 复制代码
  cd /root/autodl-tmp                    # 切换到存储目录
  sudo apt update                        # 更新软件包
  sudo apt-get install git-lfs           # 安装git-lfs
  source /etc/network_turbo              # 启动学术加速(可选)
  git clone https://huggingface.co/THUDM/chatglm3-6b  # 克隆模型仓库
  (unset http_proxy && unset https_proxy) # 取消代理(如需)
  git lfs install                        # 初始化git-lfs
  cd chatglm3-6b                         # 进入模型目录
  git lfs pull                           # 拉取大模型文件
  git lfs ls-files                       # 验证文件完整性



3.模型启动测试

  • 修改模型地址:将配置文件中的模型路径指向 /root/autodl-tmp/chatglm3-6b
    配置文件为/root/autodl-tmp/ChatGLM3/basic_demo/cli_demo.py
  • 启动方式:

① 终端交互:python cli_demo.py

② 网页交互:

powershell 复制代码
streamlit run web_demo_streamlit.py

③ 访问地址:http://127.0.0.1:6006

首先,复制好ssh登录指令和密码,用自己的登录指令替换下面的内容:

ssh -CNg -L 6006:127.0.0.1:8501 root@connect.westc.gpuhub.com -p 22688

接着,在windows powershell中连接

输入密码后若无报错,说明已正确连接,这时可以访问 http://127.0.0.1:6006


三、多轮对话微调(基于 ToolAlpaca 数据集)

1. 前置准备

  • 安装微调依赖:pip install transformers==4.30.2 accelerate sentencepiece astunparse deepspeed

  • 克隆数据集仓库:cd ~ && git clone https://github.com/tangqiaoyu/ToolAlpaca.git

  • 调整数据格式:

    Bash 复制代码
    chmod +x /root/ChatGLM3/finetune_chatmodel_demo/scripts/format_tool_alpaca.py
    /root/ChatGLM3/finetune_chatmodel_demo/scripts/format_tool_alpaca.py --path "/root/ToolAlpaca/data/train_data.json"

2. 微调参数配置

Bash 复制代码
cd /root/ChatGLM3/finetune_chatmodel_demo/scripts  # 进入脚本目录
# 编辑finetune_pt_multiturn.sh文件,修改以下路径
BASE_MODEL_PATH=/root/autodl-tmp/chatglm3-6b       # 基础模型路径
DATASET_PATH=/root/formatted_data/tool_alpaca.jsonl # 格式化后数据集路径

3. 启动微调

Bash 复制代码
cd /root/ChatGLM3/finetune_chatmodel_demo          # 进入微调目录
chmod +x /root/ChatGLM3/finetune_chatmodel_demo/scripts/finetune_pt_multiturn.sh
/root/ChatGLM3/finetune_chatmodel_demo/scripts/finetune_pt_multiturn.sh
  • 微调耗时:约3小时,完成后会输出训练指标(如train_loss=0.2645),并将微调后的模型保存至output/tool_alpaca_pt-xxxx目录

4. 微调模型调用

Bash 复制代码
cd /root/ChatGLM3/composite_demo                   # 进入调用目录
# 启动微调后模型(替换端口/密码参数)
MODEL_PATH="/root/autodl-tmp/chatglm3-6b" PT_PATH="/root/ChatGLM3/finetune_chatmodel_demo/output/tool_alpaca_pt-20231110-210524-128-2e-2" streamlit run main.py
# 本地端口映射
ssh -CNg -L 6006:127.0.0.1:8501 root@connect.westb.seetacloud.com -p 17077
  • 访问地址:http://127.0.0.1:6006,密码:12cClLO9/KdN

四、输入输出微调(基于 AdvertiseGen 数据集)

1. 前置准备

  • 安装微调依赖(同多轮对话微调):pip install transformers==4.30.2 accelerate sentencepiece astunparse deepspeed

  • 下载并解压数据集:

    Bash 复制代码
    cd ~
    wget -O AdvertiseGen.tar.gz https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1
    tar -xzvf AdvertiseGen.tar.gz
  • 调整数据格式:

    Bash 复制代码
    chmod +x /root/ChatGLM3/finetune_chatmodel_demo/scripts/format_advertise_gen.py
    /root/ChatGLM3/finetune_chatmodel_demo/scripts/format_advertise_gen.py --path "/root/AdvertiseGen/train.json"

2. 微调参数配置

Bash 复制代码
cd /root/ChatGLM3/finetune_chatmodel_demo/scripts  # 进入脚本目录
# 编辑finetune_pt.sh文件,修改以下路径
BASE_MODEL_PATH=/root/autodl-tmp/chatglm3-6b       # 基础模型路径
DATASET_PATH=/root/formatted_data/advertise_gen.jsonl # 格式化后数据集路径

3. 启动微调

Bash 复制代码
cd /root/ChatGLM3/finetune_chatmodel_demo          # 进入微调目录
pip install astunparse                             # 补充安装依赖
chmod +x /root/ChatGLM3/finetune_chatmodel_demo/scripts/finetune_pt.sh
/root/ChatGLM3/finetune_chatmodel_demo/scripts/finetune_pt.sh

4. 微调模型验证与调用

  • 终端测试模型:

    Bash 复制代码
    cd /root/ChatGLM3/finetune_chatmodel_demo
    python inference.py \
    --pt-checkpoint "/root/ChatGLM3/finetune_chatmodel_demo/output/advertise_gen_pt-20231201-155239-128-2e-2" \
    --model /root/autodl-tmp/chatglm3-6b
  • 网页调用模型:

    Bash 复制代码
    cd /root/ChatGLM3/composite_demo
    MODEL_PATH="/root/autodl-tmp/chatglm3-6b" PT_PATH="/root/ChatGLM3/finetune_chatmodel_demo/output/advertise_gen_pt-20231201-155239-128-2e-2" streamlit run main.py
    # 本地端口映射
    ssh -CNg -L 6006:127.0.0.1:8501 root@connect.westb.seetacloud.com -p 26185
  • 访问地址:http://127.0.0.1:6006,密码:KbUhLQF47v44


相关推荐
gorgeous(๑>؂<๑)1 小时前
【ICLR26-Oral Paper-Meta】DepthLM:基于视觉语言模型的度量深度
人工智能·计算机视觉·语言模型·自然语言处理
山顶夕景3 小时前
【MLLM】Qwen3.5模型
大模型·llm·多模态·infra
陈天伟教授3 小时前
人工智能应用- 搜索引擎:04. 网页重要性评估
人工智能·神经网络·搜索引擎·语言模型·自然语言处理
PPIO派欧云5 小时前
Qwen3.5重磅发布 PPIO 模型服务平台同步上线
ai·大模型
AI周红伟5 小时前
周红伟:Agent Skills+OpenClaw+RAG+Agent+SeeDance2.0企业智能体智能体应用实战
人工智能·大模型·智能体·seedance
gorgeous(๑>؂<๑)6 小时前
【ICLR26-Oral Paper】透过对比的视角:视觉语言模型中的自改进视觉推理
人工智能·算法·语言模型·自然语言处理
量子-Alex6 小时前
【大模型思维链】Tree of Thoughts: Deliberate Problem Solving with Large Language Models
人工智能·语言模型·自然语言处理
小草cys7 小时前
opencode/claude code自动写书啦
人工智能·自动化·大模型
MoonOutCloudBack7 小时前
VeRL 框架 RL 微调大语言模型,algorithm.use_pf_ppo 参数详解
人工智能·机器学习·语言模型·自然语言处理
Tadas-Gao8 小时前
架构逆转向量:AI时代规范驱动开发的范式重构与实践图谱
人工智能·云原生·重构·架构·系统架构·大模型