阿里云部署微调chatglm3

git Ifs install

Git lfs 主要用于管理大型文件。在传统的Git仓库中,所有文件内容都会被完整记录在每一次提交中,这会导致仓库体积增大,克隆、拉取和推送操作变慢,甚至可能超出存储限额。Git LFS通过将大文件替换成文本指针,这些指针存储在Git仓库中,而实际的大文件则存储在远程的LFS服务器上,从而有效解决这些问题。

拉取模型(分两步拉取)

git clone https://huggingface.co/minlik/chinese-alpaca-plus-7b-merged

git clone https://huggingface.co/entity303/lawgpt-lora-7b-v2

cd chinese-alpaca-plus-7b-mergedcd lawgpt-lora-7b-v2 到对应模型的目录下去再执行

git Ifs pull 拉取大文件

git Ifs Is-files 检查文件完整性

langchain +大模型

bisheng大模型框架

提示词工程:

你是一个友好型的客服助理,请你回答用户的问题{input)},这是你和用户的聊天记录{chat_history},读取文件内容{context}

工作链:

是一个按照指定顺序调用不同组件的过程,这里的组件除了大模型,还包括各类获取数据 或者处理数据的API、代码等,同时[工作链/Chains]还可以嵌套词用其做[工作链/Chains].

大模型微调(新数据对模型进行训练)

登录阿里云平台,选择菜单栏文档与社区,选择机器学习平台PAI,免费试用 选择交互式建模DSW ,授权进入到控制台,,

创建实例,官方镜像选择pytorch1.12

AI资产管理的DSW gallery--->轻量微调和推理

部署chatglm3-6b

git clone https://github.com/THUDM/ChatGLM3.git

source /etc/network_turbo 启动学术加速

创建虚拟环境 conda create --name myenv python=3.10

conda init

conda activate myenv 激活虚拟环境

cd ChatGLM3

pip install--upgrade pip

下载相关依赖

下载相应依赖包(可选source /etc/network_turbo)

pip install-r requirements.txt

pip install jupyter_client

下载模型(三种方式)

第一种(huggingface直接拉取)(最推荐这种切换目录cd /root/autodl-tmp)

其他方法:就是先上传到阿里云盘,再从阿里云盘拉取

切换目录 cd /root/autodl-tmp

更新软件包 sudo apt update

安装git-Ifs

sudo apt-get install git-Ifs

初始化git-Ifs

git lfs install

克隆项目中的小文件

git clone https://huggingface.co/THUDM/chatglm3-6b (选这个命令)

git clone https://www.modelscope.cn/ZhipuAl/chatglm3-6b.git (备选)

当看到这句话:Unpacking objects: 100% (84/84), 39.16 KiB | 1.30 MiB/s, done. Ctrl键+c退出

进入项目目录 cd chatglm3-6b

拉取大文件 git Ifs pull

验证文件完整性 git Ifs Is-files 带星号的是完整下载的

4d5567466e * pytorch_model-00001-of-00007. bin

4ad4153401 * pytorch_model-00002-of-00007. bin

a2be9b17c3 * pytorch_model-00003-of-00007. bin

b5526891el * pytorch_model-00004-of-00007. bin

84bb18a476 * pytorch_model-00005-of-00007. bin

1181875a2d * pytorch_model-00006-of-00007. bin

1271b638dc * pytorch_model-00007-of-00007. bin

cd chatGlm3/basic_demo 切换目录

vi cli_demo.py 修改到本地模型文件路径

python cli_demo.py 就可以在终端和模型对话

(网页启动)

python web_demo.py

从申请云主机的平台上粘贴来的命令:

ssh-p 21133 root@connect.westb.seetacloud.com (将root@connect.westb.seetacloud.com替换下面的对应位置1)

修改后的命令: 输入到win power shell中

ssh-CNg-L 6006:127.0.0.1:7860 root@connect.westc.gpuhub.com -p 21133

密码:Ap/u32aKvCAY

浏览器打开 http://127.0.0.1:6006

到这里模型部署完毕

微调类型

  • 原理:LoRA(Low-Rank Adaptation)是一种参数高效的微调方法,通过在模型的权重矩阵中添加低秩矩阵来调整模型参数,从而在不改变原始模型结构的情况下,实现对模型的微调。
    Freeze-tuning 微调
  • 原理:Freeze-tuning 是一种冻结部分模型参数的微调方法。在微调过程中,只更新模型的部分参数,而保持其他参数不变。这种方法可以减少计算量和显存占用,同时避免对模型的过度调整。
    P-Tuning 微调
  • 原理:P-Tuning 是一种通过调整模型的输入提示(prompt)来进行微调的方法。通过对输入文本的提示进行设计和优化,引导模型生成更符合任务需求的输出。
    全参数微调
  • 原理:全参数微调是对模型的所有参数进行调整的微调方法。这种方法会更新模型的每一个参数,以使模型更好地适应特定任务的数据集。

多轮对话微调

基于AutoDL的ChatGLM3-6b部署微调实践(全流程) - 知乎

(先激活虚拟环境)

安装依赖

pip install transformers==4.30.2 accelerate sentencepiece astunparse deepspeed

克隆项目

cd ~

git clone https://github.com/tangqiaoyu/ToolAlpaca.git

调整数据格式

/root/ChatGLM3/finetune_demo/scripts/format_tool_alpaca.py --path "/root/ToolAlpaca/data/train_data.json"

进入修改参数

cd /root/ChatGLM3/finetune_demo/scripts

找到这个文件

finetune_pt_multiturn.sh

进入修改训练数据路径

BASE_MODEL_PATH=/root/autodl-tmp/chatglm3-6b

DATASET_PATH=(一般是: /root/formatted_data/tool_alpaca.jsonl)

注意:这里的数据集一般是jsonl文件,不是传统神经网络那种格式

微调开始

cd /root/ChatGLM3/finetune_chatmodel_demo

/root/ChatGLM3/finetune_demo/scripts/finetune_pt_multiturn.sh

微调结束(大概3个小时) (微调显示)

(train_runtime: 12381.253, train_samples_per_second': 1.292, train_steps_per_second: 0.081, train_loss': 0.26453141117095946, epoch': 3.95) 100%

Saving PrefixEncoder

INFOlconfiguration_utils.py:458\] 2023-11-11 00:32:07,299 \>\>Configuration saved in output/tool_alpaca_pt-20231110-210524-128-2e-2/config.json I 1000/1000 \[3:26:21\<00:00, 12.38s/it

上述表示微调完成

调用微调模型

进入对应目录cd /root/ChatGLM3/composite_demo

测试模型

python inference.py --pt-checkpoint "/root/ChatGLM3/finetune_demo/output/advertise_gen_pt-20231111-212157-128-2e-2" --model /root/autodl-tmp/chatglm3-6b

启动微调好的模型

MODEL_PATH="/root/autodl-tmp/chatglm3-6b" PT_PATH="/root/ChatGLM3/finetune_demo/output/tool_alpaca_pt-20231110-210524-128 -2e-2" streamlit run main. py

train_data.json内容大概如下:

输入输出格式微调

cd ~

wget-O AdvertiseGen.tar.gz https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1

tar -xzvf AdvertiseGen.tar.gz /root/ChatGLM3/finetune_demo/scripts/format_advertise_gen.py --path "/root/AdvertiseGen/train.json"

进入修改参数

cd /root/ChatGLM3/finetune_demo/scripts

找到这个文件 finetune_pt.sh

进入修改训练数据路径

BASE MODEL PATH=/root/autodl-tmp/chatglm3-6b DATASET_PATH=看自己情况(一般是:/root/formatted data/advertise gen.jsonl

微调开始

cd /root/ChatGLM3/finetune demo /root/ChatGLM3/finetune_demo/scripts/finetune_pt.sh

相关推荐
白-胖-子21 小时前
阿里云 “封神” 组件:云平台监控告警的智能中枢
阿里云·云计算·阿里云封神
海上生明月丿1 天前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
在未来等你1 天前
Elasticsearch面试精讲 Day 19:磁盘IO与存储优化
大数据·分布式·elasticsearch·搜索引擎·面试
荣光波比1 天前
自动化运维工具 Ansible:集中化管理服务器完全指南
运维·自动化·云计算·ansible
Paraverse平行云1 天前
实时云渲染云推流突破UE像素流传输数据单个消息64KB限制
云计算·webrtc·unreal engine
AiTop1001 天前
阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理
人工智能·阿里云·ai·aigc·音视频
odoo-卜永1 天前
odoo阿里云大模型多字段内容翻译
阿里云·odoo·大模型翻译
Elasticsearch1 天前
从 Uptime 到 Synthetics 在 Elastic 中的迁移手册
elasticsearch
俺俺1 天前
(50)elasticsearch服务部署-有状态负载(华为云平台CCE)
elasticsearch·华为云·es·cce·有状态负载
Elasticsearch1 天前
理解 Elasticsearch 中的分块策略
elasticsearch