Primus分布式训练调度框架

联合创作 · 2023-09-29 14:27

Primus 是一个用于机器学习应用程序的通用分布式训练调度框架,管理机器学习框架(如 Tensorflow、Pytorch)的训练生命周期和数据分布,帮助训练框架获得更好的分布式能力。

功能

  1. 多训练框架支持:Tensorflow、PyTorch、Monolith 等;

  2. 多调度器支持:YARN、Kubernetes 等;

  3. 多角色支持:如 PS-Chief-CPU、Worker-GPU、Worker-Evaluator 等,并支持多角色之间的亲和反亲和等特殊调度策略;

  4. 多编排策略:支持同时启动,逐个启动,基于角色的按顺序启动等(如先启动 PS,再启动 Worker);

  5. 容错处理:Worker 失败自动拉起新 Worker,PS 失败整体失败;

  6. 动态调度:例如支持动态扩大缩小 Worker 数;

  7. 多数据源数据类型支持:HDFS、Kafka 等;

  8. 数据负载均衡与状态保存:支持按 Worker 负载动态分配 Task,如在 Worker 失败时支持回收 Task 并进行重新分配;

  9. 多线程高速数据读取:支持多线程读取 HDFS 和 Kafka 后输出到训练器,提高单训练器的吞吐。

架构

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报