字节跳动正式开源分布式训练调度框架 Primus
日均作业百万核的字节跳动实践
- 自研训练框架:目前除了业界开源的 Tensorflow、Pytorch,为了满足用户的各种需求,字节也在机器学习场景进行了深入探索,自研多个训练框架用于满足用户需求;
- 拥有底层资源调度系统 YARN 和 Kubernetes:目前阶段处在 YARN 向 Kubernetes 的迁移过程中,在此过程中需要对用户屏蔽底层的调度系统,提供一致的体验;
- 大规模应用混部资源:由于混部资源不稳定的特点,对训练的容错和稳定有着更高的要求;
- 支持复杂调度编排语义:为了使集群资源利用率最大化,需要将合适的容器放在适当的位置上,并需要能够动态调整并发和容器大小。
- 支持复杂数据源和数据调度需求:支持多种类型数据源和数据类型的混合训练,如 HDFS、Kafka 等批式流式数据源,Text、PB、Parquet 等数据类型。
分布式训练调度框架 Primus
架构介绍
- 提交阶段
- 训练资源包括需要的角色(如 PS,Worker 等)以及各角色所需的资源,包括其需要的 CPU、内存以及运行脚本、环境变量等。
- 数据输入用于描述如何把数据提供给训练器。
- 容错策略用于描述遇到错误时,Primus 需要进行的操作。
- 执行阶段
- 数据读取
功能介绍
- 多训练框架支持:Tensorflow、PyTorch、Monolith 等;
- 多调度器支持:YARN、Kubernetes 等;
- 多角色支持:如 PS-Chief-CPU、Worker-GPU、Worker-Evaluator 等,并支持多角色之间的亲和反亲和等特殊调度策略;
- 多编排策略:支持同时启动,逐个启动,基于角色的按顺序启动等(如先启动 PS,再启动 Worker);
- 容错处理:Worker 失败自动拉起新 Worker,PS 失败整体失败;
- 动态调度:例如支持动态扩大缩小 Worker 数;
- 多数据源数据类型支持:HDFS、Kafka 等;
- 数据负载均衡与状态保存:支持按 Worker 负载动态分配 Task,如在 Worker 失败时支持回收 Task 并进行重新分配;
- 多线程高速数据读取:支持多线程读取 HDFS 和 Kafka 后输出到训练器,提高单训练器的吞吐。
部署情况
未来规划
- 开源 Primus 更多能力后续将陆续开放,详见:https://mp.weixin.qq.com/s/uGBy-WpdjTMUy-7MQAZiww
- Primus 目前与字节内部训练框架集成较多,Tensorflow 和 Pytorch 可以使用 Primus 的基本能力,后续将开发 Tensorflow 和 Pytorch 适配 Primus API 实现更深度的集成,赋能开源训练框架。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ChatGPT 引入关闭聊天记录功能,企业订阅版即将推出
OpenAI 宣布在 ChatGPT 中引入了一项新功能,允许用户关闭聊天记录。相关控件目前已面向所有用户推出,可以在 ChatGPT 的设置中找到,并且可以随时更改。 公告指出,用户在禁用聊天历史记录后开始的对话不会被用于训练和改进 OpenAI 的模型,也不会出现在历史记录侧边栏中。但它们将被保留 30 天,仅“在需要监控滥用情况时”用来审查,然后再永久删除。 ChatGPT 数据现在也可以导出。用户可以请求将他们的数据以文件的形式发送到与其 OpenAI 帐户关联的电子邮件地址。 与此同时,OpenAI 还在开发一个新的订阅层 ——ChatGPT Business,并将其描述为适用于:需要更多地控制其数据的专业人士,以及寻求管理终端用户的企业,预计在接下来的几个月内推出。“ChatGPT Business 将遵循我们API 的数据使用政策,这意味着默认情况下不会使用最终用户的数据来训练我们的模型。” 在此之前,OpenAI 联合创始人兼首席执行官 Sam Altman 曾指出,ChatGPT 的运营费用巨大,每次聊天的总计算成本高达几美分。该公司也表示,随着服务的快速增长正在为 ...
- 下一篇
Loginsight 3.3.2 正式发布:致力于打造一款日志分析利器
loginsight 3.3.2带来了稳定性更新和优化了动态日志的体验: 优化动态日志实时更新体验、支持清除 新增了语法管理界面;内置adb logcat和nginx语法 修复若干BUG,进一步优化快捷操作 完整更新日志 项目主页 源码仓库
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19