您好,
会员登录 快速注册
退出 ( 条未读消息)
关于本站 意见反馈 首页

公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!
全部文章分类
  • 人工智能 >

  • 编程语言 >

  • WPF系列 >

  • ASP.NET系列 >

  • Linux >

  • 数据库 >

  • 嵌入式 >

  • WEB技术 >

  • PLC系列 >

  • 微服务与框架 >

  • 小宅DIY >

  • 学习资料 >

OpenCv基础 ANN车牌识别 yolov5车牌识别 指针式仪表识别 ROS系列 YOLO Halcon Detectron2 昇腾AI ChatGPT在线体验 英伟达JETSON ChatGLM ChatTTS FunASR 地平线 ByteTrack 魔搭社区 LangChain
C C# C++ Python Java Go
WPF
ASP.NET小功能 GPS定位系统-MVC GPS定位系统-VUE
Linux Linux内核 Shell MakeFile
MySql SqlServer Oracle
STM8 STM32 51单片机
VUE入门 HTML JavaScript CSS layui镜像网站 ElementUi中文官网
三菱 欧姆龙 西门子 施耐德 松下 台达
IOTSharp IOTGateway ABP FRAMEWORK Docker
亚克力音响 编程仙途:智驭万法
面试题与技巧 Python入门技能树 微软C#教程
首页 编程之美 工具下载 全国就业 流量地图 文心一言
ChatGLM
ChatGLM 内容介绍 ChatGLM2 PyCharm运行环境部署 ChatGLM2 PyCharm模型训练 Jetson Nano 部署ChatGLM Jetson Nano 语音输入与ASR
ChatGLM2 PyCharm运行环境部署
Jetson Nano 部署ChatGLM
激萌の小宅 小宅博客 ChatGLM

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

ChatGLM2 PyCharm模型训练

训练模型,需要先下载训练代码:

https://github.com/hiyouga/ChatGLM-Efficient-Tuning

博主下载的是“ChatGLM-Efficient-Tuning-main”版本,应该算是比较新的版本了。


1、创建虚拟环境

首先,利用Miniconda3创建我们的虚拟环境“ChatGLM-ET”,python版本3.8

conda create -n ChatGLM-ET python==3.8


2、打开PyCharm安装依赖

执行下面命令

pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple


3、修改训练文件

训练的数据存放在data/self_cognition.json,数据格式如下,博主这里保留了旧数据,追加了一些自己的数据。

QQ图片20240301092911.jpg


4、单 GPU 微调训练

官方文档中的命令只能在Linux下执行,博主是win11的环境,所以跑不了。

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


windows下执行,可以参考:https://blog.csdn.net/qq_40682833/article/details/119215398

直接修改src/train_bash.py文件,在开头加上下面代码即可

import os
os.environ["CUDA_VISIBLE_DEVICES"]='0'


升级trl(版本不要太高)、安装transformers

pip install trl==0.7.2 -i https://mirror.baidu.com/pypi/simple
pip install transformers==4.33.2 -i https://mirror.baidu.com/pypi/simple
pip install icetk


安装CUDA(请根据自己电脑cuda版本,安装对应cuda)

pip install torch==2.2.1+cu121 torchvision==0.17.1+cu121 -f https://download.pytorch.org/whl/torch_stable.html


下载“THUDM/chatglm-6b”

QQ截图20240301174302.jpg


进入https://huggingface.co,下载“THUDM/chatglm-6b”,地址如下:(这是外网地址,需要科学上网,然后一个个下载)

https://huggingface.co/THUDM/chatglm-6b/tree/main


下载完之后,在“config.json”文件中可以看到目录名称

QQ图片20240301175227.jpg


在ChatGLM-Efficient-Tuning-main项目目录下新建“THUDM\chatglm-6b”目录,将前面下载的chatglm-6b文件都扔进去

QQ图片20240301175326.jpg


改变peft的版本,不然运行会报错。

pip install peft==0.4.0


然后执行下面命令开始训练

python src/train_bash.py --stage sft --model_name_or_path THUDM/chatglm-6b --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


注意:

1、官方命令默认没有“--model_name_or_path”参数,这是我后面自己加的。

2、官方“--save_steps”参数默认值是1000,博主电脑配置是RTX3090,估计了一下,大概得训练个3天3夜,实在耗不起,博主改成30了,差不多训练了10个小时左右。但是训练结束后貌似没啥效果,估计是值太小了。。。


来源:ChatGLM-Efficient-Tuning-main\examples\alter_self_cognition.md

QQ截图20240301145404.jpg


运行起来差不多就是下面这个样子,应该算是跑起来了~~

QQ截图20240301151613.jpg


训练结束,差不多就是这个样子

QQ截图20240305073637.jpg


5、模型测试

命令如下:

python src/cli_demo.py --finetuning_type lora --checkpoint_dir path_to_sft_checkpoint

官方命令如下:

python src/cli_demo.py \
    --model_name_or_path path_to_your_chatglm_model \
    --finetuning_type lora \
    --checkpoint_dir path_to_checkpoint


运行效果如下:

QQ截图20240309120451.jpg


6、导出微调模型

命令如下:

python src/export_model.py --model_name_or_path THUDM/chatglm-6b --finetuning_type lora --checkpoint_dir path_to_sft_checkpoint  --output_dir path_to_export


官方命令是这样的:

python src/export_model.py \
    --model_name_or_path path_to_your_chatglm_model \
    --finetuning_type lora \
    --checkpoint_dir path_to_checkpoint \
    --output_dir path_to_export


最后会导出到path_to_export目录下

QQ截图20240309120813.jpg


ChatGLM2 PyCharm运行环境部署
Jetson Nano 部署ChatGLM

友情链接: CSDN激萌の小宅 95知识库 自考题库 罗分明个人网络博客 精益编程leanboot

小宅博客  www.bilibili996.com All Rights Reserved. 备案号: 闽ICP备2024034575号

网站经营许可证  福建省福州市 Copyright©2021-2025 版权所有

小宅博客
首页 智能家居 地图定位
公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

ChatGLM2 PyCharm模型训练

训练模型,需要先下载训练代码:

https://github.com/hiyouga/ChatGLM-Efficient-Tuning

博主下载的是“ChatGLM-Efficient-Tuning-main”版本,应该算是比较新的版本了。


1、创建虚拟环境

首先,利用Miniconda3创建我们的虚拟环境“ChatGLM-ET”,python版本3.8

conda create -n ChatGLM-ET python==3.8


2、打开PyCharm安装依赖

执行下面命令

pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple


3、修改训练文件

训练的数据存放在data/self_cognition.json,数据格式如下,博主这里保留了旧数据,追加了一些自己的数据。

QQ图片20240301092911.jpg


4、单 GPU 微调训练

官方文档中的命令只能在Linux下执行,博主是win11的环境,所以跑不了。

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


windows下执行,可以参考:https://blog.csdn.net/qq_40682833/article/details/119215398

直接修改src/train_bash.py文件,在开头加上下面代码即可

import os
os.environ["CUDA_VISIBLE_DEVICES"]='0'


升级trl(版本不要太高)、安装transformers

pip install trl==0.7.2 -i https://mirror.baidu.com/pypi/simple
pip install transformers==4.33.2 -i https://mirror.baidu.com/pypi/simple
pip install icetk


安装CUDA(请根据自己电脑cuda版本,安装对应cuda)

pip install torch==2.2.1+cu121 torchvision==0.17.1+cu121 -f https://download.pytorch.org/whl/torch_stable.html


下载“THUDM/chatglm-6b”

QQ截图20240301174302.jpg


进入https://huggingface.co,下载“THUDM/chatglm-6b”,地址如下:(这是外网地址,需要科学上网,然后一个个下载)

https://huggingface.co/THUDM/chatglm-6b/tree/main


下载完之后,在“config.json”文件中可以看到目录名称

QQ图片20240301175227.jpg


在ChatGLM-Efficient-Tuning-main项目目录下新建“THUDM\chatglm-6b”目录,将前面下载的chatglm-6b文件都扔进去

QQ图片20240301175326.jpg


改变peft的版本,不然运行会报错。

pip install peft==0.4.0


然后执行下面命令开始训练

python src/train_bash.py --stage sft --model_name_or_path THUDM/chatglm-6b --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


注意:

1、官方命令默认没有“--model_name_or_path”参数,这是我后面自己加的。

2、官方“--save_steps”参数默认值是1000,博主电脑配置是RTX3090,估计了一下,大概得训练个3天3夜,实在耗不起,博主改成30了,差不多训练了10个小时左右。但是训练结束后貌似没啥效果,估计是值太小了。。。


来源:ChatGLM-Efficient-Tuning-main\examples\alter_self_cognition.md

QQ截图20240301145404.jpg


运行起来差不多就是下面这个样子,应该算是跑起来了~~

QQ截图20240301151613.jpg


训练结束,差不多就是这个样子

QQ截图20240305073637.jpg


5、模型测试

命令如下:

python src/cli_demo.py --finetuning_type lora --checkpoint_dir path_to_sft_checkpoint

官方命令如下:

python src/cli_demo.py \
    --model_name_or_path path_to_your_chatglm_model \
    --finetuning_type lora \
    --checkpoint_dir path_to_checkpoint


运行效果如下:

QQ截图20240309120451.jpg


6、导出微调模型

命令如下:

python src/export_model.py --model_name_or_path THUDM/chatglm-6b --finetuning_type lora --checkpoint_dir path_to_sft_checkpoint  --output_dir path_to_export


官方命令是这样的:

python src/export_model.py \
    --model_name_or_path path_to_your_chatglm_model \
    --finetuning_type lora \
    --checkpoint_dir path_to_checkpoint \
    --output_dir path_to_export


最后会导出到path_to_export目录下

QQ截图20240309120813.jpg