TePDist —— 自动分布式训练系统基础设施
TePDist (TEnsor Program DISTributed) 是一个用于 DL 模型的自动分布式训练系统基础设施,而不仅仅是一种算法。
TePDist 系统以客户端/服务器模式运行。客户端应该是任何可以生成 XLA HLO 的前端。服务器负责分布式策略规划和自动分布式任务启动。将客户端和服务器解耦的动机是为了方便未来与不同前端框架的集成。TePDist 有自己的运行时图和任务调度器,用于分布式运行。
TePDist 系统现在是在以前版本的社区 TensorFlow 的基础上开发的。此存储库中设置了链接到原始代码版本的子模块以供参考。我们计划很快将代码迁移到更新的社区版本。
特征
TePDist 选择 HLO 作为分布式策略规划的输入 IR。我们见过的最大模型包含数万条 HLO 指令。我们的系统可以轻松处理这种规模。在 HLO 级别,指令之间的连接是稀疏的。大多数指令只读取一两个其他指令,尽管指令可能超过数千条。对于 SPMD 策略探索,分布式通信的成本来自于这些指令之间的连接。连接的稀疏性为 TePDist 提供了探索 HLO 策略的机会。
TePDist 的分布式策略探索是完全自动化的。TePDist 的自动计划策略可以涵盖目前已知的各种并行方案,例如Data 并行(包括token 并行)、Model 并行(例如sharding 或Zero)和Pipeline 并行。当然,TePDist也允许用户通过标注的方式介入策略探索。
TePDist 对策略探索问题进行了合理的分解。TePDist 使用多种方法将策略探索问题分解为优化子问题,并使用多种算法分别求解,有效地管理了问题的复杂性。总之,TePDist 根据关键节点将整个图划分为子图(有关更多详细信息,请参阅论文)。在子图中,锥体被进一步划分。子图之间使用动态规划算法,而子图内的锥体之间使用ILP算法。
流水线阶段自动分区很有特色。在划分阶段之前,无需将 DAG 排列成拓扑线性序列。TePDist 将阶段划分建模为 ILP 问题,并使用 ILP Solver 自动找到通信量最少的切割方案。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 如何优雅的处理异常
作者:京东零售 秦浩然 一、什么是异常 Java 语言按照错误严重性,从 throwale 根类衍生出 Error 和 Exception 两大派系。 Error(错误): 程序在执行过程中所遇到的硬件或操作系统的错误。错误对程序而言是致命的,将导致程序无法运行。常见的错误有内存溢出,jvm 虚拟机自身的非正常运行,calss 文件没有主方法。程序本生是不能处理错误的,只能依靠外界干预。Error 是系统内部的错误,由 jvm 抛出,交给系统来处理。 Exception(异常): 程序正常运行中,可以预料的意外情况。比如数据库连接中断,空指针,数组下标越界。异常出现可以导致程序非正常终止,也可以预先检测,被捕获处理掉,使程序继续运行。Exception(异常)按照性质,又分为编译异常(受检异常)和运行时异常(非受检异常)。 ◦ 编译异常: 又叫可检查异常,通常时由语法错和环境因素(外部资源)造成的异常。比如输入输出异常 IOException,数据库操作 SQLException。其特点是,Java 语言强制要求捕获和处理所有非运行时异常。通过行为规范,强化程序的健壮性和安全性。 ◦ ...
- 下一篇
Linux 6.4 将删除 SELinux 运行时禁用功能
安全增强型 Linux(SELinux, Security Enhanced Linux)是一种采用安全架构的 Linux 系统,它能够让管理员更好地管控哪些人可以访问系统。它最初是作为 Linux 内核的一系列补丁,由美国国家安全局(NSA)利用 Linux 安全模块(LSM)开发而成。SELinux 于 2000 年发布到开源社区,并于 2003 年集成到上游 Linux 内核中。 SELinux 定义了每个人对系统上的应用、进程和文件的访问控制。利用安全策略(一组告知 SELinux 哪些能访问,哪些不能访问的规则)来强制执行策略所允许的访问。 此前,系统管理员可以通过编辑 /etc/selinux/config 设置 SELINUX=disabled 或写入 /sys/fs/selinux/disable 来关闭 SELinux 的功能。但这两种 SELinux 运行时禁用方法已经在之前的 Linux 内核版本被弃用了。 如今在被弃用数年后,从 Linux 6.4 内核开始,SELinux 运行时禁用将被彻底删除。 以后,要以简单且非侵入性的方式正确禁用 SELinux,管理员...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作