github ray-project/ray ray-1.4.0
Ray-1.4.0

latest releases: ray-2.20.0, ray-2.12.0, ray-2.11.0...
2 years ago

Release 1.4.0 Notes

Ray Autoscaler

🎉 New Features:

  • Support Helm Chart for deploying Ray on Kubernetes
  • Key Autoscaler metrics are now exported via Prometheus!

💫Enhancements

  • Better error messages when a node fails to come online

🔨 Fixes:

  • Stability and interface fixes for Kubernetes deployments.
  • Fixes to Azure NodeProvider

Ray Client

🎉 New Features:

  • Complete API parity with non-client mode
  • Experimental ClientBuilder API (docs here)
  • Full Asyncio support

💫Enhancements

  • Keep Alive for Messages for long lived connections
  • Improved pickling error messages

🔨 Fixes:

  • Client Disconnect can be called multiple times
  • Client Reference Equality Check
  • Many bug fixes and tests for the complete ray API!

Ray Core

🎉 New Features:

  • Namespaces (check out the docs)! Note: this may be a breaking change if you’re using detached actors (set ray.init(namespace=””) for backwards compatible behavior).

🔨 Fixes:

  • Support increment by arbitrary number with ray.util.metrics.Counter
  • Various bug fixes for the placement group APIs including the GPU assignment bug (#15049).

🏗 Architecture refactoring:

  • Increase the efficiency and robustness of resource reporting

Ray Data Processing

🔨 Fixes:

🏗 Architecture refactoring:

  • Ray 100TB shuffle results: #15770
  • More robust memory management subsystem is in progress (#15157, #15027)

RLlib

🎉 New Features:

  • PyTorch multi-GPU support (#14709, #15492, #15421).
  • CQL TensorFlow support (#15841).
  • Task-settable Env/Curriculum Learning API (#15740).
  • Support for native tf.keras Models (no ModelV2 required) (#14684, #15273).
  • Trainer.train() and Trainer.evaluate() can run in parallel (optional) (#15040, #15345).

💫Enhancements and documentation:

  • CQL: Bug fixes and confirmed MuJoCo benchmarks (#15814, #15603, #15761).
  • Example for differentiable neural computer (DNC) network (#14844, 15939).
  • Added support for int-Box action spaces. (#15012)
  • DDPG/TD3/A[23]C/MARWIL/BC: Code cleanup and type annotations. (#14707).
  • Example script for restoring 1 agent out of n
  • Examples for fractional GPU usage. (15334)
  • Enhanced documentation page describing example scripts and blog posts (15763).
  • Various enhancements/test coverage improvements: 15499, 15454, 15335, 14865, 15525, 15290, 15611, 14801, 14903, 15735, 15631,

🔨 Fixes:

  • Memory Leak in multi-agent environment (#15815). Shoutout to Bam4d!
  • DDPG PyTorch GPU bug. (#16133)
  • Simple optimizer should not be used by default for tf+MA (#15365)
  • Various bug fixes: #15762, 14843, 15042, 15427, 15871, 15132, 14840, 14386, 15014, 14737, 15015, 15733, 15737, 15736, 15898, 16118, 15020, 15218, 15451, 15538, 15610, 15326, 15295, 15762, 15436, 15558, 15937

🏗 Architecture refactoring:

  • Remove atari dependency (#15292).
  • Trainer._evaluate() renamed to Trainer.evaluate() (backward compatible); Trainer.evaluate() can be called even w/o evaluation worker set, if create_env_on_driver=True (#15591).

Tune

🎉 New Features:

  • ASHA scheduler now supports save/restore. (#15438)
  • Add HEBO to search algorithm shim function (#15468)
  • Add SkoptSearcher/Bayesopt Searcher restore functionality (#15075)

💫Enhancements:

  • We now document scalability best practices (k8s, scalability thresholds). You can find this here (#14566)
  • You can now set the result buffer_length via tune.run - this helps with trials that report too frequently. (#15810)
  • Support numpy types in TBXlogger (#15760)
  • Add max_concurrent option to BasicVariantGenerator (#15680)
  • Add seed parameter to OptunaSearch (#15248)
  • Improve BOHB/ConfigSpace dependency check (#15064)

🔨Fixes:

  • Reduce default number of maximum pending trials to max(16, cluster_cpus) (#15628)
  • Return normalized checkpoint path (#15296)
  • Escape paths before globbing in TrainableUtil.get_checkpoints_paths (#15368)
  • Optuna Searcher: Set correct Optuna TrialState on trial complete (#15283)
  • Fix type annotation in tune.choice (#15038)
  • Avoid system exit error by using del when cleaning up actors (#15687)

Serve

🎉 New Features:

  • As of Ray 1.4, Serve has a new API centered around the concept of “Deployments.” Deployments offer a more streamlined API and can be declaratively updated, which should improve both development and production workflows. The existing APIs have not changed from Ray 1.4 and will continue to work until Ray 1.5, at which point they will be removed (see the package reference if you’re not sure about a specific API). Please see the migration guide for details on how to update your existing Serve application to use this new API.
  • New serve.deployment API: @serve.deployment, serve.get_deployments, serve.list_deployments (#14935, #15172, #15124, #15121, #14953, #15152, #15821)
  • New serve.ingress(fastapi_app) API (#15445, 15441, 14858)
  • New @serve.batch decorator in favor of legacy max_batch_size in backend config (#15065)
  • serve.start() is now idempotent (#15148)
  • Added support for handle.method_name.remote() (#14831)

🔨Fixes:

  • Rolling updates for redeployments (#14803)
  • Latency improvement by using pickle (#15945)
  • Controller and HTTP proxy uses num_cpus=0 by default (#15000)
  • Health checking in the controller instead of using max_restarts (#15047)
  • Use longest prefix matching for path routing (#15041)

Dashboard

🎉New Features:

🔨Fixes:

  • Add object store memory column (#15697)
  • Add object store stats to dashboard API. (#15677)
  • Remove disk data from the dashboard when running on K8s. (#14676)
  • Fix reported dashboard ip when using 0.0.0.0 (#15506)

Thanks

Many thanks to all those who contributed to this release!

@clay4444, @Fabien-Couthouis, @mGalarnyk, @smorad, @ckw017, @ericl, @antoine-galataud, @pleiadesian, @DmitriGekhtman, @robertnishihara, @Bam4d, @fyrestone, @stephanie-wang, @kfstorm, @wuisawesome, @rkooo567, @franklsf95, @micahtyong, @WangTaoTheTonic, @krfricke, @hegdeashwin, @devin-petersohn, @qicosmos, @edoakes, @llan-ml, @ijrsvt, @richardliaw, @Sertingolix, @ffbin, @simjay, @AmeerHajAli, @simon-mo, @tom-doerr, @sven1977, @clarkzinzow, @mxz96102, @SebastianBo1995, @amogkam, @iycheng, @sumanthratna, @Catch-Bull, @pcmoritz, @architkulkarni, @stefanbschneider, @tgaddair, @xcharleslin, @cthoyt, @fcardoso75, @Jeffwan, @mvindiola1, @michaelzhiluo, @rlan, @mwtian, @SongGuyang, @YeahNew, @kathryn-zhou, @rfali, @jennakwon06, @Yeachan-Heo

Don't miss a new ray release

NewReleases is sending notifications on new releases.