Modal
Executing individual steps in Modal.
Last updated
Was this helpful?
Executing individual steps in Modal.
Last updated
Was this helpful?
is a platform for running cloud infrastructure. It offers specialized compute instances to run your code and has a fast execution time, especially around building Docker images and provisioning hardware. ZenML's Modal step operator allows you to submit individual steps to be run on Modal compute instances.
You should use the Modal step operator if:
You need fast execution time for steps that require computing resources (CPU, GPU, memory).
You want to easily specify the exact hardware requirements (e.g., GPU type, CPU count, memory) for each step.
You have access to Modal.
To use the Modal step operator:
if you haven't already.
Install the Modal CLI by running pip install modal
(or zenml integration install modal
) and authenticate by running modal setup
in your terminal.
To use the Modal step operator, we need:
The ZenML modal
integration installed. If you haven't done so, run
Docker installed and running.
A cloud artifact store as part of your stack. This is needed so that both your orchestration environment and Modal can read and write step artifacts. Any cloud artifact store supported by ZenML will work with Modal.
A cloud container registry as part of your stack. Any cloud container registry supported by ZenML will work with Modal.
We can then register the step operator:
Once you added the step operator to your active stack, you can use it to execute individual steps of your pipeline by specifying it in the @step
decorator as follows:
This will run my_modal_step
on a Modal instance with 1 A100 GPU, 2 CPUs, and
32GB of CPU memory.
ZenML will build a Docker image which includes your code and use it to run your steps in Modal. Check out if you want to learn more about how ZenML builds these images and how you can customize them.
You can specify the hardware requirements for each step using theResourceSettings
class as described in our documentation on :
Check out the for the full list of supported GPU types and the for more details on the available settings.
The settings do allow you to specify the region and cloud provider, but these settings are only available for Modal Enterprise and Team plan customers. Moreover, certain combinations of settings are not available. It is suggested to err on the side of looser settings rather than more restrictive ones to avoid pipeline execution failures. In the case of failures, however, Modal provides detailed error messages that can help identify what is incompatible. See more in the for more details.