Accelerate v1.8.0

v1.8.0

v1.8.0: FSDPv2 + FP8, Regional Compilation for DeepSpeed, Faster Distributed Training on Intel CPUs, ipex.optimize deprecation

Added 9
  • Added FP8 support for distributed training
  • Added support for regional compilation with the DeepSpeed engine
  • Added SwanLab as an experiment tracking backend
  • Added support for standalone mode when default port is occupied on single node
  • Added kwargs support to optimizer, scheduler, and dataloader in accelerator().load_state() function
  • Added fp8_e5m2 support in dtype_byte_size
Changed 6
  • Simplified FSDPv2 model preparation to reduce composition complexity and improve user experience
  • Updated CCL_WORKER_COUNT variable and added KMP parameters for Intel CPU users to improve distributed training performance
  • Expanded and stabilized support for Intel XPUs including FSDP2, big model inference, and tensor parallelism
  • Deferred all tracker initializations to prevent premature setup of distributed environments
  • Improved FP8 handling with and without DeepSpeed
  • Updated Gaudi runners
Fixed 3
  • Fixed bf16 training with tensor parallelism
  • Fixed list object has no attribute keys error
  • Fixed missing te.LayerNorm in intel_transformer_engine
Removed 1
  • Removed torch_ccl dependency
Deprecated 1
  • ipex.optimize is deprecated in favor of PyTorch optimizations

FSDPv2 refactor + FP8 support

We've simplified how to prepare FSDPv2 models, as there were too many ways to compose FSDP2 with other features (e.g., FP8, torch.compile, activation checkpointing, etc.). Although the setup is now more restrictive, it leads to fewer errors and a more performant user experience. We’ve also added support for FP8. You can read about the results here. Thanks to @S1ro1 for this contribution!

Faster Distributed Training on Intel CPUs

We updated the CCL_WORKER_COUNT variable and added KMP parameters for Intel CPU users. This significantly improves distributed training performance (e.g., Tensor Parallelism), with up to a 40% speed-up on Intel 4th Gen Xeon when training transformer TP models.

Regional Compilation for DeepSpeed

We added support for regional compilation with the DeepSpeed engine. DeepSpeed’s .compile() modifies models in-place using torch.nn.Module.compile(...), rather than the out-of-place torch.compile(...), so we had to account for that. Thanks @IlyasMoutawwakil for this feature!

ipex.optimize deprecation

ipex.optimize is being deprecated. Most optimizations have been upstreamed to PyTorch, and future improvements will land there directly. For users without PyTorch 2.8, we’ll continue to rely on IPEX for now.

Better XPU Support

We've greatly expanded and stabilized support for Intel XPUs:

Trackers

We've added support for SwanLab as an experiment tracking backend. Huge thanks to @ShaohonChen for this contribution ! We also deferred all tracker initializations to prevent premature setup of distributed environments.

What's Changed
New Contributors

Full Changelog: https://github.com/huggingface/accelerate/compare/v1.7.0...v1.8.0

View original

Upgraded? How did it go?

Discussion