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

Datawhale 组队学习之大模型理论基础 Task7 分布式训练

第8章 分布式训练

8.1 为什么分布式训练越来越流行

近年来,模型规模越来越大,对硬件(算力、内存)的发展提出要求。因为内存墙的存在,单一设持续提高芯片的集成越来越困难,难以跟上模型扩大的需求。

为了解决算力增速不足的问题,人们考虑用多节点集群进行分布式训练,以提升算力。

8.2 常见的并行策略

分为“数据并行”和“模型并行”。

8.2.1 数据并行

数据并行,需要对各个设备上的梯度进行AllReduce,以确保各个设备上的模型始终保持一致。 当数据集较大,模型较小时,由于反向过程中为同步梯度产生的通信代价较小,此时选择数据并行一般比较有优势,传统的模型,如 ResNet50,比较适合采用数据并行。

8.2.2 模型并行

当神经网络非常巨大,数据并行同步梯度的代价就会很大,甚至网络可能巨大到无法存放到单一计算设备中,这时候,可以采用模型并行策略解决问题。 所谓的模型并行,就是每个设备上的数据是完整的、一致的,而模型被切分到了各个设备上,每个设备只拥有模型的一部分,所有计算设备上的模型拼在一起,才是完整的模型。

模型并行的好处是,省去了多个设备之间的梯度 AllReduce;但是,由于每个设备都需要完整的数据输入,因此,数据会在多个设备之间进行广播,产生通信代价(这里指数据不会复制多份而是通过广播来传递输入数据)。参数量较大的语言模型,如 BERT,常采用模型并行。

8.2.3 流水并行

当神经网络过于巨大,无法在一个设备上存放时,除了上述的模型并行的策略外,还可以选择流水并行。 流水并行指将网络切为多个阶段,并分发到不同的计算设备上,各个计算设备之间以“接力”的方式完成训练。

8.2.4 混合并行

网络的训练中,也可以将多种并行策略混用,以 GPT-3 为例,以下是它训练时的设备并行方案: 它首先被分为 64 个阶段,进行流水并行。每个阶段都运行在 6 台 DGX-A100 主机上。在6台主机之间,进行的是数据并行训练;每台主机有 8 张 GPU 显卡,同一台机器上的8张 GPU 显卡之间是进行模型并行训练。

并行策略的选择影响着训练效率,框架对并行训练的接口支持程度,决定了算法工程师的开发效率。

觉得有用的话,给个一键三连哦,欢迎关注无神一起学AI!

http://www.lryc.cn/news/289183.html

相关文章:

  • 05-使用结构体构建相关数据
  • 【Android】Android中的系统镜像由什么组成?
  • 仿真机器人-深度学习CV和激光雷达感知(项目2)day7【ROS关键组件】
  • 解锁一些SQL注入的姿势
  • Qt 拖拽事件示例
  • Linux:命名管道及其实现原理
  • 实习记录——第五天
  • Kotlin 教程(环境搭建)
  • 04.领域驱动设计:了解聚合和聚合根,怎样设计聚合-学习总结
  • cmake-find_package链接第三方库
  • obsidian阅读pdf和文献——与zotero连用
  • 走方格(动态规划)
  • 基于DataKit迁移MySQL到openGauss
  • API网关-Apinto压缩包方式自动化安装配置教程
  • 内网穿透natapp使用教程(Linux)
  • php函数 二
  • IDC机房交换机核心技术与应用指南
  • Compose | UI组件(五) | Button 按钮组件
  • 【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点
  • YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译
  • 高中数学常识
  • docker之部署青龙面板
  • Type-C平板接口协议芯片介绍,实现单C口充放电功能
  • 系统架构演变
  • Oracle PL/SQL Programming 第2章:Creating and Running PL/SQL Code 读书笔记
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件
  • 『建议收藏』OpenAI官方出的Prompt提示词教程中文版来了!
  • 牛刀小试 - C++ 推箱子小游戏
  • 手机视频压缩怎么压缩?一键瘦身~
  • 目标主力能源:华为智能光伏的时代指南针