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。

相关推荐
窦再兴13 天前
CentOS8.5 LLaMA-Factory训练模型
开发语言·人工智能·python·llama-factory·llama3.2
Silence4Allen15 天前
Ubuntu 22.04 AI大模型环境配置及常用工具安装
ubuntu·vllm·ollama·llama-factory·openwebui·lmdeploy
黎明鱼儿18 天前
LLaMA-Factory 数据集成从入门到精通
数据集·大模型微调·llama-factory
黎明鱼儿20 天前
LLaMA-Factory大模型微调全流程指南
人工智能·语言模型·大模型·llama-factory
窦再兴21 天前
CentOS7 安装 LLaMA-Factory
人工智能·conda·llama-factory
闻道且行之1 个月前
记录| Llama-Factory参数总结
llama·llama-factory
_Meilinger_1 个月前
大模型微调|使用 LLaMA-Factory 微调 Llama3-8B-Chinese-Chat 完成知识问答任务
大模型·llm·微调·llama·大模型微调·llama-factory·unsloth
学不会lostfound2 个月前
五、AIGC大模型_04LLaMA-Factory基础知识与SFT实战
lora·深度学习模型·自我认知·llama-factory·sft微调·aigc实战
喝不完一杯咖啡2 个月前
【AI时代】可视化训练模型工具LLaMA-Factory安装与使用
人工智能·llm·sft·llama·llama-factory