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

更改chatglm认知

ChatGLM-Efficient-Tuning

下载源代码

下载ChatGLM-Efficient-Tuning
解压
在这里插入图片描述

创建虚拟环境

conda create --prefix=D:\CondaEnvs\chatglm6btrain python=3.10
cd D:\ChatGLM-Efficient-Tuning-main
conda activate D:\CondaEnvs\chatglm6btrain

安装所需要的包

pip install -r requirements.txt

在这里插入图片描述
在这里插入图片描述

修改测试数据

修改data下self_cognition.json
NAME和AUTHOR修改为自己想起的名字即可

训练

如果要在 Windows 平台上开启量化 LoRA(QLoRA),需要安装预编译的 bitsandbytes 库, 支持 CUDA 11.1 到 12.1.
查看cuda版本

nvcc --version

在这里插入图片描述
满足条件,安装windows下的LoRA

pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.39.1-py3-none-win_amd64.whl

在这里插入图片描述

开始训练

单 GPU 微调训练

# 选择gpu显卡二选一,看自己的操作系统
# linux
# CUDA_VISIBLE_DEVICES=0 
# windows
# set CUDA_VISIBLE_DEVICES=0
python src/train_bash.py --stage sft --model_name_or_path path_to_your_chatglm_model --do_train --dataset alpaca_gpt4_zh --finetuning_type lora --output_dir path_to_sft_checkpoint --per_device_train_batch_size 4 --gradient_accumulation_steps 4 --lr_scheduler_type cosine --logging_steps 10 --save_steps 1000 --learning_rate 5e-5 --num_train_epochs 3.0 --plot_loss --fp16

在这里插入图片描述
在这里插入图片描述
AttributeError: type object ‘PPODecorators’ has no attribute ‘empty_cuda_cache’. Did you mean: ‘empty_device_cache’?
在这里插入图片描述
修改trl版本trl==0.7.2

pip install trl==0.7.2

在这里插入图片描述
ImportError: cannot import name ‘top_k_top_p_filtering’ from ‘transformers’

pip install torch==1.13.1

在这里插入图片描述

pip install accelerate==0.21.0
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

ImportError: cannot import name ‘COMMON_SAFE_ASCII_CHARACTERS’ from 'charset_normalizer.constant

pip install chardet

cannot import name ‘LRScheduler’ from ‘torch.optim.lr_scheduler’

pip install transformers==4.29.1

在这里插入图片描述
在这里插入图片描述
下载数据集
https://huggingface.co/THUDM/chatglm-6b
在这里插入图片描述
在这里插入图片描述

python src/train_bash.py --stage sft --model_name_or_path path_to_your_chatglm_model --do_train --dataset self_cognition --finetuning_type lora --output_dir path_to_sft_checkpoint --per_device_train_batch_size 4 --gradient_accumulation_steps 4 --lr_scheduler_type cosine --logging_steps 10 --save_steps 1000 --learning_rate 5e-5 --num_train_epochs 3.0 --plot_loss --fp16 --model_name_or_path chatglm-6b

在这里插入图片描述
在这里插入图片描述
ValueError: Attempting to unscale FP16 gradients

pip install peft==0.4.0

在这里插入图片描述
Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
修改train_bash.py

import os
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

在这里插入图片描述
或者设置一下环境变量

set KMP_DUPLICATE_LIB_OK=TRUE

在这里插入图片描述
在这里插入图片描述

测试训练结果

python src/cli_demo.py --model_name_or_path chatglm-6b --checkpoint_dir path_to_sft_checkpoint 

在这里插入图片描述
训练的结果好像并不理想
在这里插入图片描述
下载0.1.0版本试试

git lfs install
git clone -b v0.1.0 https://huggingface.co/THUDM/chatglm-6bpython src/train_bash.py --stage sft --model_name_or_path path_to_your_chatglm_model --do_train --dataset self_cognition --finetuning_type lora --output_dir path_to_sft_checkpoint --per_device_train_batch_size 4 --gradient_accumulation_steps 4 --lr_scheduler_type cosine --logging_steps 10 --save_steps 1000 --learning_rate 5e-5 --num_train_epochs 3.0 --plot_loss --fp16 --model_name_or_path chatglm6b010python src/cli_demo.py --model_name_or_path chatglm6b010 --checkpoint_dir path_to_sft_checkpoint 

在这里插入图片描述
在这里插入图片描述

LLaMA-Efficient-Tuning

下载源代码

尝试还是不行,尝试LLaMA-Efficient-Tuning
下载源代码解压,创建新的虚拟环境
在这里插入图片描述

conda create --prefix=D:\CondaEnvs\llama python=3.10
cd D:\LLaMA-Factory-main
conda activate D:\CondaEnvs\llama

安装所需要的包
在这里插入图片描述

# pytorch GPU版本
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install transformers==4.37.2
pip install datasets==2.14.3
pip install accelerate==0.27.2
pip install peft==0.9.0
pip install trl==0.8.1pip install -r requirements.txt
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl

如果您在 Hugging Face 模型和数据集的下载中遇到了问题,可以通过下述方法使用魔搭社区。

# linux
# export USE_MODELSCOPE_HUB=1 
# Windows 
set USE_MODELSCOPE_HUB=1

接着即可通过指定模型名称来训练对应的模型

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \--model_name_or_path modelscope/Llama-2-7b-ms \... # 参数同下

开启网页

# set CUDA_VISIBLE_DEVICES=0 
python src/train_web.py

在这里插入图片描述

命令行使用

set CUDA_VISIBLE_DEVICES=0 
python src/train_bash.py --stage pt --do_train --model_name_or_path path_to_llama_model --dataset wiki_demo --finetuning_type lora --lora_target q_proj,v_proj --output_dir path_to_pt_checkpoint --overwrite_cache --per_device_train_batch_size 4 --gradient_accumulation_steps 4 --lr_scheduler_type cosine --logging_steps 10 --save_steps 1000 --learning_rate 5e-5 --num_train_epochs 3.0 --plot_loss --fp16

qwen1.5-0.5b模型huggingface
qwen1.5-0.5b模型魔搭社区
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
预览命令

python src/train_bash.py --stage sft --do_train True --model_name_or_path Qwen/Qwen1.5-0.5B-Chat --finetuning_type lora --template qwen --dataset_dir data  --dataset identity,alpaca_gpt4_zh --cutoff_len 1024 --learning_rate 0.0002 --num_train_epochs 5.0 --max_samples 500 --per_device_train_batch_size 4  --gradient_accumulation_steps 4 --lr_scheduler_type cosine --max_grad_norm 1.0 --logging_steps 5 --save_steps 100 --warmup_steps 0 --optim adamw_torch --output_dir saves\Qwen1.5-0.5B-Chat\lora\test --fp16 True --lora_rank 8 --lora_alpha 16 --lora_dropout 0.1 --lora_target all --use_dora True --plot_loss True

NotImplementedError: Loading a dataset cached in a LocalFileSystem is not supported.
在这里插入图片描述

pip install fsspec==2023.9.2

在这里插入图片描述

训练完毕,刷新适配器然后加载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

chatglm类似,它支持很多模型

白嫖手册
参考
参考
参考
ChatGLM2-6B
https://github.com/hiyouga/ChatGLM-Efficient-Tuning/tree/main
https://github.com/hiyouga/ChatGLM-Efficient-Tuning/blob/main/examples/alter_self_cognition.md
微调
https://github.com/THUDM/ChatGLM-6B/tree/main/ptuning

相关文章:

更改chatglm认知

ChatGLM-Efficient-Tuning 下载源代码 下载ChatGLM-Efficient-Tuning 解压 创建虚拟环境 conda create --prefixD:\CondaEnvs\chatglm6btrain python3.10 cd D:\ChatGLM-Efficient-Tuning-main conda activate D:\CondaEnvs\chatglm6btrain安装所需要的包 pip install -r…...

WPF 界面命令绑定(MVVM结构)

1.创建模型数据类&#xff08;M&#xff09; /// <summary>/// 数据模型/// </summary>public class LoginDataModel{// 用户名private string _userName;public string UserName{get { return _userName; }set{_userName value;}}// 密码private string _passWor…...

常见手撕项目C++

常见手撕项目C 设计模式单例模式饿汉模式懒汉模式 策略模式策略接口实现具体的策略&#xff08;虚函数重写&#xff09;定义上下文用户调用 设计模式 单例模式 单例模式是一种常用的软件设计模式&#xff0c;其目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点来…...

创建一个批处理作业来处理大量数据,例如从数据库中读取数据并进行处理

创建一个批处理作业来处理大量数据&#xff0c;例如从数据库中读取数据并进行处理 要创建一个批处理作业来处理大量数据&#xff0c;您可以使用Spring Batch。Spring Batch是一个用于大规模批处理的框架&#xff0c;它提供了丰富的功能来处理复杂的批处理任务&#xff0c;如读…...

LeetCode 2.两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …...

如何利用ChatGPT提升学术论文写作效率

ChatGPT无限次数:点击直达 如何利用ChatGPT提升学术论文写作效率 ChatGPT 是一种基于大规模预训练模型的自然语言处理工具&#xff0c;可以在各种文本生成任务中发挥作用&#xff0c;包括学术论文写作。利用ChatGPT&#xff0c;可以提高学术论文写作的速度和质量&#xff0c;帮…...

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略

LLMs之Mistral&#xff1a;Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;Mistral AI首个7B模型发布于2023年9月&#xff0c;在基准测试中超越Llama 2 13B&#xff0c;一下子声名大振。Mistral 7B v0.2对应的指令调优版本Mistral-7B-Instruct-v0…...

深入解析Oracle数据库中的WITH AS(CTE)原理

Oracle数据库中的WITH AS子句&#xff08;也称为公用表表达式CTE(Common Table Expression)&#xff09;是一种高级查询构造工具&#xff0c;它允许在一条SQL语句的开始部分定义临时的结果集&#xff08;或称子查询&#xff09;&#xff0c;这个结果集可以被随后的查询主体多次…...

Linux 环境安装 Elasticsearch 8.X

安装前说明 首先确定操作系统&#xff0c;在Linux发行版上执行uname -a查看具体系统。我是Ubuntu系统&#xff0c;可以用直接用apt-get安装&#xff0c;也可以下载tar.gz包手动安装。使用apt-get安装更方便快速&#xff0c;但不同的文件会被安装到不同的目录&#xff0c;不方便…...

Java零基础-集合:函数式接口

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…...

Redis Scan指令解析与使用示例

Redis Scan指令解析与使用示例 概念 想要从redis key列表中找到某个key&#xff0c;redis提供了一个简单粗暴的指令keys用来列出满足查询条件的所有key。 keys redis* keys redis*keykey指令非常简单&#xff0c;只要提供一个简单的正则表达式即可&#xff0c;但是有两个明显的…...

Qt+OpenGL入门教程(三)——绘制三角形

通过前两篇文章的学习&#xff0c;我想大家应该有了基本的理解&#xff0c;我们接下来实操一下。 创建Qt OpenGL窗口 QOpenGLWidget QGLWidget是传统QtOpenGL模块的一部分&#xff0c;与其他QGL类一样&#xff0c;应该在新的应用程序中避免使用。相反&#xff0c;从Qt5.4开始…...

springcloud基本使用(搭建eureka服务端)

创建springbootmaven项目 next next finish创建成功 删除项目下所有文件目录&#xff0c;只保留pox.xml文件 父项目中的依赖&#xff1a; springboot依赖&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s…...

第十二章:预处理命令

文章目录 第十二章&#xff1a;预处理命令宏定义无参宏定义带参数的宏定义 文件包含处理 第十二章&#xff1a;预处理命令 作用&#xff1a;由编译预处理程序对程序中的特殊命令作出解释&#xff0c;以产生新的源程序对其进行正式编译 C语言与其他语言的重要区别就是可以使用预…...

Game Audio Programming

音频编程时游戏开发中最容易忽略&#xff0c;学习资源又是很少的环节。接下来&#xff0c;你将和我探索人耳的工作机制。 what is sound? 我们可以解释电视机是如何通过眼睛传递视觉信息的&#xff0c;但却往往无法对听觉信息做出类似的解释。 对声音的科学研究被称为声学&…...

高风险IP来自哪里:探讨IP地址来源及其风险性质

在网络安全领域&#xff0c;高风险IP地址是指那些可能涉及恶意活动或网络攻击的IP地址。了解这些高风险IP地址的来源可以帮助网络管理员更好地识别和应对潜在的安全威胁。本文将探讨高风险IP地址的来源及其风险性质&#xff0c;并提供一些有效的应对措施。 风险IP查询&#xf…...

【每日跟读】常用英语500句(300~400)

【每日跟读】常用英语500句 I had to take a shower. 我洗了个澡 Go on in. 赶紧进去吧 Hold up. 等一下 They seem like nice people. 他们看起来像好人 Such a wonderful age. 如此美好的年纪 That’s very impressive. 真厉害 I can see that. 看得出来 You should …...

设计模式(7):装饰器模式

一.装饰器模式职责&#xff1a; 动态的为一个对象增加新的功能&#xff1b;装饰器是一种用于代替继承的技术&#xff0c;无须通过继承增加子类就能扩展对象的新功能&#xff0c;使用对象的关联关系代替继承关系&#xff0c;更加灵活&#xff0c;同时避免类型体系的快速膨胀。 …...

Flink SQL填坑记3:两个kafka数据关联查询

在一个项目中,实时生成的统计数据需要关联另外一张表(并非维表),需要统计的数据表是Kafka数据,而需要关联的表,由于不是维度,不能按照主键查询,所以如果放在MySQL上,将存在严重的性能问题,这个时候我想到用将两张表的数据都生成为Kafka数据,然后进行Join操作。中途发…...

移动平台实时动态多点光源方案:Cluster Light

一、什么是 Cluster Light&#xff0c;它具体如何实现多点光源效果&#xff1f; 对于移动设备&#xff0c;如何支持场景中大量的实时点光源一直以来都是比较棘手的问题&#xff0c;因此对于过去&#xff0c;往往有如下两种常规方案&#xff1a; 静态点光源直接烘焙&#xff0…...

ReAct让AI像人一样“边想边做”,轻松搞定复杂问题!

写在前面 欢迎回到我们的智能体架构系列。上一期我们聊了工具调用&#xff0c;让智能体“长出了手”&#xff0c;能去外部世界获取信息。但很快我们就发现&#xff0c;光有手还不够。面对“谁是《沙丘》制片公司的CEO&#xff0c;以及该公司最近一部电影的预算&#xff1f;”这…...

C++输入输出流操作指南

输入输出流的基本用法 C中的输入输出操作主要通过iostream库实现&#xff0c;核心对象包括cin、cout、cerr和clog。 标准输出流&#xff08;cout&#xff09; std::cout << "Hello, world!" << std::endl; // 输出字符串并换行标准输入流&#xff08;ci…...

Linux实战——Finalshell高效连接与服务器管理

1. 为什么选择Finalshell管理Linux服务器 第一次接触Linux服务器管理时&#xff0c;我试过好几种连接工具。从最基础的Putty到Xshell&#xff0c;再到MobaXterm&#xff0c;最后发现Finalshell才是真正适合中国开发者的神器。它不仅免费&#xff0c;还集成了SSH连接、文件传输、…...

永磁同步电机参数辨识:EKF算法的奇妙之旅

卡尔曼滤波EKF算法&#xff0c;针对于永磁同步电机的电阻、电感等参数的辨识&#xff0c;辨识速度快&#xff0c;效果好&#xff0c;适合入门童鞋参考学习&#xff1a;本商品 包含以下内容&#xff1a; &#xff08;1&#xff09;采用SVPWM矢量控制&#xff1b; &#xff08;2&…...

突破国际漫游限制:Nrfr免Root工具的终极解决方案

突破国际漫游限制&#xff1a;Nrfr免Root工具的终极解决方案 【免费下载链接】Nrfr &#x1f30d; 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题&#xff0c;帮助使用海外 SIM 卡获得更好的本地化体验&#xff0c;解锁运营商限制&#xff0c;突破区域限制 …...

Qwen2.5-VL-7B-Instruct部署案例:律所合同图像关键条款高亮+法律依据自动关联

Qwen2.5-VL-7B-Instruct部署案例&#xff1a;律所合同图像关键条款高亮法律依据自动关联 1. 这不是普通OCR&#xff0c;是懂法的视觉助手 你有没有遇到过这样的场景&#xff1a;律所助理收到客户发来的扫描版PDF合同&#xff0c;需要在30分钟内标出违约责任、管辖法院、保密义…...

OpenClaw内容创作流水线:nanobot镜像从选题到发布的自动化

OpenClaw内容创作流水线&#xff1a;nanobot镜像从选题到发布的自动化 1. 为什么需要内容创作自动化 作为一名技术博主&#xff0c;我每天都要面对一个永恒难题&#xff1a;如何在有限时间内持续产出高质量内容。传统写作流程需要经历选题调研、大纲设计、初稿撰写、SEO优化、…...

5个超实用技巧:用Awesome Adb实现手机调试效率倍增

5个超实用技巧&#xff1a;用Awesome Adb实现手机调试效率倍增 【免费下载链接】awesome-adb ADB Usage Complete / ADB 用法大全 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-adb 副标题&#xff1a;告别繁琐操作&#xff0c;让Android设备管理效率提升10倍 …...

SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践

SDXL 1.0电影级绘图工坊真实案例&#xff1a;文化遗产数字化重建与风格复原实践 想象一下&#xff0c;你面前有一张因年代久远而模糊不清的古建筑照片&#xff0c;或是仅存于文字描述中的历史场景。如何将它们清晰地、生动地、甚至以不同艺术风格再现出来&#xff1f;这曾是考…...

Legacy iOS Kit:5个实用技巧让你的旧iPhone重获新生

Legacy iOS Kit&#xff1a;5个实用技巧让你的旧iPhone重获新生 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你是否有…...