当前位置: 首页 > news >正文

阿里云部署微调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

微调完成

http://www.dtcms.com/a/311387.html

相关文章:

  • 音视频学习(四十七):模数转换
  • 文心4.5开源测评:国产大模型的轻量化革命与全栈突破
  • Unity_数据持久化_C#处理XML文件
  • Ubuntu18网络连接不上也ping不通网络配置问题排查与解决方法
  • Pyspark的register方法自定义udf函数
  • Android13文件管理USB音乐无专辑图片显示的是同目录其他图片
  • JVM 02 垃圾回收
  • PyTorch基础 :三角函数与特殊运算
  • 隧道照明“隐形革命”:智能控制如何破解安全与节能双重命题
  • k8s集群部署(脚本版)
  • 面经——电子电路技术知识详解
  • 【Leetcode hot 100】49.字母异位词分组
  • 详解Python标准库之互联网数据处理
  • winscp 连openwrt 返回127错误码
  • wxPython 实践(六)对话框
  • 【iOS】strong和copy工作流程探寻、OC属性关键字复习
  • Android 运行 deno 的新方法 (3): Termux 胖喵安初
  • Flutter镜像替换
  • 【Android】通知
  • 历史数据分析——中青旅
  • 【Linux网络】:UDP(传输层协议)
  • 大数据之路:阿里巴巴大数据实践——OneData数据中台体系
  • python测试总结
  • AIDL当Parcelable序列化的数据类通信时报“Class not found when unmarshalling“找不到该类时的解决方案
  • 【一天一个知识点】RAG遇见推理
  • Linux内核进程管理子系统有什么第十六回 —— 进程主结构详解(12)
  • AIGC系列:本地部署大模型
  • appium中urllib3.exceptions.LocationValueError: No host specified. 的错误解决办法
  • 第15届蓝桥杯Pthon青少组_国赛_中/高级组_2024年9月7日真题
  • 【Linux】多路转接之epoll