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

swift多卡并行训练微调qwen3-8B

基础环境:docker-ubuntu, nvidia-ciotainer-toolkit 

脚本:

DDP :

存在负载不均衡的情况。

视同device_map同样存在这个情况。

时间: 

很长,如果换成单卡,爆显存。

多卡的话,卡之间的分配不太均匀。

可以考虑使用deepspeed尝试能不能使卡间均匀。。ZeRO2将对优化器状态、模型梯度进行分片。ZeRO3在ZeRO2基础上,对模型参数进行分片,更加节约显存,但训练速度更慢。参考这里。

可以在加个: 

PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \

PPO训练脚本:

PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
NPROC_PER_NODE=$nproc_per_node \
swift rlhf \--rlhf_type ppo \--model LLM-Research/Meta-Llama-3.1-8B-Instruct \--reward_model 'AI-ModelScope/Skywork-Reward-Llama-3.1-8B-v0.2' \--train_type full \--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#20000' 'AI-ModelScope/alpaca-gpt4-data-en#20000' \--torch_dtype bfloat16 \--num_train_epochs 1 \--per_device_train_batch_size 1 \--per_device_eval_batch_size 1 \--learning_rate 1e-6 \--gradient_accumulation_steps $(expr 16 / $nproc_per_node) \--eval_steps 100 \--save_steps 100 \--save_total_limit 2 \--logging_steps 5 \--max_length 2048 \--output_dir output \--warmup_ratio 0.05 \--dataloader_num_workers 4 \--deepspeed zero3 \--response_length 512 \--temperature 0.7 \--dataset_num_proc 4 \--save_only_model true

http://www.xdnf.cn/news/18045.html

相关文章:

  • QT开发中QString是怎么转char*类型的
  • ARM Cortex-M7 Thread Mode与Handler Mode
  • 数据结构:严格二叉树 (Strict Binary Tree)
  • PyTorch的安装-CPU版本或者GPU安装有什么区别吗
  • Unity_导航网格
  • 我的第一个音乐元素浏览项目上传至Github啦!
  • MyBatis 与 MyBatis-Plus 的区别
  • STM32L051同时处理Alarm A和Alarm B中断
  • SSH协议的GIT转换
  • 系统介绍pca主成分分析算法
  • flutter开发(二)检测媒体中的静音
  • Day59--图论--47. 参加科学大会(卡码网),94. 城市间货物运输 I(卡码网)
  • 【DDIA】第二部分:分布式数据
  • 应用层协议——HTTP
  • 抽奖程序web程序
  • JavaScript 基础实战:DOM 操作、数据类型与常见需求实现
  • 项目管理工具
  • NPM 、 NPX
  • 清除 pnpm 缓存,解决不同源安装依赖包失败的问题
  • electron之win/mac通知免打扰
  • 【R语言】R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例)
  • 汽车电子:现代汽车的智能核心
  • [激光原理与应用-287]:理论 - 波动光学 - 电磁波既能承载能量,又能承载信息?
  • 【软件设计模式】前置知识类图、七大原则(精简笔记版)
  • Spark 运行流程核心组件(二)任务调度
  • EN/IEC 55015 照明设备的电磁兼容标准安全
  • Docker Compose部署Clickhouse最新版
  • 【LINUX网络】HTTP协议基本结构、搭建自己的HTTP简单服务器
  • 为什么游戏会出现“卡顿”:`clock.tick()` v.s. `clock.get_fps()`
  • 【uni-app】根据角色/身份切换显示不同的 自定义 tabbar