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