skypilot
用一套命令在20+云/HPC/K8s上跑AI任务,多云算力统一调度框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用一套命令在20+云/HPC/K8s上跑AI任务,多云算力统一调度框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2026年的AI团队,正在经历一场前所未有的"算力焦虑"。模型越来越大,训练任务越来越长,一个研究团队可能同时在AWS跑推理、在GCP跑微调、在自有集群上跑数据预处理——每套基础设施都有自己的一套CLI、账单系统、调度逻辑。一位来自UC Berkeley的工程师Zongchen Chen,在一次又一次被"为什么这个集群满了"、"那个云账号欠费了"、"Slurm脚本跑不通"折磨之后,终于忍不住了:能不能用同一套命令,在任何地方跑AI任务?
SkyPilot(天翔)就是对这个问题的系统性回答。这个项目在GitHub上已收获超过10,000颗星,被OpenAI、Anthropic、Stanford、Berkeley等顶级机构和公司使用,是当前AI Infra领域最活跃的开源项目之一。
简单来说,SkyPilot是一个AI计算任务的统一调度与执行框架。它让你用一套YAML配置或Python代码,就能在20多种不同基础设施上启动训练、推理、微调任务——包括AWS、Azure、GCP、Lambda Cloud、Cloudflare、Anyscale、RunPod、Vast.ai等20+公有云;Slurm、PBS、LSF等传统HPC调度器;Kubernetes(通过Helm Chart部署);以及通过SSH直连的本地GPU机器。
SkyPilot的核心价值:"Write once, run anywhere (of AI compute)"。
SkyPilot用sky.Task对象描述一个AI工作负载,包含计算资源、启动命令、环境依赖和数据源配置。一个最简单的训练任务,只需不到20行代码即可完成从资源申请到任务执行的完整流程。
SkyPilot支持同时管理多个计算集群的状态,每个集群记录了SSH密钥、云凭证、资源快照,切换时无需重新配置,支持通过命令行在任意集群间切换。
SkyPilot最具特色的功能之一是对Spot实例(抢占式GPU)的原生支持。它能自动将训练任务checkpoint保存到云存储,当Spot被回收时自动重启训练并从最新checkpoint恢复,让训练成本降低60-90%,而无需用户修改任何代码。
SkyPilot专门为LLM部署提供了高度优化的方案:自动模型下载(从HuggingFace、ModelScope等)、vLLM后端集成、多后端切换(vLLM/TGI/qwen.cpp等)、Serverless化部署(通过sky serve将模型暴露为HTTP API,支持自动扩缩容)。llm/目录中提供了Llama、DeepSeek、Qwen、Mistral等20+主流模型的开箱即用配置模板。
SkyPilot集成了Ray Tune、Optuna等主流AutoML工具的接口,支持分布式超参搜索和实验管理。
SkyPilot的架构分为核心模块:
| 模块 | 职责 |
|---|---|
sky/core.py | 核心调度逻辑,Task → Cluster映射 |
sky/clouds/ | 各云厂商适配器统一接口 |
sky/backends/ | 后端执行引擎(Cloud VMs / K8s / SSH) |
sky/provision/ | 节点初始化、配置管理 |
sky/optimizer.py | 成本-性能多目标优化器 |
sky/serve/ | LLM模型服务化(HTTP API、自动扩缩容) |
sky/dashboard/ | Next.js Web管理界面 |
sky/jobs/ | 任务队列与作业管理 |
llm/ | 20+ LLM启动模板与推理优化 |
云厂商适配器采用插件化设计,每个子目录对应一个云厂商实现,添加新平台成本极低。
SkyPilot提供了三层容器化部署选项:
python:3.10-slim,内置GCP SDK和GSutil工具charts/skypilot/提供生产级K8s部署配置,支持GPU调度、RBAC、PV挂载image_id指定任意Docker镜像,满足企业级安全要求SkyPilot提供了基于Next.js + Tailwind CSS的Web管理界面,集成在API Server中,可通过${API_Server_Endpoint}/dashboard访问,提供集群状态可视化、作业管理与监控、GPU资源浏览与定价对比(GPU Compass)功能。
| 场景 | 难度 | 说明 |
|---|---|---|
| pip install + 单机训练 | ⭐ 简单 | pip install skypilot,几乎零配置 |
| 云上启动GPU任务 | ⭐⭐ 中等 | 需配置云凭证(AWS_KEY等环境变量) |
| Slurm集群接入 | ⭐⭐ 中等 | 需配置SSH免密 + 集群节点地址 |
| Kubernetes生产部署 | ⭐⭐⭐ 较难 | 需理解K8s概念 + Helm Chart配置 |
| 分布式训练多机多卡 | ⭐⭐⭐ 较难 | 需网络配置(EFA/Infiniband)+ NCCL调优 |
SkyPilot的出现,标志着AI基础设施进入**"抽象层收敛"**阶段。它选择做统一的控制平面,把"在哪里跑"和"怎么跑"解耦——与Kubernetes定位有异曲同工之妙,但更专注于AI场景(GPU调度、Checkpoint恢复、模型服务化)。随着AI团队规模扩大、多云策略成为标配,类似SkyPilot这样的"AI基础设施操作系统"将变得越来越不可或缺。
从增长曲线看,项目从2023年的2,000星到如今的10,000+星,保持极高社区活跃度,是值得关注和深入研究的AI Infra项目。
报告生成时间:2026-05-29
数据来源:GitHub API + 官方文档

图1:SkyPilot项目封面
SkyPilot支持在任意AI基础设施上运行、管理和扩展AI工作负载,涵盖20+云厂商、HPC集群和Kubernetes环境。

图2:SkyPilot支持的云厂商生态
从AWS/GCP/Azure到Lambda Cloud、RunPod、Vast.ai,SkyPilot提供统一接口,消除厂商锁定。

图3:SkyPilot架构抽象
Task(任务)→ Cluster(集群)→ Backend(后端)三层抽象,实现"一次编写、任意执行"核心理念。