写点什么

PyTorch Monarch 通过单控制器模型简化了分布式 AI 工作流

作者:Tim Anderson

  • 2025-10-28
    北京
  • 本文字数:946 字

    阅读完需:约 3 分钟

大小:452.19K时长:02:34
PyTorch Monarch通过单控制器模型简化了分布式AI工作流

Meta 的 PyTorch 团队推出了Monarch,这是一个开源框架,旨在简化跨多个 GPU 和机器的分布式 AI 工作流。该系统引入了一个单控制器模型,允许一个脚本协调整个集群的计算,降低了大规模训练和强化学习任务的复杂性,而无需改变开发者编写标准 PyTorch 代码的方式。

 

Monarch 用单控制器模型取代了传统的多控制器方法,即同一脚本的多个副本在不同机器上独立运行。在这种架构中,一个脚本协调一切——从生成 GPU 进程到处理故障——给开发者一种在本地工作的感觉,而实际上却是在整个集群上运行。

 

PyTorch 团队将其描述为将“将单机 PyTorch 的简单性带到整个集群”。开发者可以使用熟悉的 Python 结构——函数、类、循环、future——来定义可以无缝扩展的分布式系统,而无需重写逻辑来手动处理同步或故障。

 

在核心层面,Monarch 引入了进程网格和角色网格,这些是可扩展的分布式资源数组,可以像 NumPy 中的张量一样进行切片和操作。这意味着开发者可以将任务广播到多个 GPU,将它们分成子组,或者使用直观的 Python 代码从节点故障中恢复。在底层,Monarch 将控制与数据分离,允许命令和大型 GPU 到 GPU 传输通过不同的优化通道移动,以提高效率。

 


来源:PyTorch 博客

 

开发者甚至可以使用标准的 Python try/except 块捕获来自远程角色的异常,逐步增加容错性。与此同时,分布式张量直接与 PyTorch 集成,因此即使在数千个 GPU 上运行,大规模计算仍然“感觉”是本地的。

 

系统的后端是用 Rust 编写的,由一个名为 hyperactor 的低级角色框架提供支持,该框架在集群中提供可扩展的消息传递和强大的监督。这种设计允许 Monarch 使用多播树和多部分消息传递高效地分发工作负载,而不会使任何一台主机过载。

 

该系统的发布已经引起了 AI 社区从业者的关注。高级应用 AI 工程师 Sai Sandeep Kantareddy写道

 

Monarch 是朝着以最小阻力扩展 PyTorch 的方向迈出的坚实一步。很好奇它在现实世界的分布式工作负载中的表现——尤其是与 Ray 或 Dask 相比。希望能看到更多关于调试支持和大规模容错性的信息。有希望的开始!

 

Monarch 现在是GitHub上的一个开源项目,包含文档、示例笔记本和 Lightning.ai 的集成指南。该框架旨在使集群规模的协调像本地开发一样直观,为研究人员和工程师从原型到大规模分布式训练提供更平滑的路径。

 

原文链接:

https://www.infoq.com/news/2025/10/pytorch-monarch/

2025-10-28 13:003765

评论

发布
暂无评论

Android 通过opencv实现人脸识别,追踪

sar

android OpenCV 人脸识别

kudmp介绍和安装

唯爱

Weex开发:页面跳转以及Android端多应用选择窗口的处理

码上生长

android Vue 大前端 跨平台 Weex

用户故事为什么要关联开发数据?

易成研发中心

敏捷开发 开发数据

架构师训练营0期开营

刁架构

架构师

卧槽,接到一个阎王的需求

码农神说

程序员

2020智源-京东多模态对话挑战赛开战 产学研联合推动AI技术发展

DT极客

Nginx 入门及命令行操作

子杨

nginx 运维

基于 Markdown 的中文文档排版规范

Murphy

markdown 排版规范 GitHub GFM 物联网学前班

我们可能都误解了什么是情商

董一凡

情绪

ARTS_20200529

凌轩

Java ARTS 打卡计划

阿里巴巴为什么让初始化集合时必须指定大小?

王磊

Java 性能

探索 Go 语言数据类型的内部实现

TuringTuring

内存模型 高效 Go 语言

「首度揭秘」大规模HPC生产环境 IO 特征

焱融科技

sds io 高性能 存储 焱融科技

10分钟了解Flink

代码诗人

备案问题汇总

云也退

网站 备案

为什么你要学习 Go?

司徒公子

编程语言 谷歌Google Go 语言

游戏夜读 | 改写图形API的意义

game1night

GrowingIO 大数据多维分析自动化测试实践

GrowingIO技术专栏

大数据 自动化测试 parewise

从位图到布隆过滤器

wangkx

位图 布隆过滤器

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟

图灵社区

游戏开发 游戏制作 世嘉培训教材

奈学干货分享:分布式CAP实践分析

奈学教育

分布式

幂等问题及解决方案

Joker

幂等 解决方案

神经网络中为什么不能将权重初始值设置为一样的值

wangkx

神经网络 学习

工厂模式(三)泛型工厂的概念以及示例代码

LSJ

Nginx 基础原理和命令行的真相

子杨

nginx 运维

Server Queue 提高 QPS

风含叶

Python kafka 后端 队列

你有信息焦虑症吗?

Neco.W

学习 创业 知识体系

“Plus Token”传销主犯被公诉!警惕,区块链不是“取款链”!

CECBC

1024讲话 CECBC 区块链技术 人才发展 培训

Mysql常用删除方式比较

云也退

MySQL

PyTorch Monarch通过单控制器模型简化了分布式AI工作流_AI&大模型_InfoQ精选文章