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


相关推荐
warm3snow11 天前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
AI周红伟13 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
官能13 天前
从 ReAct 到 LangGraph:房产 Agent 的工作流升级复盘
人工智能·语言模型
大江东去浪淘尽千古风流人物13 天前
【SLAM】GenRobot / IO-AI / Scale / Appen 能力对比表(机器人数据与闭环视角)
人工智能·机器学习·机器人·大模型·概率论·端侧部署·巨身智能
CoderJia程序员甲13 天前
GitHub 热榜项目 - 日榜(2026-02-25)
人工智能·ai·大模型·github·ai教程
fish_study_csdn13 天前
LangChain学习二:LangChain使用之Model I/O
langchain·大模型·ai agent
小马过河R13 天前
OpenClaw 记忆系统工作原理
人工智能·机器学习·语言模型·agent·openclaw·智能体记忆机制
来两个炸鸡腿13 天前
【Datawhale组队学习202602】Hello-Agents task06 框架应用开发实战
人工智能·学习·大模型·智能体
硅谷秋水13 天前
从机制角度看视频生成作为世界模型:状态与动态
深度学习·机器学习·计算机视觉·语言模型·机器人
摘星编程13 天前
大语言模型(Large Language Models,LLM)如何颠覆未来:深入解析应用、挑战与趋势
人工智能·语言模型·自然语言处理