挑战
用于 AI 工作负载的 GPU 基础设施带来了成本与性能之间的两难困境:
- 主要云服务提供商的专用 GPU 服务器每实例每月成本高达数千美元
- 工作负载具有可变性——高峰时段所需的 GPU 容量是低峰时段的 4-8 倍
- 无服务器 GPU 提供商的冷启动时间对于实时推理来说过长(30-60 秒)
- 模型加载需要大量的 VRAM 和启动时间
- 对单一云服务提供商的厂商锁定限制了议价能力和故障转移选项
我们的解决方案
我们采用 RunPod 作为 GPU 计算层,利用其按需和 Spot GPU 实例以传统云 GPU 成本的一小部分运行 AI 推理工作负载,并采用暖实例架构以最大程度地减少冷启动。
架构
- 计算:用于推理工作负载的 RunPod GPU Pod,每个工作负载选择相应的 GPU 层级
- 编排:主云上的 FastAPI 编排器管理 RunPod Pod
- 网络:主基础设施与 RunPod 实例之间的安全隧道
- 模型存储:预构建的 Docker 镜像,内置模型以实现快速启动
- 监控:针对 Pod 可用性的健康检查和自动重启
基础设施设计
Pod 配置
- GPU 选择:每个工作负载选择经济高效的 GPU 层级,相较于主要云服务提供商的同等 GPU 实例,实现约 85-90% 的成本节约
- Docker 模板:带有预加载 AI 模型的自定义容器用于推理
- 持久化存储:用于模型权重和配置文件的主机卷
- 环境变量:用于流端点、API 密钥和功能标志的动态配置
暖实例策略
我们没有按请求冷启动 Pod,而是在运营时间内维护暖实例:
- 计划性扩缩容 — 在高峰时段前启动 Pod,在非高峰时段停止
- 预加载模型 — 推理引擎在容器启动时加载,立即可用
- 健康探测 — 编排器定期监控 RunPod Pod 以验证其就绪状态
- 自动恢复 — 不健康的 Pod 通过 RunPod API 自动替换
跨云通信
- 主云:API 服务器、数据库、录制工作程序
- GPU 云 (RunPod):AI 推理、目标检测、跟踪
- 数据流:视频帧从主云发送到 RunPod 进行推理;检测结果通过 WebSocket 返回
- 时间戳同步:基于 PTS 的同步以处理云之间的时间偏差
成本优化
RunPod 的定价模型相较于主要云服务提供商的同等 GPU 实例实现了显著的成本节约:
- 按需:每小时 GPU 计算成本降低约 85-90%
- Spot 定价:对于社区云上的非关键批处理,额外节省 50%
- 计划性关机:基于运营时间的自动停止/启动进一步降低了成本
- 按需调整:选择与实际 VRAM 需求匹配的 GPU 层级,而不是过度配置
- 多 Pod 分布:将流分散到更小、更便宜的 GPU 上,而不是单个大型实例
部署工作流
- 构建 — 包含所有模型、依赖项和应用程序代码的 Docker 镜像
- 推送 — 镜像推送到容器注册表
- 部署 — RunPod API 创建具有指定 GPU、镜像和卷挂载的 Pod
- 配置 — 为特定部署设置环境变量
- 监控 — 编排器验证 Pod 健康状况并开始路由推理请求
- 扩缩容 — 当负载增加时,通过 API 启动额外的 Pod
关键特性
- 显著的成本降低 — 相较于主要云服务提供商的同等 GPU 实例,节省 85-90%
- 预构建容器 — 模型内置于 Docker 镜像中,启动时间低于 30 秒
- API 驱动的扩缩容 — 根据需求进行程序化的 Pod 创建/销毁
- 多 GPU 支持 — 根据工作负载需求提供多个 GPU 层级
- Spot 实例回退 — 非关键工作负载在折扣社区云上运行
- 跨云架构 — GPU 计算与主基础设施解耦
成果
技术栈
常见问题
MicrocosmWorks发现,RunPod提供的GPU计算服务比同等的AWS或GCP实例用于AI推理工作负载的成本低50-70%,主要是因为RunPod采用的是专门为GPU工作负载而非通用型云计算优化的serverless和类似Spot实例的定价模型。缺点是基础设施管理工具较少,且地理区域分布较少,MicrocosmWorks通过构建一个定制的编排层来弥补,该层负责处理作业队列、健康监测和自动故障转移。
MicrocosmWorks 在 RunPod 上实施了一种无服务器端点架构,该架构根据传入的作业队列深度自动将 GPU 工作器从零扩展到配置的最大值,这意味着在没有处理需求时,您无需支付任何费用。该系统利用 RunPod 的冷启动优化结合预热的容器镜像,以最大程度地减少从零扩展时的延迟,从而在空闲期后实现 15-30 秒的首次推理延迟,而传统云 GPU 实例则需要 2-5 分钟。
MicrocosmWorks 已经在 RunPod 的基础设施上部署了模型,其范围从单张 A4000 GPU 上的轻量级计算机视觉分类器到需要多 GPU 设置(使用 A100 80GB 实例)的大型语言模型。该平台支持任何在 Docker 容器中运行的模型,包括 PyTorch、TensorFlow、ONNX 和 TensorRT 优化的模型。此外,MicrocosmWorks 构建了自定义的 Docker 镜像,其中包含所有预安装的依赖项,以最大程度地减少冷启动时间。
MicrocosmWorks 实施了一项安全架构,其中敏感输入数据在传输到 RunPod worker 之前进行加密,在每次作业后销毁的临时容器中进行处理,并且结果在返回客户端之前进行加密。RunPod 实例上不使用任何持久存储,所有传输中的数据都使用 TLS 1.3,并且存储在 RunPod 系统中的作业元数据不包含任何敏感内容,仅包含作业 ID 和状态信息。
MicrocosmWorks 搭建 RunPod 推理管道的开发费率为每小时 $25-$40,其生产就绪的部署,包括自定义 Docker 镜像、自动扩展配置、监控和 API 集成,通常在 2-4 周内交付。持续的 RunPod 计算成本取决于您的工作负载,但通常比同等的 AWS SageMaker 或 GCP Vertex AI 部署低 50-70%,这使得 RunPod 对优化 AI 基础设施成本的初创公司和中型市场公司特别有吸引力。
