Lightning AI:128GPU解锁AI大模型训练新可能,效率飙升!

2025-10-22AI工具

Image

Monarch + Lightning AI:分布式训练解锁新可能

人工智能领域的快速发展,对大规模模型训练提出了更高的要求。传统的分布式训练工作流往往冗长且复杂,严重制约了开发效率。在此背景下,Meta旗下PyTorch团队主导的Monarch项目与Lightning AI达成战略合作,旨在通过将Monarch的强大功能直接集成到Lightning Studio笔记本中,彻底革新分布式训练体验。新媒网跨境获悉,此次合作标志着集群规模开发进入新阶段,赋能新一代AI开发者,使其能够在一个熟悉的工具环境中,快速、大规模地进行迭代。

此次合作的核心在于重新构想无缝分布式训练。Monarch旨在解决在大型GPU集群上进行开发时,反复迭代周期长的问题。以往,每一次代码改动都意味着需要重新分配资源、重新构建并重新部署整个工作流,效率低下。Monarch通过提供一种通用的分布式计算语言,直接攻克了这些迭代瓶颈。这一框架不仅使用户能够直接在集群上保持连接并进行开发,还能从单一的本地训练脚本中管理整个工作流。

Monarch与Lightning AI的协同,展示了这种脚本的强大潜力。Monarch已与Lightning AI平台及其多机训练(Multi-Machine Training, MMT)应用深度整合。Lightning MMT支持用户异步调度大规模任务,负责从亚马逊云服务(AWS)、谷歌云平台(Google Cloud Platform)、Voltage Park、Nebius和Lambda等多个云服务商,配置训练优化的计算环境。通过Monarch的应用程序接口(API),Lightning Studio的交互式开发体验得以延伸至Lightning MMT的大规模计算能力。

在这一全新的工作流中,资源通过Lightning MMT仅需配置一次。此后,用户便能利用Monarch的API,直接控制任务的生命周期。由于用户现在能直接掌控集群的执行,代码更改和意外异常不再需要重新分配新集群。用户可以在同一资源分配的上下文中,通过熟悉的交互式笔记本环境,添加遗漏的打印语句、更改模型配置,甚至调整执行流程。Monarch的API围绕着具有可扩展消息传递机制的远程“Actor”模型构建。Actor被分组为“网格”(meshes),消息可以广播给所有成员。这一简洁而强大的API使用户能够命令式地描述如何创建进程和Actor,使分布式编程直观易懂。

from import
# spawn 8 trainer processes one for each gpu
"gpus" 8
# define the actor to run on each process
class def int
# create the trainers
"trainers"
# tell all the trainers to to take a step
0
# wait for all trainers to complete

Monarch与Lightning:三大革新性能力

  1. 持久化计算与高效迭代

Monarch的核心优势之一在于其计算资源的持久性。这意味着即使在迭代、实验或暂时离开工作期间,计算环境仍能保持不变。用户每次都能从上次中断的地方继续工作,无需重新配置。

当与Monarch一同部署时,计算节点通过Monarch的进程分配器运行。该分配器职责明确:首先是路由Monarch生态系统内部传递的任何消息;其次是生成任意形态的进程网格。这种集群职责的简化,使得节点职责得以封装,从而将运行计算的硬件与用户的运行时环境分隔开来。

与传统的集群规模工作流启动方法不同,进程分配器(以及用户分配的资源)在用户代码出现异常或连接断开后依然存活,这意味着它可以在多次迭代中重复使用。即使客户端程序完成或崩溃,计算环境也能保持活跃,减少了手动干预,并提高了交互式和长时间运行工作负载的可靠性。

Monarch的核心抽象始于分配“进程网格”(Process Meshes)的能力。一旦进程分配完成,用户便可利用Monarch的Actor模型来部署封装好的Python代码单元。这些Actor本身就像服务器一样,通过暴露“端点”作为通信原语。这些端点可以由其他Actor或任意Python进程异步调用。这一接口可以轻松地编排,以创建多机训练程序。

import asyncio
from import
4
class def async def print (f"Identity: {self.rank}, {msg=}")
# Note: Meshes can be also be created on different nodes, but we're ignoring that in this example
async def
    # This spawns 4 instances of 'ToyActor'
    await return
# Once actors are spawned, we can call all of them simultaneously with Actor.endpoint.call
async def await "hey there, from script!!"
  1. 笔记本原生集群管理

Monarch将集群的强大功能带到开发者的指尖,同时保留了Lightning Studio应有的简洁性。用户可以在Studio笔记本中,将工作负载扩展到数百个图形处理器(GPU),并编排复杂的分布式任务。

通过Lightning MMT,用户只需定义所需的GPU数量、节点数量以及每个节点的GPU数量,即可预留集群资源。完成资源预留后,用户可以通过定义的进程网格调用训练Actor。

from import
16
8
# Install the MMT plugin befor running the actual job
"multi-machine-training"
# Machine with T4 GPUs
# machine\_type = getattr(Machine, f"T4\_X\_{NUM\_GPUS}")
# Machine with L40S GPUs
# machine\_type = getattr(Machine, f"L40S\_X\_{NUM\_GPUS}")
# Machine with H100 GPUs
getattr f"H100\_X\_{NUM\_GPUS}"
"Multi-Nodes-Monarch-Titan"
    "CUDA\_VISIBLE\_DEVICES": "0,1,2,3,4,5,6,7"

当训练任务完成后,用户无需担心资源流失。Monarch提供了一种笔记本原生的集群管理体验。用户可以根据需要更改配置和文件;Monarch会处理笔记本与工作节点之间的代码和文件共享。用户无需重新启动多机训练(MMT)任务,只需使用新配置调用Actor即可。Monarch将多机训练的迭代时间从数分钟缩短到几乎零等待,极大地提升了连续启动的效率。

  1. 实时交互式调试

Monarch支持对Python Actor网格进行调试,即使是正在运行的分布式任务也能进行交互式调试,且不中断工作流。这为深度洞察和控制提供了新的可能性,加速了AI发现与创新。

用户可以通过Python内置的断点(breakpoint())为Actor设置调试点。当运行Monarch程序时,界面会显示一个表格,列出所有当前停在断点处的Actor,并包含Actor名称、排名、坐标、主机名、函数和行号等详细信息。在monarch_dbg>提示符下,用户可以使用attach命令,指定Actor的名称和排名,进入特定的Actor或断点进行调试。

from import

def raise "bad rank"

def if 4 0
 breakpoint # noqa
 return
elif 4 1
 breakpoint # noqa
 return
elif 4 2
 breakpoint # noqa
 4 3
 breakpoint # noqa
 return

class async def return

if "\_\_main\_\_"
    # Create a mesh with 4 "hosts" and 4 gpus per "host"
    "host" 4
    "gpu" 4
        # Spawn the actor you want to debug on the mesh
        # Call the endpoint you want to debug
    print 'help' for 'list'

解锁新工作流与协作模式

Monarch与Lightning AI的结合,为AI开发领域带来了诸多新机遇:

  1. 信心十足地运行长时间、探索性实验。 持久化的计算资源减少了因中断而需重新开始的担忧。
  2. 从原型开发无缝过渡到大规模训练。 统一的平台和工具链简化了从小型实验到大规模部署的流程。
  3. 在笔记本环境中实时协作和调试。 交互式调试功能支持团队成员共同解决分布式系统中的复杂问题。

英雄演示:128个GPU,一个笔记本

新媒网跨境了解到,通过Torchtitan的加持,用户可以在单个Studio笔记本中启动一个128个GPU的训练任务,亲身体验Monarch的强大功能。这项演示展现了无缝扩展、持久化资源和交互式调试的集成优势。用户可以轻松请求集群的GPU资源需求,按需调整节点数量和每节点GPU数量,Monarch将通过Lightning MMT处理其余配置。

# Configuration for 128 GPUs
NUM_NODES = 16
NUM_GPUS =

在此示例中,经典的单程序多数据(SPMD)TorchTitan工作负载被封装为Monarch内部的一个Actor,从而支持在交互式笔记本中以128个GPU的规模预训练大语言模型(如Llama3、Llama4等)。一旦资源预留完成,Titan训练器(Trainer)被定义为一个继承自Actor的类。

from import
from import
from class def def print f"Initializing actor: {self.rank} {current\_rank()=} {socket.gethostname()=}"
def "Starting training"
None
try if 0
 "Created seed checkpoint"
else finally if if "Process group destroyed."
print "Done training"

创建的Actor会被部署到“进程网格”上——这是一组可以访问已预留资源的Actor。进程网格利用Monarch的进程分配器与集群中的所有节点进行通信。

from import
from import
await async def await await await "trainer\_actor" await await

用户只需定义训练配置并启动训练器,即可在进程网格上触发训练器Actor。日志信息会在Rank_0的笔记本单元格中报告,同时也可通过MMT日志、Lightning原生的日志工具LitLogger或WandB访问,因为Titan会将日志推送到WandB。

from import
"--job.config\_file" ("/torchtitan/torchtitan/models/llama3/train\_configs/llama3\_8b.toml"),
                "--model.tokenizer-path",
                "/teamspace/studios/this\_studio/torchtitan/assets/hf/Llama-3.1-8B",
                "--training.steps",
                "1000000",
                "--training.dataset\_path",
                "/teamspace/studios/this\_studio/torchtitan/tests/assets/c4",
                "--job.dump\_folder",
                "/teamspace/studios/this\_studio/torchtitan/outputs/"
await

训练结束后,用户可以更改Titan训练器的配置,或定义新的Actor并在相同资源上重新启动新进程,无需等待。此外,用户可以在@endpoint装饰器定义的方法内部放置Python断点(breakpoint()),以在开发过程中实现更强的交互性。例如,用户可能希望在实际运行前检查Titan训练器的配置参数,或在训练器内部设置断点。

class TitanTrainerWrapper(Actor):
    def \_\_init\_\_(self, job\_config: JobConfig):
        self.rank = current\_rank().rank
        self.job\_config = job\_config

    @endpoint
    def init(self):
        logging.getLogger().addHandler(logging.StreamHandler(sys.stderr))
 breakpoint () # noqa
        print ( f"Initializing actor: {self.rank} {current\_rank()=} {socket.gethostname()=}" )

    @endpoint
    def train(self):
        logger.info( "Starting training" )
        config = self.job\_config
        trainer: Optional\[Trainer] = None
        try :
            trainer = Trainer(config)
 breakpoint () # noqa
            trainer.train()

立即体验:在Lightning Studio中使用Monarch

用户可以通过克隆Lightning Studio提供的Monarch Studio模板或访问Lightning AI上的Meta AI组织,即刻开始在Studio笔记本中体验Monarch。

  • Monarch Studio模板: /images/591ed6c183301750bc54bc78b044d6ed.jpg
  • Lightning上的Meta AI组织: /images/70514a0dee926dd0ae25cd342be4602b.jpg

更多快速入门指南、文档及社区论坛链接:

  • Monarch 文档: /images/6268624df2f78da9cd60ca34e238859b.jpg
  • Monarch Github: /images/590c10797c5945bb6b321d045c5f41c0.jpg
  • 多机训练(Lightning): /images/a259c7e3ae76c295088406abb91017d2.jpg
  • OneNotebook 体验: /images/70514a0dee926dd0ae25cd342be4602b.jpg
  • Titan Github: /images/4dcf74ab4832cee3b551105c094d207b.jpg

新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/lightning-ai-128gpu-unlocks-ai-model-speed.html

评论(0)

暂无评论,快来抢沙发~
Meta旗下PyTorch团队的Monarch项目与Lightning AI合作,将Monarch集成到Lightning Studio,革新分布式训练体验。新方案通过持久化计算、笔记本原生集群管理和实时交互式调试,赋能AI开发者快速进行大规模模型迭代。Torchtitan演示可在单个笔记本中启动128个GPU的训练任务。
发布于 2025-10-22
查看人数 57
人民币汇率走势
CNY
亚马逊热销榜
共 0 SKU 上次更新 NaN:NaN:NaN
类目: 切换分类
暂无数据
暂无数据
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。