github ray-project/ray ray-1.9.0
Ray-1.9.0

latest releases: ray-2.36.0, ray-2.35.0, ray-2.34.0...
2 years ago

Highlights

  • Ray Train is now in beta! If you are using Ray Train, we’d love to hear your feedback here!
  • Ray Docker images for multiple CUDA versions are now provided (#19505)! You can specify a -cuXXX suffix to pick a specific version.
    • ray-ml:cpu images are now deprecated. The ray-ml images are only built for GPU.
  • Ray Datasets now supports groupby and aggregations! See the groupby API and GroupedDataset docs for usage.
  • We are making continuing progress in improving Ray stability and usability on Windows. We encourage you to try it out and report feedback or issues at https://github.com/ray-project/ray/issues.
  • We are launching a Ray Job Submission server + CLI & SDK clients to make it easier to submit and monitor Ray applications when you don’t want an active connection using Ray Client. This is currently in alpha, so the APIs are subject to change, but please test it out and file issues / leave feedback on GitHub & discuss.ray.io!

Ray Autoscaler

💫Enhancements:

  • Graceful termination of Ray nodes prior to autoscaler scale down (#20013)
  • Ray Clusters on AWS are colocated in one Availability Zone to reduce costs & latency (#19051)

Ray Client

🔨 Fixes:

  • ray.put on a list of of objects now returns a single object ref (​​#19737)

Ray Core

🎉 New Features:

💫Enhancements:

🔨 Fixes:

  • Fix runtime_env hanging issues (#19823)
  • Fix specifying runtime env in @ray.remote decorator with Ray Client (#19626)
  • Threaded actor / core worker / named actor race condition fixes (#19751, #19598, #20178, #20126)

📖Documentation:

  • New page “Handling Dependencies”
  • New page “Ray Job Submission: Going from your laptop to production”

Ray Java

API Changes:

Note:

  • Use Ray.getActor(name, namespace) API to get a named actor between jobs instead of Ray.getGlobalActor(name).
  • Use PlacementGroup.getPlacementGroup(name, namespace) API to get a placement group between jobs instead of PlacementGroup.getGlobalPlacementGroup(name).

Ray Datasets

🎉 New Features:

🔨 Fixes:

  • Support custom CSV write options (#19378)

🏗 Architecture refactoring:

  • Optimized block compaction (#19681)

Ray Workflow

🎉 New Features:

  • Workflow right now support events (#19239)
  • Allow user to specify metadata for workflow and steps (#19372)
  • Allow in-place run a step if the resources match (#19928)

🔨 Fixes:

  • Fix the s3 path issue (#20115)

RLlib

🏗 Architecture refactoring:

  • “framework=tf2” + “eager_tracing=True” is now (almost) as fast as “framework=tf”. A check for tf2.x eager re-traces has been added making sure re-tracing does not happen outside the initial function calls. All CI learning tests (CartPole, Pendulum, FrozenLake) are now also run as framework=tf2. (#19273, #19981, #20109)
  • Prepare deprecation of build_trainer/build_(tf_)?policy utility functions. Instead, use sub-classing of Trainer or Torch|TFPolicy. POCs done for PGTrainer, PPO[TF|Torch]Policy. (#20055, #20061)
  • V-trace (APPO & IMPALA): Don’t drop last ts can be optionally switch on. The default is still to drop it, but this may be changed in a future release. (#19601)
  • Upgrade to gym 0.21. (#19535)

🔨 Fixes:

📖Documentation:

Tune

💫Enhancements:

🔨Fixes:

  • Documentation fixes (#20130, #19791)
  • Tutorial fixes (#20065, #19999)
  • Drop 0 value keys from PGF (#20279)
  • Fix shim error message for scheduler (#19642)
  • Avoid looping through _live_trials twice in _get_next_trial. (#19596)
  • clean up legacy branch in update_avail_resources. (#20071)
  • fix Train/Tune integration on Client (#20351)

Train

Ray Train is now in Beta! The beta version includes various usability improvements for distributed PyTorch training and checkpoint management, support for Ray Client, and an integration with Ray Datasets for distributed data ingest.

Check out the docs here, and the migration guide from Ray SGD to Ray Train here. If you are using Ray Train, we’d love to hear your feedback here!

🎉 New Features:

  • New train.torch.prepare_model(...) and train.torch.prepare_data_loader(...) API to automatically handle preparing your PyTorch model and DataLoader for distributed training (#20254).
  • Checkpoint management and support for custom checkpoint strategies (#19111).
  • Easily configure what and how many checkpoints to save to disk.
  • Support for Ray Client (#20123, #20351).

💫Enhancements:

  • Simplify workflow for training with a single worker (#19814).
  • Ray Placement Groups are used for scheduling the training workers (#20091).
  • PACK strategy is used by default but can be changed by setting the TRAIN_ENABLE_WORKER_SPREAD environment variable.
  • Automatically unwrap Torch DDP model and convert to CPU when saving a model as checkpoint (#20333).

🔨Fixes:

  • Fix HorovodBackend to automatically detect NICs- thanks @tgaddair! (#19533).

📖Documentation:

  • Denote public facing APIs with beta stability (#20378)
  • Doc updates (#20271)

Serve

We would love to hear from you! Fill out the Ray Serve survey here.

🎉 New Features:

🔨Fixes:

  • Serve deployment functions or classes can take no parameters (#19708)
  • Replica slow start message is improved. You can now see whether it is slow to allocate resources or slow to run constructor. (#19431)
  • pip install ray[serve] will now install ray[default] as well. (#19570)

🏗 Architecture refactoring:

Dashboard

  • Ray Dashboard is now enabled on Windows! (#19575)

Thanks

Many thanks to all those who contributed to this release!
@krfricke, @stefanbschneider, @ericl, @nikitavemuri, @qicosmos, @worldveil, @triciasfu, @AmeerHajAli, @javi-redondo, @architkulkarni, @pdames, @clay4444, @mGalarnyk, @liuyang-my, @matthewdeng, @suquark, @rkooo567, @mwtian, @chenk008, @dependabot[bot], @iycheng, @jiaodong, @scv119, @oscarknagg, @Rohan138, @stephanie-wang, @Zyiqin-Miranda, @ijrsvt, @roireshef, @tkaymak, @simon-mo, @ashione, @jovany-wang, @zenoengine, @tgaddair, @11rohans, @amogkam, @zhisbug, @lchu-ibm, @shrekris-anyscale, @pcmoritz, @yiranwang52, @mattip, @sven1977, @Yard1, @DmitriGekhtman, @ckw017, @WangTaoTheTonic, @wuisawesome, @kcpevey, @kfstorm, @rhamnett, @renos, @TeoZosa, @SongGuyang, @clarkzinzow, @avnishn, @iasoon, @gjoliver, @jjyao, @xwjiang2010, @dmatrix, @edoakes, @czgdp1807, @heng2j, @sungho-joo, @lixin-wei

Don't miss a new ray release

NewReleases is sending notifications on new releases.