What's Changed
- Update version post release by @loadams in #8070
- Validate fp16 dynamic loss scaling parameters are positive by @aryanputta in #8050
- Add merge queue DCO workflow by @tohtana in #8086
- Stop obsolete CI jobs on workflow cancellation by @tohtana in #8034
- Fix ZeRO-3: Use per-param dtype for output buffers in _allgather_params_coalesced by @albertvillanova in #8073
- fix: close file descriptor in deepspeed_io_handle_t::wait() to prevent fd leak by @MarkCLChang in #8075
- Add type hints to top-level public API functions by @arunshar in #8079
- Default gradient_clipping to 1.0 by @sfc-gh-truwase in #8068
- activation_checkpointing: default num_layers to None so configure() assert fires by @Kymi808 in #8041
- Add configurable engine log level by @sfc-gh-truwase in #8067
- [CI] diff driven test selection by @stas00 in #8077
- Enable bf16 check_grad_overflow by default (matching fp16) by @yongzhe-wang in #8035
- Support AutoEP with ZeRO-3 zero.Init source modules by @tohtana in #8060
- Update publication list in README.md by @PKUWZP in #8095
- fix: AutoTP partition_config uses full hierarchical module path by @delock in #8088
- Reject Muon optimizer with reduce_scatter in ZeRO-1/2 by @whycoming in #8090
- Fix DeepCompile profile metadata backfill by @tohtana in #8094
- Add numerical-correctness test for Muon under ZeRO-1/2 by @whycoming in #8091
- Don't swallow KeyboardInterrupt/SystemExit in NPUOpBuilder by @ajinkyajawale14499 in #8096
- Avoid CUDA context initialization during op compatibility checks at import by @Achyuthan-S in #8078
- [DeepCompile] fix gather params in dynamo skipped frames for ZeRO3 by @XAheli in #8059
- Feat: zero3 deprecate elastic checkpoint by @nathon-lee in #8099
- Fix eigenvalue parsing for compression-only quantize configs by @sowndappan5 in #8057
- fix: log eigenvalue monitor values by @he-yufeng in #8049
- Fix DeepCompile profiling memory cleanup by @tohtana in #8106
- Add optional torchembed RoPE backend to apply_rotary_pos_emb by @py-ai-dev in #8052
- Fix minor comment/docstring typos in runtime and inference modules by @nathon-lee in #8046
- feat(zenflow): run the overlapped CPU optimizer in a native process by @Antlera in #8058
- fix: add buffer-length check in shm.cpp by @orbisai0security in #8082
- Fix FlopsProfiler crash when dp_world_size is None under sequence parallelism by @vineethsaivs in #8122
- Fix Python 3.9 import-time TypeError in AutoEP ep_router by @vineethsaivs in #8119
- Add input validation for save_checkpoint and warmup LR schedulers by @jahnavi-yelamanchi in #8126
- Fix ZeRO-3: use per-param dtype for quantize-scale buffer in _allgather_params_coalesced by @roycho96 in #8128
- Fix ZeRO-3 autocast gather with mixed parameter dtypes by @tohtana in #8113
- doc: Remove suggestion to build extensions in parallel by @Flamefire in #7899
- feat(types): add type hints to public comm API functions by @NovusEdge in #8118
- Add Hybrid Engine rollout in DeepSpeed to support On-Policy Distillation (OPSD) Trainer by @PKUWZP in #8027
- Add AutoEP + AutoTP parallel folding by @tohtana in #8064
- Make DCO workflow Probot compatible by @tohtana in #8110
- ZeRO 1/2: wait on all IPG-bucket producer streams in average_tensor (#8061) by @arunshar in #8080
- Fix CommsLogger.stop_profiling_comms not disabling global profiling by @vineethsaivs in #8137
- Guard WarmupCosineLR against total_num_steps == warmup_num_steps (ZeroDivisionError) by @vineethsaivs in #8142
- Add EXAONE 4.5 model support for Inference V2 by @Bias92 in #8121
- fix(autotp): when using autotp, ignore the consistency of certain data within the tp_group. by @1787648106 in #8125
- Reduce blockDim in fake_quantize_kernel for improved SM occupancy by @flutist in #8115
- Fix DeepSpeedInferenceConfig crash on bool moe backward-compat value by @winklemad in #8145
- fix(exceptions): narrow broad Exception clauses to specific types by @sowndappan5 in #8136
- fix(muon): support ZeRO-1/2 reduce scatter by @Micuks in #8141
- [DeepCompile] Add lightweight pass contracts for optimization passes by @jahnavi-yelamanchi in #8139
- Fix DeepCompile fallback handling for scalar outputs by @tohtana in #8149
- Use synthetic CIFAR data in AlexNet tests by @tohtana in #8143
- Update CI badge by @tohtana in #8150
- Update Zhipeng Wang affiliation to Google in COMMITTERS.md by @PKUWZP in #8153
- Fix ZeRO-3 hooks for attribute-delegating modules by @Functionhx in #8144
- Fix repeated gradient scaling across pipeline stages by @Functionhx in #8154
- Z3: Support for activation ckpt with frozen params by @sfc-gh-truwase in #8148
- Adopt PTF Code of Conduct by @sfc-gh-truwase in #8165
New Contributors
- @aryanputta made their first contribution in #8050
- @albertvillanova made their first contribution in #8073
- @MarkCLChang made their first contribution in #8075
- @arunshar made their first contribution in #8079
- @Kymi808 made their first contribution in #8041
- @yongzhe-wang made their first contribution in #8035
- @whycoming made their first contribution in #8090
- @ajinkyajawale14499 made their first contribution in #8096
- @Achyuthan-S made their first contribution in #8078
- @XAheli made their first contribution in #8059
- @he-yufeng made their first contribution in #8049
- @py-ai-dev made their first contribution in #8052
- @vineethsaivs made their first contribution in #8122
- @jahnavi-yelamanchi made their first contribution in #8126
- @NovusEdge made their first contribution in #8118
- @1787648106 made their first contribution in #8125
- @winklemad made their first contribution in #8145
- @Micuks made their first contribution in #8141
- @Functionhx made their first contribution in #8144
Full Changelog: v0.19.2...v0.19.3