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

第八篇-Tesla P40+ChatGLM2+LoRA

部署环境

  系统:CentOS-7CPU: 14C28T显卡:Tesla P40 24G驱动: 515CUDA: 11.7cuDNN: 8.9.2.26

目的

验证P40部署可行性,只做验证学习lora方式微调

创建环境

conda create --name glm-tuning python=3.10
conda activate glm-tuning

克隆项目

git clone https://github.com/hiyouga/ChatGLM-Efficient-Tuning
cd ChatGLM-Efficient-Tuning

安装依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

准备数据-少量测试-项目已提供分词好数据

准备数据
我们将下载好的数据集解压到 data 文件夹中,解压后的文件目录为:
data/
├── dataset_info.json
└── self_cognition/
├── dev.json
└── train.json
接下来,我们修改 dataset_info.json,增加以下两列内容,从而使训练框架能够识别自定义数据集。
测试dev.json与train.json一样的,生产环境需要分离,
"self_cognition_train": {"file_name": "self_cognition/train.json","columns": {"prompt": "content","query": "","response": "summary","history": ""}
},
"self_cognition_dev": {"file_name": "self_cognition/dev.json","columns": {"prompt": "content","query": "","response": "summary","history": ""}
}

微调代码调整

accelerate launch src/train_bash.py \--stage sft \--do_train \--model_name_or_path  /models/chatglm2-6b \--dataset self_cognition_train \--finetuning_type lora \--output_dir self_cognition_lora \--overwrite_cache \--per_device_train_batch_size 2 \--gradient_accumulation_steps 2 \--lr_scheduler_type cosine \--logging_steps 10 \--save_steps 1000 \--learning_rate 1e-3 \--num_train_epochs 2.0 \--lora_rank 32 \--ddp_find_unused_parameters False \--source_prefix 你现在是一名销售员,根据以下商品标签生成一段有吸引力的商品广告词。 \--plot_loss \--fp16
如果调整了数据集,要清理缓存,缓存目录如下
/root/.cache/huggingface/datasets
Tue Aug  1 10:45:02 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla P40           Off  | 00000000:03:00.0 Off |                    0 |
| N/A   61C    P0   184W / 250W |  13503MiB / 23040MiB |     94%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
{'train_runtime': 73.3871, 'train_samples_per_second': 2.18, 'train_steps_per_second': 0.545, 'train_loss': 1.7150115966796875, 'epoch': 2.0}                                    
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [01:13<00:00,  1.83s/it]***** train metrics *****epoch                    =        2.0train_loss               =      1.715train_runtime            = 0:01:13.38train_samples_per_second =       2.18train_steps_per_second   =      0.545

参数:参数根据自己硬件配置自己调整
温度:P40自己改个风冷散热,散热效果不好,奔着80度去了
显存:占用大概14G

模型测试

CUDA_VISIBLE_DEVICES=0 python src/cli_demo.py \--model_name_or_path  /models/chatglm2-6b \--checkpoint_dir self_cognition_lora
python src/web_demo.py --checkpoint_dir self_cognition_lora --model_name_or_path  /models/chatglm2-6b

Input: 你是谁
ChatGLM-6B: The dtype of attention mask (torch.int64) is not bool
我是AI小木,一个由小吕开发的人工智能助手,我可以回答各种问题,提供信息,甚至进行闲聊。

Input: 你是谁开发的
ChatGLM-6B: 我不是开发的,是由小吕开发的人工智能助手,旨在为用户提供有用的回答和帮助

总结

效果还行,我的参数都设置的比较小,速度挺快的2分钟,模型微调之后认识已经调整过来了
后面准备调整更大数据集,再做数据评测

–model_name_or_path /models/chatglm2-6b 注意指定

参考

https://hub.nuaa.cf/hiyouga/ChatGLM-Efficient-Tuning/blob/main/examples/ads_generation.md

相关文章:

第八篇-Tesla P40+ChatGLM2+LoRA

部署环境 系统&#xff1a;CentOS-7CPU: 14C28T显卡&#xff1a;Tesla P40 24G驱动: 515CUDA: 11.7cuDNN: 8.9.2.26目的 验证P40部署可行性,只做验证学习lora方式微调创建环境 conda create --name glm-tuning python3.10 conda activate glm-tuning克隆项目 git clone http…...

调用feign返回错误的数据

bug描述&#xff1a; 在一个请求方法中会调用到feign去获取其他的数据。 List<Demo> list aaaFeignApi.getData(personSelectGetParam);在调用的时候&#xff0c;打断点到feign的地方&#xff0c;数据是存在的&#xff0c;并且有15条。但是返回到上面代码的时候数据就…...

【Spring】(二)从零开始的 Spring 项目搭建与使用

文章目录 前言一、Spring 项目的创建1.1 创建 Maven 项目1.2 添加 Spring 框架支持1.3 添加启动类 二、储存 Bean 对象2.1 创建 Bean2.1 将 Bean 注册到 Spring 容器 三、获取并使用 Bean 对象3.1 获取Spring 上下文3.2 ApplicationContext 和 BeanFactory 的区别3.3 获取指定的…...

redis五种数据类型介绍

、string&#xff08;字符串&#xff09; 它师最基本的类型&#xff0c;可以理解为Memcached一模一样的类型&#xff0c;一个key对应一个value。 注意&#xff1a;一个键最大能存储 512MB。 特性&#xff1a;可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512…...

【JavaEE】Spring Boot - 项目的创建和使用

【JavaEE】Spring Boot 开发要点总结&#xff08;1&#xff09; 文章目录 【JavaEE】Spring Boot 开发要点总结&#xff08;1&#xff09;1. Spring Boot 的优点2. Spring Boot 项目创建2.1 下载安装插件2.2 创建项目过程2.3 加载项目2.4 启动项目2.5 删除一些没用的文件 3. Sp…...

Git reset、revert用法

reset reset是删除之前的提交记录&#xff0c;所有的提交点都会被清除&#xff0c;我们看下执行前后的git log区别 D:\workspace\android>git log commit 87c1277a57544c53c603b04110e3dde100da8f57 (HEAD -> develop_main) Author: test <test.com> Date: Wed…...

Redis-1

Redis 理论部分 redis 速度快的原因 1、纯内存操作 2、单线程操作&#xff0c;避免了频繁的上下文切换和资源争用问题&#xff0c;多线程需要占用更多的 CPU 资源 3、采用了非阻塞 I/O 多路复用机制 4、提供了非常高效的数据结构&#xff0c;例如双向链表、压缩页表和跳跃…...

【Linux】Linux服务器连接百度网盘:实现上传下载

【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载 文章目录 【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载1. 前言2. 具体过程2.1 pip 安装所需包2.2 认证&#xff08;第一次连接需要认证&#xff09;2.3 下载所需文件或者目录2.4 其他指令使用2.5 注意…...

ADC模拟看门狗

如果被ADC转换的模拟电压低于低阀值或高于高阀值&#xff0c;AWD模拟看门狗状态位被设置。阀值位 于ADC_HTR和ADC_LTR寄存器的最低12个有效位中。通过设置ADC_CR1寄存器的AWDIE位 以允许产生相应中断。通过以下函数可以进行配置 void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx…...

google谷歌gmail邮箱账号注册手机号无法进行验证怎么办?此电话号码无法用于进行验证 或 此电话号码验证次数太多

谷歌gmail邮箱账号注册手机号无法进行验证怎么办? 使用手机号码注册谷歌gmail邮箱账号时会遇到&#xff1a;此电话号码无法用于进行验证 或 此电话号码验证次数太多。造成注册google谷歌gmail邮箱账号受阻&#xff0c;无法正常完成注册。 谷歌Gmail邮箱账号正确的注册方法与教…...

Spring:IOC技术、Bean、DI

前言 Spring是一个开源的项目&#xff0c;并不是单单的一个技术&#xff0c;发展至今已形成一种开发生态圈。也就是说我们可以完全使用Spring技术完成整个项目的构建、设计与开发。Spring是一个基于IOC和AOP的架构多层j2ee系统的架构。 SpringFramework&#xff1a;Spring框架…...

目标检测与跟踪 (2)- YOLO V8配置与测试

系列文章目录 第一章 目标检测与跟踪 &#xff08;1&#xff09;- 机器人视觉与YOLO V8 目标检测与跟踪 &#xff08;1&#xff09;- 机器人视觉与YOLO V8_Techblog of HaoWANG的博客-CSDN博客3D物体实时检测、三维目标识别、6D位姿估计一直是机器人视觉领域的核心研究课题&a…...

【Leetcode】56.合并区间

一、题目 1、题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [ s t a r t i start_i start...

设置系统编码 Beta

在yolov5环境搭建过程中会遇到如下的编码错误警告&#xff1a; 这时&#xff0c;按住“ctrlc”中止进程&#xff0c;然后设置系统编码&#xff1a; 电脑右键属性打开&#xff1a; 重启之后等安装好了&#xff0c;记得回去把bae键取消。...

phpunit

composer地址&#xff1a;phpunit/phpunit - Packagist 官方文档:PHPUnit文档 – PHP测试框架 PHPUnit是一个框架&#xff0c;最为hyperf学习的补充学习&#xff0c;就不写这么细了。 估计写下安装和使用&#xff0c;具体学习内容看文档。 一、安装 需安装扩展&#xff1a;…...

html学习9(脚本)

1、<script>标签用于定义客户端脚本&#xff0c;比如JavaScript&#xff0c;既可包含脚本语句&#xff0c;也可通过src属性指向外部文件。 2、JavaScript最常用于图片操作、表单验证及内容动图更新。 3、<noscript>标签用于在浏览器禁用脚本或浏览器不支持脚本&a…...

SpringBoot整合Caffeine

一、Caffeine介绍 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存&#xff0c;到客户端的页面缓存&#xff0c;处处都存在着缓存的身影。缓存从本质上来说&#xff0c;是一种空间换时间的手段&#xff0c;通过对数据进行一定的空间安排&#xff0c;使得下…...

元宇宙虚拟展厅的特点是什么呢?优势有哪些?

元宇宙是一个很广阔的虚拟世界&#xff0c;它可以创造出更为丰富、沉浸式的体验&#xff0c;这种全新的体验为展览和艺术领域带来了更多的可能性&#xff0c;元宇宙虚拟展厅以其多样化、互动性、沉浸式展示的特点&#xff0c;带领大家进入一个虚拟现实的全新世界。 元宇宙虚拟展…...

Day11-Webpack前端工程化开发

Webpack 一 webpack基本概念 遇到问题 开发中希望将文件分开来编写,比如CSS代码,可以分为头部尾部内容,公共的样式。 JS代码也希望拆分为多个文件,分别引入,以后代码比较好维护。 本地图片,希望可以实现小图片不用访问后端,保存在前端代码中就可以了 运行程序时我…...

什么是函数式编程,应用场景是什么

什么是函数式编程&#xff0c;应用场景是什么 函数式编程和面向对象编程一样&#xff0c;是一种编程规范。强调执行的过程而非结果&#xff0c;通过一系列的嵌套的函数调用&#xff0c;完成一个运算过程。它主要有以下几个特点&#xff1a; 1.函数是"一等公民"&…...

3步解锁网盘直链:LinkSwift八大平台高速下载完全指南

3步解锁网盘直链&#xff1a;LinkSwift八大平台高速下载完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

城通网盘下载速度慢?试试ctfileGet,让你畅享本地高速解析体验

城通网盘下载速度慢&#xff1f;试试ctfileGet&#xff0c;让你畅享本地高速解析体验 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字化办公与学习中&#xff0c;网盘已成为文件传输的重要工具。…...

实战指南:基于快马平台与comfyui,快速构建带姿势控制的人像卡通化应用

今天想和大家分享一个特别实用的技术方案&#xff1a;如何用ComfyUI快速搭建一个带姿势控制的人像卡通化应用。这个方案特别适合需要批量生成统一风格头像、制作产品海报等场景&#xff0c;我自己在实际工作中就经常用到。 首先说说为什么选择ComfyUI。它是一个基于节点的工作流…...

3步永久解锁IDM:从试用期烦恼到终身免费使用的完整指南

3步永久解锁IDM&#xff1a;从试用期烦恼到终身免费使用的完整指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script IDM Activation Script&#xff08;IAS&#…...

软件评测师基础知识专项刷题:软件测试过程

前言软考软件评测师备考之路&#xff0c;基础刷题必不可少。本文围绕软件测试过程模块整理经典习题 核心考点梳理&#xff0c;系列内容长期连载更新&#xff0c;慢慢积累、逐个突破&#xff0c;轻松夯实应试功底。考点测试过程模型1.组织级测试过程组织级测试过程用于开发和管…...

OpenClaw低配部署:gemma-3-12b-it在4GB内存设备上的运行方案

OpenClaw低配部署&#xff1a;gemma-3-12b-it在4GB内存设备上的运行方案 1. 为什么要在低配设备上部署OpenClaw&#xff1f; 去年我入手了一台二手Mac mini&#xff08;8GB内存版&#xff09;&#xff0c;本想用它作为家庭媒体中心&#xff0c;后来突发奇想&#xff1a;能不能…...

Wan2.1 VAE数据预处理实战:Python爬虫采集的训练数据清洗

Wan2.1 VAE数据预处理实战&#xff1a;Python爬虫采集的训练数据清洗 如果你对Wan2.1 VAE模型感兴趣&#xff0c;想用自己的图片集来训练它&#xff0c;那么你很可能已经遇到了第一个&#xff0c;也是最关键的一个难题&#xff1a;数据从哪里来&#xff1f;又该怎么处理&#…...

Linux中的more 和 less区别对比分析

在 Linux/Unix 系统中&#xff0c;more 和 less 都是用于分页查看文本文件的命令&#xff0c;但 less 是 more 的增强版&#xff0c;功能更强大。以下是它们的核心区别和用法对比&#xff1a;1. 基础功能对比特性moreless&#xff08;更强大&#xff09;向前翻页❌ 仅支持向下翻…...

知识图谱在电商推荐系统中的5个落地场景:从商品关系到用户画像的实践指南

知识图谱在电商推荐系统中的5个落地场景&#xff1a;从商品关系到用户画像的实践指南 当你在电商平台搜索"蓝牙耳机"时&#xff0c;系统不仅会推荐同类商品&#xff0c;还可能智能搭配运动臂包或防水手机壳——这背后正是知识图谱在重新定义推荐逻辑。不同于传统协同…...

# 系列文10:突破Activiti限制!政务工作流任意流转,支持跳退

系列文10&#xff1a;突破Activiti限制&#xff01;政务工作流任意流转&#xff0c;支持跳退回退 非科班野生程序员&#xff0c;深耕政务信息化20年&#xff0c;这套自研Java Web框架支撑过省级新农保、全国首例跨省医保结算等核心民生系统&#xff0c;18年稳定运行至今。本系…...