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.pswp.cn/pingmian/91746.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91746.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91746.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络编程 ---五种IO模型

五种IO模型一、IO慢的原因二、五种IO模型三、如何设置非阻塞式IO&#xff1f;一、IO慢的原因 二、五种IO模型 阻塞式IO 非阻塞式IO 信号驱动IO 多路转接 异步IO 三、如何设置非阻塞式IO&#xff1f; &#xff08;一&#xff09;用法说明 &#xff08;二&#xff0…

Obsidian结合CI/CD实现自动发布

CI/CDQuickAddJS脚本bat脚本sh脚本实现自动发版Hugo文章 需求来源 每次手动执行Hugo的命令&#xff0c;手动把public文件夹上传到自己的服务器可以完成发版需求。 但是&#xff0c;作为一个内容创作者&#xff0c;我更希望的关注于自己的内容&#xff0c;而不是关注整个发版…

[硬件电路-141]:模拟电路 - 源电路,信号源与电源,能自己产生确定性波形的电路。

源电路&#xff08;Source Circuit&#xff09;是电子系统中为其他电路或负载提供特定信号或能量的基础电路模块&#xff0c;其核心功能是生成、调节或转换所需的物理量&#xff08;如电压、电流、波形、频率等&#xff09;。以下是源电路的详细解析&#xff1a;一、源电路的核…

Unity_数据持久化_PlayerPrefs基础

Unity数据持久化 一、数据持久化基础概念 1.1 什么是数据持久化 定义&#xff1a; 数据持久化就是将内存中的数据模型转换为存储模型&#xff0c;以及将存储模型转换为内存中的数据模型的统称。 通俗解释&#xff1a; 将游戏数据存储到硬盘&#xff0c;硬盘中数据读取到游戏中&…

什么是列存储(Columnar Storage)?深度解析其原理与应用场景

列存储的基本概念&#xff1a;颠覆传统的数据组织方式列存储&#xff08;Column Storage&#xff09;是一种革命性的数据库存储技术&#xff0c;它通过按列而非按行组织数据&#xff0c;从根本上改变了数据的物理存储结构。与传统行存储数据库不同&#xff0c;列式数据库将每一…

机器人抓取流程介绍与实现——机器人抓取系统基础系列(七)

机器人抓取系统基础系列文章目录 1. UR机械臂的ROS驱动安装官方教程详解——机器人抓取系统基础系列&#xff08;一&#xff09; 2. MoveIt控制机械臂的运动实现——机器人抓取系统基础系列&#xff08;二&#xff09; 3. 机器人&#xff08;机械臂&#xff09;的相机选型与安装…

【Qt】QObject::startTimer: Timers cannot be started from another thread

QTimer对象的 start 函数调用必须和创建QTimer对象是同一个线程。 #include "QtTimerTest.h" #include <QDebug>QtTimerTest::QtTimerTest(QWidget *parent): QMainWindow(parent),m_timer(nullptr),m_timerThread(nullptr), m_workingThread(nullptr) {ui.set…

社会治安满意度调查:为城市安全治理提供精准参考(满意度调查公司)

在社会治理不断深化的背景下&#xff0c;公众对社会治安的感知与评价已成为衡量城市治理水平的重要维度&#xff08;社会治安满意度调查&#xff09;&#xff08;公众满意度调查&#xff09;&#xff08;满意度调查&#xff09;。为全面掌握市民对治安状况的真实反馈&#xff0…

Python篇--- Python 的加载、缓存、覆盖机制

要理解 import 与 if __name__ "__main__": 的关系&#xff0c;以及 Python 的加载、缓存、覆盖机制&#xff0c;我们可以从 “模块的两种身份” 和 “导入的全过程” 入手&#xff0c;用通俗的例子一步步拆解。一、核心&#xff1a;模块的 “双重身份” 与 __name_…

Java设计模式之行为型模式(访问者模式)应用场景分析

访问者模式&#xff08;Visitor Pattern&#xff09;作为Java设计模式中的“隐形冠军”&#xff0c;常被开发者低估其价值。这一模式通过“双分派”机制巧妙解耦数据结构与操作&#xff0c;为复杂系统的扩展提供了强大武器。在大厂项目中&#xff0c;访问者模式往往出现在业务逻…

【IDEA】JavaWeb自定义servlet模板

方法一&#xff1a;&#xff08;推荐去使用方法二&#xff0c;还能创建其它代码模板&#xff09;使用servlet模板创建Servlet类如果创建时找不到servlet模板&#xff1a;File -> Project Structure然后应用 -> OK&#xff0c;如果还是找不到Servlet模板&#xff0c;看看项…

Linux选择

在内存中运行着的进程称为&#xff08; 服务 &#xff09;。负责控制systemd系统和服务管理器的工具为&#xff08; systemctl &#xff09;命令。systemd管理系统服务的基本单位是&#xff08; unit &#xff09;。分配和管理资源的基本单位是&#xff08; 进程 &#xf…

【Redis学习路|第一篇】初步认识Redis

概要: 深入探讨NoSQL数据库的核心特性&#xff0c;对比传统关系型数据库的差异&#xff0c;重点介绍Redis作为内存数据库的优势与应用场景。 文章目录认识 NoSQLNoSQL vs SQL 对比1️⃣ 结构化 vs 非结构化2️⃣ 关联 vs 非关联3️⃣ 查询方式对比4️⃣ 事务特性5️⃣ 存储方式…

java局域网聊天室小项目架构思路

java局域网聊天室小项目架构思路 项目需求 创建一个局域网聊天系统&#xff0c;要求&#xff1a;用户在登录界面登录后进入聊天窗口界面&#xff0c;能实现多用户同时在线聊天&#xff0c;并且用户之间可以进行私聊 项目用到的技术栈 java网络编程java多线程java面向对象编…

vulhub-corrosion2靶机

1.安装靶机 https://download.vulnhub.com/corrosion/Corrosion2.ovahttps://download.vulnhub.com/corrosion/Corrosion2.ova 2.扫描IP 3.扫描端口 4.访问端口 首先访问一下80端口 访问一个8080端口发现是一个apache的页面 5.扫描目录与漏洞探测 那么我们扫描一下目录 80…

Mysql深入学习:慢sql执行

目录 慢查询日志 慢查询主要步骤 11种慢查询的场景分析 场景一&#xff1a;SQL 没有建立索引 场景二&#xff1a;索引未生效的典型原因 场景三&#xff1a;LIMIT 深分页导致性能下降 场景四&#xff1a;单表数据量过大导致 SQL 性能下降 场景五&#xff1a;ORDER BY 出现…

李宏毅深度学习教程 第8-9章 生成模型+扩散模型

【2025版】12 生成式对抗网络GAN 一 – 基本概念介紹_哔哩哔哩_bilibili 目录 1. GAN生成式对抗网络 2. GAN的训练 散度差异 3.WGAN 4.训练GAN 5. 如何客观评估GAN 6. 条件型生成&#xff08;按照要求&#xff09; 7. Cycle GAN&#xff08;互转配对&#xff09; 8. d…

1.8 axios详解

Axios的定义与核心特性Axios是一个基于Promise的现代化HTTP客户端库&#xff0c;主要用于在浏览器和Node.js 环境中发送HTTP请求&#xff0c;旨在简化异步数据交互流程。其核心特性如下&#xff1a;跨平台支持&#xff1a;在浏览器中通过XMLHttpRequest对象发送请求&#xff0c…

41.安卓逆向2-frida hook技术-过firda检测(五)-利用ida分析app的so文件中frida检测函数过检测

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

安卓调javaScript Not find method “forceLogout“ implementatidsignature or namesp

核对一下是否实现对应的javaScript或者javaScript的方法参数对不对&#xff0c; 在这里插入图片描述我这里一开始实现了这个方法但是没有给参数&#xff0c;一直报异常&#xff0c;后台说token没给就查token的问题&#xff0c;最后发现是搞偏了&#xff0c;两个原因&#xff0c…