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

环境安装

git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.git

下载模型

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。

相关推荐
初窺門徑20 小时前
llama-factory部署微调方法(wsl-Ubuntu & Windows)
llama·大模型微调·llama-factory
engchina21 天前
使用LLaMA-Factory对AI进行认知的微调
人工智能·微调·llama·llama-factory
有小肚子的三眼桥墩25 天前
从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑
人工智能·llama·llama-factory
engchina1 个月前
如何使 LLaMA-Factory 支持 google/gemma-2-2b-jpn-it 的微调
llama-factory
gs801402 个月前
分布式多机多卡训练全景指南:MPI、DeepSpeed 与 Colossal-AI 深度解析
分布式训练·deepspeed·多机多卡·深度学习优化·colossal-ai
阿正的梦工坊2 个月前
DeepSpeed 使用 LoRA 训练后文件结构详解
人工智能·深度学习·机器学习·deepspeed
engchina2 个月前
本地部署 LLaMA-Factory
人工智能·微调·llama·llama-factory
木亦汐丫2 个月前
【大模型系列篇】LLaMA-Factory大模型微调实践 - 从零开始
lora·大模型·微调·chatglm·llama·llama-factory
阿正的梦工坊3 个月前
课程学习 (Curriculum Learning) 介绍及其在 DeepSpeed 框架中的应用:中英双语
人工智能·deepspeed