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

分布式训练(记录)

为什么要分布式训练?

单机训练有物理上限:
显存不够(大模型根本放不下)
单机计算慢(数据量一多就耗时太长)
多卡并行性不高

分布式训练的常见方式

  1. Data Parallel(数据并行)
    每个GPU上一份模型副本,数据划分好,梯度求完再聚合。
    优点:简单,容易实现
    缺点:模型太大会超显存
    例如,之前我用过数据并行:多卡拷贝同一个模型、数据拆开、梯度同步、一起更新
train_sampler = torch.utils.data.distributed.DistributedSampler(train_dataset)
val_sampler = torch.utils.data.distributed.DistributedSampler(val_dataset, shuffle=False)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=args.batch_size // dist.get_world_size(), shuffle=(train_sampler is None),num_workers=args.workers, pin_memory=True, sampler=train_sampler, drop_last=True)
  • 貌似还有其他实现方法,后面慢慢补充
  1. Model Parallel(模型并行)
    把模型切成几部分,分别放在不同GPU上。
    优点:超大模型能跑
    缺点:实现麻烦,通信开销大
  2. Pipeline Parallel(流水线并行)
    模型分段,数据分批次轮流流经各段。
    适合:超大模型 + 数据并行结合
    代表:DeepSpeed、Megatron-LM
  3. Hybrid Parallel(混合并行)
    结合数据、模型、流水线多种并行方式。

后续在实践中在遇到更多的情况和实现方法在补充吧。。

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

相关文章:

  • 大屏设计与汇报:政务服务可视化实践
  • 针对渲染圆柱体出现“麻花“状问题解决
  • 《操作系统真象还原》第九章(2)——线程
  • 「仓颉编程语言」Demo
  • kaamel Privacy agent:AI赋能的隐私保护技术解决方案
  • 广东水利水电安全员 B 证考试精选题
  • 电能质量治理解决方案:构建高效、安全的电力系统
  • 中国首个全国34省3,667个城市多属性建筑数据集(屋顶、高度、结构、功能、风格、年龄、质量等属性)
  • 《TIME-LLM: TIME SERIES FORECASTINGBY REPROGRAMMING LARGE LANGUAGE MODELS》
  • LeeCode912. 排序数组
  • 嵌入式学习(39)-基于STM32的GPIO电平反转检测
  • rhce第一次作业
  • GitHub创建远程仓库
  • DB-Day8笔记-with公共表达式综合案例窗口函数进阶
  • 【HCIA】使用Access port实现简易的VLAN间通信
  • 静态测试:软件质量保障的第一道防线
  • LeetCode每日一题4.18
  • 海关总署广东:广东外贸一季度进出口2.14万亿元 同期增长4.2%
  • 斐波那契数列计算:数据结构与算法视角
  • C++(17):通过filesystem获取文件的大小
  • Promise的详细讲解
  • python豆包语音合成并播放
  • 如何用 esProc 将数据库表转储提速查询
  • 视频编解码种类/技术/区别/优缺点汇总
  • osgb和obj格式互转
  • 代码学习总结(四)
  • LabVIEW技巧——获取文件版本信息
  • 【Python】使用Flet开发批量解密Excel工具
  • 遥感技术赋能电力设施监控:应用案例篇
  • 2024年RIS SCI2区:自适应天鹰算法AAO,深度解析+性能实测