What is Ray?
Ray is an open source framework for building, deploying, and serving AI and ML applications using distributed compute resources.
Ray excels when applications need to scale to many machines and optimizes resource utilization for workloads that require both CPUs and GPUs.
Anyscale, founded by the original creators of Ray, provides a unified platform that simplifies the deployment, scaling, and management of Ray workloads in production environments.
What are common workloads for Ray?
The Ray AI libraries provide high-level APIs for completing most common data, AI, and ML tasks. The following are examples of common workloads:
- Batch inference.
- LLMs and gen AI.
- Model serving.
- Feature engineering and data preprocessing.
- Hyperparameter tuning.
- Distributing training.
- Reinforcement learning.
What are the core features of Ray?
Ray provides a set of specialized libraries built on top of Ray Core. These libraries work together seamlessly to help you build end-to-end ML applications. Each library focuses on a specific part of the ML workflow, from data processing to model deployment.
Ray Core is the underlying common code base for the Ray AI libraries. Advanced Ray users extend the logic in Ray AI libraries by writing custom methods using lower-level Ray Core primitives. See What is Ray Core?.
All Ray apps deploy as Ray clusters. Anyscale supports deploying Ray clusters using virtual machines or Kubernetes. See Define a Ray cluster.
What is RayTurbo?
RayTurbo is the proprietary version of Ray deployed on Anyscale. Anyscale improves Ray performance using a combination of fine-tuned infrastructure, advanced checkpointing, and engine optimizations.
RayTurbo uses the same APIs and libraries as Ray, meaning you can develop code in the environment of your choice and deploy to an optimized environment with Anyscale.
What is Ray Data?
Ray Data is a scalable data processing library built on Ray, designed for machine learning and AI workloads. It provides flexible and high-performance APIs for data loading, transformation, and consumption. In the Ray ecosystem, it is the primary tool for preprocessing, feature engineering, batch inference, and data ingestion for ML training.
Ray Data specializes in processing multimodal data, including video, audio, unstructured text, and images. It has support for structured and semi-structured data formats such as Parquet, CSV, and JSON.
To maximize utilization of CPU and GPU resources, Ray Data parallelizes all steps in data processing pipelines. Instead of distributing the entire dataset, Ray passes batches of data through pipeline logic with tasks distributed to the compute resources best suited for that computation.
For more details on Ray Data, see the Ray Data overview.