在 Amazon EC2 上使用 Ray 和 Anyscale 扩展分布式 AI 工作负载

在 Amazon EC2 上使用 Ray 和 Anyscale 扩展分布式 AI 工作负载

💡 原文英文,约1900词,阅读约需7分钟。
📝

内容提要

文章介绍在AWS上使用Ray与Anyscale扩展分布式AI工作负载。Anyscale是基于Ray的全托管服务,部署在用户AWS账户内,负责集群管理、自动扩缩容与成本控制。提供三种部署方式:Amazon EC2(最灵活)、Amazon EKS(Kubernetes原生)、SageMaker HyperPod(高容错训练)。可按流水线阶段匹配Graviton、GPU、Trainium、Inferentia及Spot实例以优化成本,同一Ray代码无需修改即可从单机扩展到多机集群。

🔎

延伸解读

三种部署路径的取舍逻辑

文章给出 EC2、EKS、SageMaker HyperPod 三种部署方式,并非并列推荐,而是对应不同运维前提。EC2 最灵活,适合希望沿用现有 EC2 操作习惯的团队;EKS 适合已管理 Kubernetes、想让 Ray 共享同一套基础设施的组织,代价是容器编排复杂度和 operator 自定义配置;HyperPod 面向多周大集群训练,靠自动替换故障节点和断点续训降低节点故障成本。选择时应先看团队现有运维栈,而非只看功能列表。

按流水线阶段匹配异构实例

文章的核心成本思路是把预处理、训练、推理拆开匹配硬件:Graviton 和 Intel/AMD 实例承担预处理、分词、特征提取与轻量推理,GPU 和 Trainium 用于训练微调,Inferentia 面向高吞吐推理,Spot 用于批处理与超参搜索。文中还给出 Graviton3 推理最高省 50%、Trainium2 训练性价比高 30–40% 等数据,但这些是特定场景的对比,实际收益仍取决于工作负载是否匹配。

Spot 与容量预留的组合策略

文章建议头节点留在 On-Demand、工作节点用 Spot 并自动回退,Ray Data 重试失败任务、Ray Train 从检查点恢复、Ray Serve 在 2 分钟抢占预警前迁移副本,从而在容错前提下获得最高 60% 的训练节省。对计划性训练,可用 Capacity Blocks 预留加速实例,并通过机器池按 Capacity Block、Spot、On-Demand 的优先级回退。这套组合的前提是工作负载本身可中断、可检查点恢复。

从原型到生产的四阶段路径

文章把落地拆成四步:先在单机或笔记本验证数据管道与模型质量,再用 Graviton 和 Spot 扩展数据处理,随后选择部署方式扩展多机训练,最后用 Ray Serve 部署推理。关键卖点是同一份 Ray 代码贯穿四个阶段,扩到多机只需调整由 Anyscale 管理的配置。对读者而言,这意味着前期应优先验证代码与数据管道,而不是过早搭建分布式集群。

❓

Q&A

Anyscale 和 Ray 是什么关系?它部署在哪里?

Anyscale 是基于 Ray 的全托管服务,部署在用户自己的 AWS 账户内,与现有 VPC、IAM 角色和合规框架集成。它负责集群管理、自动扩缩容和成本控制,而数据平面(EC2 实例、存储、网络)保留在用户账户中,Anyscale 不直接访问数据。

在 AWS 上部署 Ray 有哪几种方式?各自适合什么场景?

有三种方式:1) Amazon EC2(配合 EFA)提供最大灵活性和直接计算控制,适合希望基于 EC2 扩展 AI/ML 而不重构运维的团队;2) Amazon EKS(配合 EFA)适合已管理 Kubernetes、希望 Ray 共享同一基础设施和工具的组织;3) Amazon SageMaker HyperPod 专为容错关键型训练设计,适合多周大规模 GPU/Trainium 集群运行,能自动替换不健康节点并从检查点恢复。

如何为 AI 流水线的不同阶段选择合适的实例类型以优化成本?

可按阶段匹配:Intel/AMD 实例处理预处理、分词和特征提取;Graviton 实例用于预处理、工作节点、嵌入生成和轻量推理,性价比高;NVIDIA GPU 和 Trainium 用于训练与微调;Inferentia 用于高吞吐推理;Spot 实例自动用于批处理训练、预处理和超参数扫描。Ray 能自动检测加速器类型,Anyscale 据此路由各阶段工作负载。

使用 Spot 实例时,Ray 和 Anyscale 如何保证容错和节省成本?

Anyscale 将头节点保持在按需实例上,工作节点运行在 Spot 上并自动回退。Ray Data 在替换节点上重试失败任务;Ray Train 从检查点恢复,分布式训练可节省高达 60% 成本;Ray Serve 在 2 分钟抢占警告前主动迁移副本。

从原型到生产需要经历哪些阶段?是否需要修改代码?

分为四个阶段:1) 本地验证(1-2 天),在单机或笔记本上构建流水线并验证模型质量;2) 扩展数据(1-2 周),用 Ray Data 配合 Graviton 和 Spot 处理全量数据;3) 扩展训练(2-4 周),选择 EC2、EKS 或 HyperPod 跨多 GPU/Trainium 训练;4) 部署推理(1-2 周),用 Ray Serve 配置自动扩缩容。同一 Ray 代码贯穿四个阶段,从单机到多机集群只需配置变更,无需修改代码。

Anyscale 在 AWS 上如何保障安全与合规?

无论哪种部署路径,都应用 Amazon VPC 网络隔离、IAM 基于角色的访问控制,以及 AWS KMS 的静态和传输加密。数据保留在用户 AWS 账户内,加密密钥由用户控制。该架构支持 HIPAA 和 SOC 2 等合规框架,且无需更改 Ray 工作负载代码。

🏷️

标签

➡️

继续阅读