AI 团队在训练大型模型时面临着严峻的基础设施问题:GPU 计算资源昂贵、稀缺且利用率低下。数据科学家在共享集群上排队数小时等待 GPU 访问,而分配到的实例在数据预处理或超参数分析期间却处于空闲状态。Spot 实例中断可能会破坏缺乏适当检查点(checkpointing)机制的数日训练运行,造成数千美元的浪费。无法清晰了解每次实验的成本,导致无法比较不同研究方向的投资回报率(ROI)。模型产物分散在个人机器和 S3 存储桶中,缺乏版本控制和血缘追踪。随着组织从单 GPU 实验扩展到分布式多节点训练,适用于小型团队的临时工具体系将崩溃,研究人员将花费更多时间管理基础设施,而非推进模型开发。
探索更多实施蓝图,为您的下一个项目提供参考
MicrocosmWorks 采用工作负载感知的 GPU 调度,该调度利用 A100/H100 GPU 上的 MIG (Multi-Instance GPU) 分区技术,将推理工作负载隔离到更小的 GPU 切片中,同时为训练任务保留完整的 GPU 或多 GPU 分配,从而防止混合工作负载干扰导致的内存碎片。该编排器理解不同工作负载类型的内存配置文件,并对其进行调度以最大化 GPU 利用率,同时避免因碎片化分配导致的内存不足故障。对于同时运行推理和训练的集群,这种方法通常能实现 70-85% 的 GPU 利用率,而相比之下,在天真调度的混合集群中,这一比例通常仅为 30-40%。
MicrocosmWorks 通常使用 Kubernetes 配合 NVIDIA GPU Operator 和自定义调度插件来部署 GPU 编排,并通过 Run:ai 或 Volcano 等框架进行增强,以实现原生 Kubernetes 不支持的协同调度、公平共享队列和分数式 GPU 分配。标准 Kubernetes 将 GPU 视为不透明的整数资源,而我们增强的堆栈则理解 GPU 拓扑(NVLink 互连、PCIe 与 NVSwitch)、内存容量和计算能力,从而做出显著影响训练性能的放置决策。对于大型集群(50+ GPUs),仅调度智能本身就可以将有效吞吐量比默认的 Kubernetes GPU 调度提高 20-40%。
MicrocosmWorks 实施多层级 GPU 采购策略,结合按需云 GPU 以应对突发容量需求,预留实例用于基线稳定状态工作负载,以及 Spot/可抢占实例用于带有检查点机制的容错训练作业 — 相比仅使用按需定价,可实现 40-60% 的成本降低。编排层以可配置的间隔自动为训练作业创建检查点,从而在 Spot 实例被回收时能够优雅地进行抢占恢复,并将时间敏感的推理工作负载路由到预留容量,以保证可用性。对于具有持续 GPU 需求的组织,我们还会评估将自有 NVIDIA 硬件进行托管与纯云方案的优劣,因为自有硬件的盈亏平衡点通常是 12-18 个月的持续利用。
MicrocosmWorks 部署了高带宽、低延迟的互连,采用 InfiniBand (400Gbps NDR) 或 RoCE v2 (100-400Gbps) 结构以及 NCCL 优化的网络拓扑。这是因为当节点间的梯度同步产生通信瓶颈时,分布式训练的性能通常受限于网络而非计算。该网络架构包括拓扑感知的任务放置,它将分布式训练 pod 共同部署在通过同一网络交换机连接的节点上(具备脊叶拓扑感知能力),以最大程度地减少跨交换机流量。对于云部署,我们利用放置组和集群网络选项(AWS EFA、GCP GPUDirect-TCPX、Azure InfiniBand),它们提供接近裸机的网络性能,并提供每小时 35-50 美元的网络架构咨询服务。
MicrocosmWorks 实施基于命名空间的多租户机制,为每个团队提供有保证的最低 GPU 配额,当集群拥有空闲资源时,可以提供超出配额的突发容量,以及基于优先级的抢占策略,确保即使在繁重的训练期间,高优先级的生产推理工作负载也能始终获得资源。该平台包括一个自助服务门户,团队负责人可以在其中提交训练作业、查看队列位置、监控 GPU 利用率,并管理团队的作业优先级,无需平台工程团队的干预。成本分摊报告会跟踪每个团队和项目消耗的 GPU 小时数,使财务团队能够准确地将 AI 基础设施成本分配给各个业务部门。
MicrocosmWorks 可以构建一个端到端的 GPU 编排平台,该平台将计算资源视为共享的、可调度的资源,具备智能排队、抢占策略和成本追踪功能。该平台支持训练和推理工作负载,并具有不同的调度配置文件——训练作业通过自动检查点机制批量调度到 Spot 实例和按需实例上,而推理端点则根据请求模式自动扩展。统一的模型注册表会追踪每次实验的代码、数据、超参数和产生的产物,并提供完整的血缘信息。研究人员通过自助服务门户进行交互,在该门户中,他们可以定义资源需求,平台将自动处理资源放置、扩展、容错和成本归因。
该平台运行在 Kubernetes 上,具有 GPU 感知调度功能,混合使用按需和 Spot 实例节点池,并根据队列深度自动扩展。自定义调度器根据团队预算、截止日期和资源效率对作业进行优先级排序。分布式存储层为训练作业提供高吞吐量数据访问,而模型注册表和实验追踪器则为可复现性和治理提供元数据主干。
主要组件:| 层 | 技术 |
|---|---|
| 后端 | Python, Go, FastAPI, gRPC, Ray |
| AI / 机器学习 | PyTorch, DeepSpeed, Hugging Face Transformers, NVIDIA NCCL, TensorRT, vLLM |
| 前端 | React, Grafana, MLflow UI, custom Jupyter Hub portal |
| 数据库 | PostgreSQL (元数据), MinIO (产物存储), Redis (作业队列), TimescaleDB (指标) |
| 基础设施 | Kubernetes (带 GPU 节点的 EKS), Karpenter, NVIDIA GPU Operator, Terraform, ArgoCD, Prometheus, DCGM Exporter |
该平台将在 12-16 周内分四个阶段构建。第 1-3 周重点进行需求发现、GPU 工作负载分析,并设计基于 Kubernetes 的调度和自动扩展基础设施,包括 Karpenter 和 NVIDIA GPU Operator。第 4-8 周实施带有 bin-packing 和 gang 调度的 GPU 感知调度器、带有 Spot 实例竞价策略的弹性节点池管理器,以及集成 DVC 的基于 MLflow 的模型注册表。第 9-12 周构建自助服务研究员门户、成本归因引擎和按团队预算执行仪表板。第 13-16 周进行代表性训练作业的负载测试,优化 Spot 中断的检查点和恢复工作流,并向 ML 平台和研究团队提供操作培训。
| 指标 | 改进 | 详情 |
|---|---|---|
| GPU 利用率 | 平均 70-85% | Bin-packing 和基于队列的调度消除了闲置的预留实例 |
| 计算成本 | 降低 45-60% | 带有检查点功能的 Spot 实例管理可在不损失工作的情况下实现成本节省 |
| 研究人员等待时间 | 降低 80% | 公平共享调度和弹性扩展取代了先到先得的 GPU 囤积 |
| 实验可复现性 | 100% | 从数据版本到模型产物的完整血缘追踪确保每个结果都可复现 |
| 模型部署时间 | 降低 70% | 集成的模型注册表到服务管道取代了研究和工程之间的手动交接 |
通过自动化、安全且可重复的交付管道,将部署时间从数小时缩短至数分钟。