Chapter 8. Ray Workflows
Real-life and modern applications in a wide range of domains are often a combination of multiple interdependent steps. For example, in AI/ML workflows, training workloads require multiple steps for data cleaning, balancing, and augmentation, while model serving often includes many subtasks and integration with long-running business processes. Different steps in the workflows can depend on multiple upstreams and sometimes require different scaling tools.
Computer libraries for workflow management date back over 25 years, with new tools focused on AI/ML emerging. Workflow specifications range from graphical user interfaces to custom formats, YAML Ain’t Markup Language (YAML) and Extensible Markup Language (XML), and libraries in full-fledged programming languages. Specifying workflows in code allows you to use general programming tools, like source control for versioning and collaboration.
In this chapter, you will learn the basics of Ray’s Workflows implementation and some simple examples of its usage.
What Is Ray Workflows?
Ray Workflows extends Ray Core by adding workflow primitives, providing support for programmatic workflow execution with a shared interface with tasks and actors. This allows you to use Ray’s core primitives as part of your workflow’s steps. Ray Workflows is targeted at supporting both traditional ML and data workflows (e.g., data preprocessing and training) and long-running business workflows, ...
Get Scaling Python with Ray now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.