Overview — Ray 2.23.0 (2024)

Ray is an open-source unified framework for scaling AI and Python applications like machine learning. It provides the compute layer for parallel processing so that you don’t need to be a distributed systems expert. Ray minimizes the complexity of running your distributed individual and end-to-end machine learning workflows with these components:

  • Scalable libraries for common machine learning tasks such as data preprocessing, distributed training, hyperparameter tuning, reinforcement learning, and model serving.

  • Pythonic distributed computing primitives for parallelizing and scaling Python applications.

  • Integrations and utilities for integrating and deploying a Ray cluster with existing tools and infrastructure such as Kubernetes, AWS, GCP, and Azure.

For data scientists and machine learning practitioners, Ray lets you scale jobs without needing infrastructure expertise:

  • Easily parallelize and distribute ML workloads across multiple nodes and GPUs.

  • Leverage the ML ecosystem with native and extensible integrations.

For ML platform builders and ML engineers, Ray:

  • Provides compute abstractions for creating a scalable and robust ML platform.

  • Provides a unified ML API that simplifies onboarding and integration with the broader ML ecosystem.

  • Reduces friction between development and production by enabling the same Python code to scale seamlessly from a laptop to a large cluster.

For distributed systems engineers, Ray automatically handles key processes:

What you can do with Ray#

These are some common ML workloads that individuals, organizations, and companies leverage Ray to build their AI applications:

Ray framework#

Overview — Ray 2.23.0 (1)

Stack of Ray libraries - unified toolkit for ML workloads.

Ray’s unified compute framework consists of three layers:

  1. Ray AI Libraries–An open-source, Python, domain-specific set of libraries that equip ML engineers, data scientists, and researchers with a scalable and unified toolkit for ML applications.

  2. Ray Core–An open-source, Python, general purpose, distributed computing library that enables ML engineers and Python developers to scale Python applications and accelerate machine learning workloads.

  3. Ray Clusters–A set of worker nodes connected to a common Ray head node. Ray clusters can be fixed-size, or they can autoscale up and down according to the resources requested by applications running on the cluster.

Scale machine learning workloads

Build ML applications with a toolkit of libraries for distributeddata processing,model training,tuning,reinforcement learning,model serving,and more.

Build distributed applications

Build and run distributed applications with asimple and flexible API.Parallelize single machine code withlittle to zero code changes.

Deploy large-scale workloads

Deploy workloads on AWS, GCP, Azure oron premise.Use Ray cluster managers to run Ray on existingKubernetes,YARN,or Slurm clusters.

Each of Ray’s five native libraries distributes a specific ML task:

  • Data: Scalable, framework-agnostic data loading and transformation across training, tuning, and prediction.

  • Train: Distributed multi-node and multi-core model training with fault tolerance that integrates with popular training libraries.

  • Tune: Scalable hyperparameter tuning to optimize model performance.

  • Serve: Scalable and programmable serving to deploy models for online inference, with optional microbatching to improve performance.

  • RLlib: Scalable distributed reinforcement learning workloads.

Ray’s libraries are for both data scientists and ML engineers alike. For data scientists, these libraries can be used to scale individual workloads, and also end-to-end ML applications. For ML Engineers, these libraries provides scalable platform abstractions that can be used to easily onboard and integrate tooling from the broader ML ecosystem.

For custom applications, the Ray Core library enables Python developers to easily build scalable, distributed systems that can run on a laptop, cluster, cloud, or Kubernetes. It’s the foundation that Ray AI libraries and third-party integrations (Ray ecosystem) are built on.

Ray runs on any machine, cluster, cloud provider, and Kubernetes, and features a growingecosystem of community integrations.

Overview — Ray 2.23.0 (2024)

FAQs

What does Ray Remote do? ›

Ray lets you run functions as remote tasks in the cluster. Remote functions can be run in a separate process on the local machine - spreading out the workload over several cores. Or can be executed on remote machines in your server cluster.

Does Ray work on Windows? ›

Ray supports running on Windows with the following caveats (only the first is Ray-specific, the rest are true anywhere Windows is used): Multi-node Ray clusters are untested. Filenames are tricky on Windows and there still may be a few places where Ray assumes UNIX filenames rather than Windows ones.

What is the ray Python library? ›

Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI libraries for simplifying ML compute: Learn more about Ray AI Libraries: Data: Scalable Datasets for ML.

How does ray work? ›

A Ray cluster has a head node with a driver process and multiple worker nodes with worker processes executing tasks. In this scenario the database is only defined on the driver, but the worker processes need access to it to run the retrieve task.

What Ray does a TV remote use? ›

Infrared waves, or infrared light, are part of the electromagnetic spectrum. People encounter Infrared waves every day; the human eye cannot see it, but humans can detect it as heat. A remote control uses light waves just beyond the visible spectrum of light—infrared light waves—to change channels on your TV.

How do I run ray without dashboard? ›

You can disable the dashboard with the include-dashboard argument ( ray start --include-dashboard=false - also can be specified in cluster config yaml under head_start_ray_commands or ray. init(include_dashboard=False ). At the beginning of your script, call ray. init(include_dashboard=False) .

What is ray serve? ›

Ray Serve provides a simple Python interface for serving ML models and building AI applications – this is one of the primary reasons why developers love Ray Serve. You can build and deploy complex ML applications with only a few code annotations, leveraging the simplicity and expressiveness of Python.

What is a ray cluster? ›

A Ray cluster consists of a single head node and any number of connected worker nodes: A Ray cluster with two worker nodes.

What is Ray good for? ›

Ray's API is created to allow users to easily write flexible and modular code for artificial intelligence tasks, especially those involving reinforcement learning. As long as the workload can be expressed in Python, it can be distributed using Ray.

What does Ray get do? ›

get. Get a remote object or a list of remote objects from the object store. This method blocks until the object corresponding to the object ref is available in the local object store.

What is the Ray app? ›

Ray is a beautiful, lightweight desktop app that helps you debug your app. There's a free demo available that can be unlocked with a license. Ray supports PHP, Ruby, JavaScript, TypeScript, Node. js, Go and Bash applications.

What is the difference between ray remote and serve? ›

remote creates a single Ray actor. @serve. deployment creates a Serve deployment which is a collection of actors that are replicas of a single class or function. When you create a Serve deployment, you also launch other Serve-related actors such as the Serve controller and HTTP Proxies.

What does Ray Put do? ›

put. Store an object in the object store. The object may not be evicted while a reference to the returned ID exists.

What can a universal remote do? ›

A universal remote imitates the signals sent by your original remotes, allowing you to control multiple devices at once. It can turn your devices on and off, scroll through menus and access most of the features found on your original remotes.

Top Articles
Latest Posts
Article information

Author: Tyson Zemlak

Last Updated:

Views: 6245

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Tyson Zemlak

Birthday: 1992-03-17

Address: Apt. 662 96191 Quigley Dam, Kubview, MA 42013

Phone: +441678032891

Job: Community-Services Orchestrator

Hobby: Coffee roasting, Calligraphy, Metalworking, Fashion, Vehicle restoration, Shopping, Photography

Introduction: My name is Tyson Zemlak, I am a excited, light, sparkling, super, open, fair, magnificent person who loves writing and wants to share my knowledge and understanding with you.