LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

server/2024/12/23 21:01:34/

环境安装

git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.gitcd LLaMA-Factorypip install -e ".[torch,metrics]"pip install deepspeed

下载模型

pip install modelscope
modelscope download --model Qwen/Qwen2.5-7B-Instruct  --local_dir /root/autodl-tmp/models/Qwen/Qwen2.5-7B-Instruct

微调

llamafactory-cli train \--stage sft \--do_train True \--model_name_or_path /root/autodl-tmp/models/Qwen/Qwen2.5-7B-Instruct \--preprocessing_num_workers 16 \--finetuning_type lora \--template qwen \--flash_attn auto \--dataset_dir data \--dataset self_SFT,alpaca_zh_demo \--cutoff_len 1024 \--learning_rate 0.0001 \--num_train_epochs 5.0 \--max_samples 1000 \--per_device_train_batch_size 4 \--gradient_accumulation_steps 8 \--lr_scheduler_type cosine \--max_grad_norm 1.0 \--logging_steps 5 \--save_steps 100 \--warmup_steps 0 \--packing False \--report_to none \--output_dir saves/Qwen2.5-7B-Instruct/lora/train_2024-12-20-09-43-52 \--bf16 True \--plot_loss True \--ddp_timeout 180000000 \--include_num_input_tokens_seen True \--optim adamw_torch \--lora_rank 8 \--lora_alpha 16 \--lora_dropout 0 \--lora_target all \--deepspeed cache/ds_z3_config.json 

笔者测试3080*2,1108条数据需要1个小时,bitch_size只能设为2,而且只能Zero3

但是也可以微调Qwen2.5-7B-Instruct了

Zero将模型参数分成三个部分:

状态作用
Optimizer States优化器在进行梯度更新的时候需要用到的数据
Gradient在反向转播过程中产生的数据,其决定参数的更新方向
Model Parameter模型参数,在模型训练过程中通过数据“学习”的信息

Zero的级别如下:

总结

DeepSpeed方便了我们在机器有限的情况下来训练、微调大模型,同时它也有很多优秀的性能来使用,后期可以继续挖掘。

目前主流的模型训练方式: GPU + PyTorch + Megatron-LM + DeepSpeed

优势

存储效率:DeepSpeed提供了一种Zero的新型解决方案来减少训练显存的占用,它与传统的数据并行不同,它将模型状态和梯度进行分区来节省大量的显存;
可扩展性:DeepSpeed支持高效的数据并行、模型并行、pipeline并行以及它们的组合,这里也称3D并行;
易用性: 在训练阶段,只需要修改几行代码就可以使pytorch模型使用DeepSpeed和Zero。


http://www.ppmy.cn/server/152581.html

相关文章

中国工程科技2040发展战略研究

近日,中国工程院“中国工程科技未来20年发展战略研究”总体项目组发布《愿景驱动的中国工程科技2040发展战略研究》,基于我国工程科技发展需求和世界发展趋势,提出“经济预测-需求分析-技术预见-愿景分析-战略架构-技术路线图-政策选择”战略…

uniapp 微信小程序 均分数据展示

效果图 数据展示&#xff0c;可自行搭配 html <view class"num-wrapper"><view class"num-item" click.stop"routerGo(跳转的地址)"><text class"num">&#xffe5;{{ 要展示的数据 || 0}}</text><view…

windows11 环境 paddleOCR 环境配置

一、系统环境: 操作系统:Windows 11 专业版 显卡:RTX 4080 CUDA:cuda_12.6.2_560.94_windows.exe、cudnn-windows-x86_64-8.9.7.29_cuda12-archive python: 3.12.8 二、配置过程 1.设置python国内源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/…

Docker dockerfile镜像编码 centos7

一、 大多数docker基础镜像使用locale查看编码&#xff0c;发现默认编码都是POSIX&#xff0c;这会导致中文乱码。 解决方法如下: 二、首先使用locale -a查看容器所有语言环境 三、dockerfile中加入以下参数重新生成镜像   ENV LANGen_US.UTF-8   ENV TZAsia/Shanghai  …

解决新安装CentOS 7系统mirrorlist.centos.org can‘t resolve问题

原因 mirrorlist.centos.org yum源用不了 解决办法就是 # cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo_bak # vim CentOS-Base.repoCentOS系统操作 # mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/*.repo_bak # curl -o /etc/yum.repos.d/CentOS-Linux-Ba…

网络安全的攻防战争

当前&#xff0c;来自Web的各种攻击已经成为全球安全领域最大的挑战&#xff0c;并且有愈演愈烈之势。目前的难点在于&#xff0c;很多Web威胁的思路已经有别于传统&#xff0c;隐蔽、牟利、产业化已经成为了此类威胁的特点。对广大企业用户来讲&#xff0c;Web威胁令人无法忽视…

ArkUI性能优化(0)—DevEco Profiler调优工具

1章节目录 注意,目前profiler调优只支持真机。 2 工具介绍 无需关注数据采集细节,分析启动、卡顿、耗时、内存、能耗等场景问题 2.1 会话区 根据不同的场景,选择不同的场景分析任务类型 2.2数据区

Hive其一,简介、体系结构和内嵌模式、本地模式的安装

目录 一、Hive简介 二、体系结构 三、安装 1、内嵌模式 2、测试内嵌模式 3、本地模式--最常使用的模式 一、Hive简介 Hive 是一个框架&#xff0c;可以通过编写sql的方式&#xff0c;自动的编译为MR任务的一个工具。 在这个世界上&#xff0c;会写SQL的人远远大于会写ja…