ray-1.10.0
版本发布时间: 2022-02-05 03:23:01
ray-project/ray最新发布版本:ray-2.37.0(2024-09-25 07:37:52)
Highlights
- 🎉 Ray Windows support is now in beta – a significant fraction of the Ray test suite is now passing on Windows. We are eager to learn about your experience with Ray 1.10 on Windows, please file issues you encounter at https://github.com/ray-project/ray/issues. In the upcoming releases we will spend more time on making Ray Serve and Runtime Environment tests pass on Windows and on polishing things.
Ray Autoscaler
💫Enhancements:
- Add autoscaler update time to prometheus metrics (#20831)
- Fewer non terminated nodes calls in autoscaler update (#20359, #20623)
🔨 Fixes:
- GCP TPU autoscaling fix (#20311)
- Scale-down stability fix (#21204)
- Report node launch failure in driver logs (#20814)
Ray Client
💫Enhancements
- Client task options are encoded with pickle instead of json (#20930)
Ray Core
🎉 New Features:
-
runtime_env
’spip
field now installs pip packages in your existing environment instead of installing them in a new isolated environment. (#20341)
🔨 Fixes:
- Fix bug where specifying runtime_env conda/pip per-job using local requirements file using Ray Client on a remote cluster didn’t work (#20855)
- Security fixes for
log4j2
– thelog4j2
version has been bumped to 2.17.1 (#21373)
💫Enhancements:
- Allow runtime_env working_dir and py_modules to be pathlib.Path type (#20853, #20810)
- Add environment variable to skip local runtime_env garbage collection (#21163)
- Change runtime_env error log to debug log (#20875)
- Improved reference counting for runtime_env resources (#20789)
🏗 Architecture refactoring:
- Refactor runtime_env to use protobuf for multi-language support (#19511)
📖Documentation:
- Add more comprehensive runtime_env documentation (#20222, #21131, #20352)
Ray Data Processing
🎉 New Features:
- Added stats framework for debugging Datasets performance (#20867, #21070)
- [Dask-on-Ray] New config helper for enabling the Dask-on-Ray scheduler (#21114)
💫Enhancements:
- Reduce memory usage during when converting to a Pandas DataFrame (#20921)
🔨 Fixes:
- Fix slow block evaluation when splitting (#20693)
- Fix boundary sampling concatenation on non-uniform blocks (#20784)
- Fix boolean tensor column slicing (#20905)
🏗 Architecture refactoring:
- Refactor table block structure to support more tabular block formats (#20721)
RLlib
🎉 New Features:
- Support for RE3 exploration algorithm (for tf only). (#19551)
- Environment pre-checks, better failure behavior and enhanced environment API. (#20481, #20832, #20868, #20785, #21027, #20811)
🏗 Architecture refactoring:
- Evaluation: Support evaluation setting that makes sure
train
doesn't ever have to wait foreval
to finish (b/c of long episodes). (#20757); Always attach latest eval metrics. (#21011) - Soft-deprecate
build_trainer()
utility function in favor of sub-classingTrainer
directly (and overriding some of its methods). (#20635, #20636, #20633, #20424, #20570, #20571, #20639, #20725) - Experimental no-flatten option for actions/prev-actions. (#20918)
- Use
SampleBatch
instead of an input dict whenever possible. (#20746) - Switch off
Preprocessors
by default forPGTrainer
(experimental). (#21008) - Toward a Replay Buffer API (cleanups; docstrings; renames; move into
rllib/execution/buffers
dir) (#20552)
📖Documentation:
- Overhaul of auto-API reference pages. (#19786, #20537, #20538, #20486, #20250)
- README and RLlib landing page overhaul (#20249).
- Added example containing code to compute an adapted (time-dependent) GAE used by the PPO algorithm (#20850).
🔨 Fixes:
- Smaller fixes and enhancements: #20704, #20541, #20793, #20743.
Tune
🎉 New Features:
- Introduce TrialCheckpoint class, making checkpoint down/upload easie (#20585)
- Add random state to
BasicVariantGenerator
(#20926) - Multi-objective support for Optuna (#20489)
💫Enhancements:
- Add
set_max_concurrency
to Searcher API (#20576) - Allow for tuples in _split_resolved_unresolved_values. (#20794)
- Show the name of training func, instead of just ImplicitFunction. (#21029)
- Enforce one future at a time for any given trial at any given time. (#20783)
move
on_no_available_trials
to a subclass underrunner
(#20809) - Clean up code (#20555, #20464, #20403, #20653, #20796, #20916, #21067)
- Start restricting TrialRunner/Executor interface exposures. (#20656)
- TrialExecutor should not take in Runner interface. (#20655)
🔨Fixes:
- Deflake test_tune_restore.py (#20776)
- Fix best_trial_str for nested custom parameter columns (#21078)
- Fix checkpointing error message on K8s (#20559)
- Fix testResourceScheduler and testMultiStepRun. (#20872)
- Fix tune cloud tests for function and rllib trainables (#20536)
- Move _head_bundle_is_empty after conversion (#21039)
- Elongate test_trial_scheduler_pbt timeout. (#21120)
Train
🔨Fixes:
- Ray Train environment variables are automatically propagated and do not need to be manually set on every node (#20523)
- Various minor fixes and improvements (#20952, #20893, #20603, #20487) 📖Documentation:
- Update saving/loading checkpoint docs (#20973). Thanks @jwyyy!
- Various minor doc updates (#20877, #20683)
Serve
💫Enhancements:
- Add validation to Serve AutoscalingConfig class (#20779)
- Add Serve metric for HTTP error codes (#21009)
🔨Fixes:
- No longer create placement group for deployment with no resources (#20471)
- Log errors in deployment initialization/configuration user code (#20620)
Jobs
🎉 New Features:
- Logs can be streamed from job submission server with
ray job logs
command (#20976) - Add documentation for ray job submission (#20530)
- Propagate custom headers field to JobSubmissionClient and apply to all requests (#20663)
🔨Fixes:
- Fix job serve accidentally creates local ray processes instead of connecting (#20705)
💫Enhancements:
- [Jobs] Update CLI examples to use the same setup (#20844)
Thanks
Many thanks to all those who contributed to this release!
@dmatrix, @suquark, @tekumara, @jiaodong, @jovany-wang, @avnishn, @simon-mo, @iycheng, @SongGuyang, @ArturNiederfahrenhorst, @wuisawesome, @kfstorm, @matthewdeng, @jjyao, @chenk008, @Sertingolix, @larrylian, @czgdp1807, @scv119, @duburcqa, @runedog48, @Yard1, @robertnishihara, @geraint0923, @amogkam, @DmitriGekhtman, @ijrsvt, @kk-55, @lixin-wei, @mvindiola1, @hauntsaninja, @sven1977, @Hankpipi, @qbphilip, @hckuo, @newmanwang, @clay4444, @edoakes, @liuyang-my, @iasoon, @WangTaoTheTonic, @fgogolli, @dproctor, @gramhagen, @krfricke, @richardliaw, @bveeramani, @pcmoritz, @ericl, @simonsays1980, @carlogrisetti, @stephanie-wang, @AmeerHajAli, @mwtian, @xwjiang2010, @shrekris-anyscale, @n30111, @lchu-ibm, @Scalsol, @seonggwonyoon, @gjoliver, @qicosmos, @xychu, @iamhatesz, @architkulkarni, @jwyyy, @rkooo567, @mattip, @ckw017, @MissiontoMars, @clarkzinzow