# Ray 2.5.0 — Ray-2.5.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2023-06-08 - Version: 2.5.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.5.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.5.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Support for checkpointing distributed models in Ray Train - **added** — PyTorch Lightning FSDP support in LightningTrainer to enable training large models on Ray Train - **added** — Support for streaming responses and model multiplexing in Ray Serve and Core for LLM applications - **changed** — Enable strict mode by default in Ray Data, requiring schemas for all Datasets and removing support for standalone Python objects - **changed** — Set default batch format to NumPy in Ray Data for better performance in batch inference - **added** — Support for multi-GPU training in RLlib - **added** — Enable lightweight resource broadcasting feature in Ray Core to improve reliability and scalability - **added** — Add column API to Dataset - **added** — Configure progress bars via DataContext - **added** — Support using concurrent actors for ActorPool - **added** — Add take_batch API for collecting data in the same format as iter_batches and map_batches - **added** — Add alias parameters to the aggregate function and add quantile function - **changed** — Add RunConfig.storage_path to replace SyncConfig.upload_dir and RunConfig.local_dir - **changed** — Use Ray storage URI as default storage path if configured - **changed** — Use wait based prefetcher by default in Ray Data - **changed** — Require compute spec to be explicitly spelled out - **fixed** — Fix bugs in handling of nested ndarrays and other complex object types - **fixed** — Fix backpressure handling when reading directly from input datasource - **fixed** — Fix backpressure handling of queued actor pool tasks - **fixed** — Fix row count after applying filter The Ray 2.5 release features focus on a number of enhancements and improvements across the Ray ecosystem, including: * Training LLMs with Ray Train: New support for checkpointing distributed models, and Pytorch Lightning FSDP to enable training large models on Ray Train’s LightningTrainer * LLM applications with Ray Serve & Core: New support for streaming responses and model multiplexing * Improvements to Ray Data: In 2.5, [strict mode ](https://docs.ray.io/en/master/data/faq.html#migrating-to-strict-mode)is enabled by default. This means that schemas are required for all Datasets, and standalone Python objects are no longer supported. Also, the default batch format is fixed to NumPy, giving better performance for [batch inference](https://docs.ray.io/en/master/data/batch_inference.html). * RLlib enhancements: New support for multi-gpu training, along with [ray-project/rllib-contrib](https://github.com/ray-project/rllib-contrib) to contain the community contributed algorithms * Core enhancements: Enable new feature of lightweight resource broadcasting to improve reliability and scalability. Add many enhancements for Core reliability, logging, scheduler, and worker process. #### Ray Libraries ##### Ray AIR 💫Enhancements: * Experiment restore stress tests (#33706) * Context-aware output engine * Add parameter columns to status table (#35388) * Context-aware output engine: Add docs, experimental feature docs, prepare default on (#35129) * Fix trial status at end (more info + cut off) (#35128) * Improve leaked mentions of Tune concepts (#35003) * Improve passed time display (#34951) * Use flat metrics in results report, use Trainable._progress_metrics (#35035) * Print experiment information at experiment start (#34952) * Print single trial config + results as table (#34788) * Print out worker ip for distributed train workers. (#33807) * Minor fix to print configuration on start. (#34575) * Check `air_verbosity` against None. (#33871) * Better wording for empty config. (#33811) * Flatten config and metrics before passing to mlflow (#35074) * Remote_storage: Prefer fsspec filesystems over native pyarrow (#34663) * Use filesystem wrapper to exclude files from upload (#34102) * GCE test variants for air_benchmark and air_examples (#34466) * New storage path configuration * Add `RunConfig.storage_path` to replace `SyncConfig.upload_dir` and `RunConfig.local_dir`. (#33463) * Use Ray storage URI as default storage path, if configured [no_early_kickoff] (#34470) * Move to new storage_path API in tests and examples (#34263) 🔨 Fixes: * Store unflattened metrics in _TrackedCheckpoint (#35658) (#35706) * Fix `test_tune_torch_get_device_gpu` race condition (#35004) * Deflake test_e2e_train_flow.py (#34308) * Pin deepspeed version for now to unblock ci. (#34406) * Fix AIR benchmark configuration link failure. (#34597) * Fix unused config building function in lightning MNIST example. 📖Documentation: * Change doc occurrences of ray.data.Dataset to ray.data.Datastream (#34520) * DreamBooth example: Fix code for batch size > 1 (#34398) * Synced tabs in AIR getting started (#35170) * New Ray AIR link for try it out (#34924) * Correctly Render the Enumerate Numbers in `convert_torch_code_to_ray_air` (#35224) ##### Ray Data Processing 🎉 New Features: * Implement Strict Mode and enable it by default. * Add column API to Dataset (#35241) * Configure progress bars via DataContext (#34638) * Support using concurrent actors for ActorPool (#34253) * Add take_batch API for collecting data in the same format as iter_batches and map_batches (#34217) 💫Enhancements: * Improve map batches error message for strict mode migration (#35368) * Improve docstring and warning message for from_huggingface (#35206) * Improve notebook widget display (#34359) * Implement some operator fusion logic for the new backend (#35178 #34847) * Use wait based prefetcher by d _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.5.0]_