Repolode
skypilot-org

skypilot-org/skypilot

Kubernetes、Slurm、20以上のクラウドやGPUプロバイダーで、AIワークロードの実行・管理・スケールを一元的に行えるオープンソースシステム。

スター
10,723
フォーク
1,296
未解決の Issue
504
最終コミット
9 時間前

これは何?

SkyPilotは、手元のインフラやレンタル可能なインフラ上でAIワークロードを実行・管理・スケールするためのシステムです。ユーザーは、必要なリソース、同期するデータ、セットアップコマンド、実行コマンドを記述したYAMLファイルまたはPython APIでタスクを定義します。SkyPilotは、予約済みGPU、Kubernetesクラスター、Slurmクラスター、多数のクラウドプロバイダーから利用可能なキャパシティを探し、マシンをプロビジョニングしてログをストリーミングします。また、プロバイダーからキャパシティ不足エラーが返された場合は、自動でフェイルオーバーします。

インフラチームにとって、SkyPilotは複数のクラスターやクラウドを横断するコントロールプレーンとして機能します。gang scheduling、マルチノードジョブ、ジョブキュー、アイドル状態のリソースの自動停止、共有クラスターでのワークロードのビンパッキングを提供します。すべての処理は、ユーザー自身のクラウドアカウント、VPC、クラスター内で実行されます。

SkyPilotは、ポッドへのSSH接続、コード同期、IDE接続によるKubernetes上での対話的な開発にも対応しています。また、vLLM、SGLang、Ollamaのデプロイなど、人気モデルのトレーニング、サービング、ファインチューニング用のサンプルも含まれています。

主な機能

  • 01Kubernetes、Slurm、予約済みGPU、または20以上のクラウドプロバイダーで、単一のタスク定義を実行できます。
  • 02最も安価な利用可能キャパシティを探し、キャパシティ不足エラーが発生すると自動でフェイルオーバーします。
  • 03Kubernetes上でgang scheduling、マルチノードジョブ、ジョブキューを利用できます。
  • 04アイドル状態のリソースを自動停止し、共有クラスター上のワークロードをビンパッキングします。
  • 05KubernetesポッドへのSSH接続、コード同期、IDE接続により、対話的な開発を行えます。

ユースケース

  • キャパシティ不足を避けるため、複数のGPUクラウドを使って大規模モデルをトレーニングまたはファインチューニングする。
  • 自前のGPU上で、vLLMやSGLangなどのオープンソースLLMをサービングする。
  • インフラ担当者が管理する共有Kubernetesクラスター上で、MLチームにシンプルなジョブ実行インターフェースを提供する。
  • 自動キューイングとクリーンアップを利用して、バッチ実験やハイパーパラメータ探索を実行する。

クイックスタート

  1. 1

    使用するクラウドを選んで、uvでSkyPilotをインストールする

    uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]"
  2. 2

    サンプルプロジェクトをworkdirの場所にクローンする

    git clone https://github.com/pytorch/examples.git ~/torch_examples
  3. 3

    READMEからサンプルタスクのYAMLをmy_task.yamlとして保存する

  4. 4

    インフラ上でタスクを起動する(GPUへのアクセスが必要)

    sky launch my_task.yaml

使う前に知っておきたいこと

  • 実際のワークロードを実行するには、クラウドアカウントとクォータ、またはKubernetes/Slurmクラスターが必要です。
  • サンプルを起動するには、GPUインスタンスへのアクセスが必要です。

トピック

よくある質問

skypilot とは?
Kubernetes、Slurm、20以上のクラウドやGPUプロバイダーで、AIワークロードの実行・管理・スケールを一元的に行えるオープンソースシステム。 SkyPilotは、手元のインフラやレンタル可能なインフラ上でAIワークロードを実行・管理・スケールするためのシステムです。ユーザーは、必要なリソース、同期するデータ、セットアップコマンド、実行コマンドを記述したYAMLファイルまたはPython APIでタスクを定義します。SkyPilotは、予約済みGPU、Kubernetesクラスター、Slurmクラスター、多数のクラウドプロバイダーから利用可能なキャパシティを探し、マシンをプロビジョニングしてログをストリーミングします。また、プロバイダーからキャパシティ不足エラーが返された場合は、自動でフェイルオーバーします。
skypilot は無料で使えますか?ライセンスは?
skypilot は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
skypilot は今もメンテナンスされていますか?
活発にメンテナンス中。skypilot の最終コミットは 2026年10月20日 です。
skypilot は何に使えますか?
キャパシティ不足を避けるため、複数のGPUクラウドを使って大規模モデルをトレーニングまたはファインチューニングする。 自前のGPU上で、vLLMやSGLangなどのオープンソースLLMをサービングする。 インフラ担当者が管理する共有Kubernetesクラスター上で、MLチームにシンプルなジョブ実行インターフェースを提供する。 自動キューイングとクリーンアップを利用して、バッチ実験やハイパーパラメータ探索を実行する。
skypilot のインストール方法は?
使用するクラウドを選んで、uvでSkyPilotをインストールする: uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]" サンプルプロジェクトをworkdirの場所にクローンする: git clone https://github.com/pytorch/examples.git ~/torch_examples READMEからサンプルタスクのYAMLをmy_task.yamlとして保存する インフラ上でタスクを起動する(GPUへのアクセスが必要): sky launch my_task.yaml
skypilot はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/skypilot-org/skypilot

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト