Skypilot
Use Skypilot with ZenML.
The ZenML SkyPilot VM Orchestrator allows you to provision and manage VMs on any supported cloud provider (AWS, GCP, Azure, Lambda Labs) for running your ML pipelines. It simplifies the process and offers cost savings and high GPU availability.
Prerequisites
To use the SkyPilot VM Orchestrator, you'll need:
ZenML SkyPilot integration for your cloud provider installed (
zenml integration install <PROVIDER> skypilot_<PROVIDER>
)Docker installed and running
A remote artifact store and container registry in your ZenML stack
A remote ZenML deployment
Appropriate permissions to provision VMs on your cloud provider
A service connector configured to authenticate with your cloud provider (not needed for Lambda Labs)
Configuring the Orchestrator
Configuration steps vary by cloud provider:
AWS, GCP, Azure:
Install the SkyPilot integration and connectors extra for your provider
Register a service connector with credentials that have SkyPilot's required permissions
Register the orchestrator and connect it to the service connector
Register and activate a stack with the new orchestrator
Lambda Labs:
Install the SkyPilot Lambda integration
Register a secret with your Lambda Labs API key
Register the orchestrator with the API key secret
Register and activate a stack with the new orchestrator
Running a Pipeline
Once configured, you can run any ZenML pipeline using the SkyPilot VM Orchestrator. Each step will run in a Docker container on a provisioned VM.
Additional Configuration
You can further configure the orchestrator using cloud-specific Settings
objects:
This allows specifying VM size, spot usage, region, and more.
You can also configure resources per step:
For more details and advanced options, see the full SkyPilot VM Orchestrator documentation.
Last updated