训练大型模型的AI团队面临着严峻的基础设施问题:GPU计算资源昂贵、稀缺且利用率低下。数据科学家在共享集群上排队数小时等待GPU访问,而分配的实例在数据预处理或超参数分析期间却处于闲置状态。Spot instance中断可能会破坏缺乏适当checkpointing的多日训练运行,浪费数千美元。缺乏每次实验的成本可见性,使得无法比较不同研究方向的投资回报率(ROI)。模型artifact分散在个人机器和S3 bucket中,缺乏版本控制和血缘跟踪。随着组织从单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编排平台,该平台将计算视为共享、可调度资源,具有智能队列、抢占策略和成本跟踪功能。该平台支持训练和推理工作负载,并具有不同的调度配置文件——训练作业通过自动checkpointing在Spot instance和on-demand实例之间进行批量调度,而推理端点则根据请求模式自动扩展。统一的模型registry会跟踪每次实验的代码、数据、超参数和产生的artifact,并提供完整的血缘信息。研究人员通过自助服务portal进行交互,在portal中,他们定义资源需求,平台自动处理放置、扩展、容错和成本归属。
该平台运行在Kubernetes上,支持GPU感知调度,使用on-demand和spot instance节点池的组合,并根据队列深度自动扩展。自定义scheduler根据团队预算、截止日期和资源效率来优先处理作业。分布式存储层为训练作业提供高吞吐量的数据访问,而model registry和experiment tracker则为可复现性和治理提供了元数据骨干。
关键组件:| 层 | 技术 |
|---|---|
| 后端 | Python, Go, FastAPI, gRPC, Ray |
| AI / ML | PyTorch, DeepSpeed, Hugging Face Transformers, NVIDIA NCCL, TensorRT, vLLM |
| 前端 | React, Grafana, MLflow UI, 自定义Jupyter Hub portal |
| 数据库 | PostgreSQL (元数据), MinIO (artifact存储), 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 scheduling的GPU感知调度器、带有spot instance竞价策略的弹性节点池管理器,以及与DVC集成的基于MLflow的模型registry。第9-12周构建自助服务研究员portal、成本归属引擎和按团队预算执行dashboard。第13-16周进行代表性训练作业的负载测试,调整checkpoint-and-resume工作流以应对spot中断,并向ML平台和研究团队提供操作培训。
| 指标 | 改进 | 详情 |
|---|---|---|
| GPU利用率 | 平均70-85% | Bin-packing和基于队列的调度消除了闲置的预留实例 |
| 计算成本 | 降低45-60% | 带有checkpointing的Spot instance管理可在不丢失工作的情况下实现成本节约 |
| 研究人员等待时间 | 降低80% | 公平共享调度和弹性扩展取代了先到先得的GPU囤积方式 |
| 实验可复现性 | 100% | 从数据版本到模型artifact的完整血缘跟踪确保每个结果都可复现 |
| 模型部署时间 | 降低70% | 集成的model registry到 serving pipeline取代了研究和工程之间的手动交付 |
通过自动化、安全且可重复的交付管道,将部署时间从数小时缩短至数分钟。