从 0 到推理:用 AWS Spot GPU 打造一键自助的短时推理测试环境

从 0 到推理:用 AWS Spot GPU 打造一键自助的短时推理测试环境

💡 原文中文,约4400字,阅读约需11分钟。
📝

内容提要

该方案提供一键自助的短时GPU推理测试环境:用户在React门户选择机型与部署方案,平台通过Spot容量和轮询器抢占H200/B300实例,经SSM以docker compose部署SGLang服务,就绪后推送endpoint并发送飞书通知,用完即释放。预约与状态存入DynamoDB并留痕,同时设置并发上限和超时清理以防浪费,解决GPU紧缺、工单慢、缺审计三大痛点。

🔎

延伸解读

Spot 实例的适用边界

文章明确将 Spot 用于短时、可容忍中断的推理测试,而非生产负载。因为 Spot 可能被回收,但测试通常只需约 2 小时,且失败可重试,所以成本优势明显。若任务对连续性要求高,或需要严格保障容量,则应考虑 Capacity Block 或 ODCR,但后者成本更高、准备时间更长。

自助门户如何降低使用门槛

React 门户内置登录与授权,业务用户无需接触 AWS IAM 或控制台,只需选择机型和部署方案、填写白名单 IP 即可提交。平台自动完成 Spot 抢占、实例启动、SGLang 部署和健康检查,并将 endpoint 和飞书通知推送给用户。这消除了对中台工单的依赖,将数天等待压缩为分钟级操作。

成本防护的三重机制

针对 GPU 实例每小时数十美元的高成本,方案设置并发上限(H200 和 B300 各最多 1 台)、飞书状态推送和超时自动清理。部署超时或实例空闲超时都会触发终止,另有每 15 分钟运行的孤儿清理器兜底。这些措施共同防止“开了忘关”导致的浪费,但用户仍需关注飞书通知以及时释放资源。

部署方案的可调参与扩展

每个部署方案由 docker-compose 文件定义,涵盖模型路径、张量并行度、显存占用、CUDA Graph 批大小、EAGLE 投机解码和 PD 分离拓扑等参数。测试期修改 YAML 并重启即可验证新配置,无需改动平台代码。门户还支持上传自定义模板,便于团队按自身模型和拓扑快速扩展。

Q&A

这个方案主要解决哪些痛点?

主要解决三大痛点:一是GPU资源紧缺,测试需求短时临时,但Capacity Block预留通常要等一天;二是业务用户不熟悉AWS,走中台工单慢;三是反复试验需要留痕与审计。

为什么选择Spot实例而不是Capacity Block或ODCR?

因为测试场景是一次只跑约2小时、可容忍中断的临时任务。Spot用闲置容量,价格低、随开随用、无最短持有期;Capacity Block需提前预约且等待久;ODCR持续计费,对短时任务偏贵。

用户如何自助使用这个环境?

用户在React门户中选择机型和部署方案,填入访问白名单IP,一键提交。平台自动抢占Spot GPU、启动实例并部署SGLang推理服务,就绪后推送endpoint和飞书通知。用完点一下释放即可。

平台架构是怎样的?

平台是一个AWS CDK栈,控制面Serverless:前端React/Vite托管在S3由CloudFront分发,API经CloudFront到API Gateway,Lambda授权器做Basic Auth,四个Python Lambda(api/poller/deployer/orphan-cleaner)由EventBridge定时协调,数据存DynamoDB。数据面是多区域EC2 Spot GPU,poller每分钟扫描容量,deployer经SSM用docker compose部署SGLang,orphan-cleaner回收游离实例。

如何防止GPU资源浪费?

内置三重防护:并发上限(H200和B300各最多1台);飞书提醒每次关键状态变更;超时自动清理(部署超时或idle超时自动终止),外加每15分钟的孤儿清道夫兜底。

部署方案如何配置和扩展?

每个部署方案用一个docker-compose文件描述完整推理拓扑,包括模型路径、张量并行度、显存占用、CUDA Graph批大小、EAGLE投机解码、PD分离拓扑等。平台内置多套方案,也支持在门户“方案管理”页自定义上传模板(填方案名、选机型、传.yaml),重新部署即可生效。

🏷️

标签

➡️

继续阅读