Accelerate v1.11.0

v1.11.0

v1.11.0: TE MXFP8, FP16/BF16 with MPS, Python 3.10

Added 6
  • Support for MXFP8 in TransformerEngine integration with use_mxfp8_block_scaling option in fp8_config
  • BF16 and FP16 mixed precision support for MPS devices on Mac
  • Support for ignored_params in FSDPv2
  • Support for no_sync() gradient synchronization control in FSDPv2
  • Allow mixed precision policy as dtype string from accelerate CLI flag or fsdp_config
  • Add to_json method for nd-parallelism
Changed 4
  • Make torch_native_parallelism examples device agnostic
  • Update nd-parallel examples and cleanup
  • Refactor Accelerator.autocast() to use with statement instead of __enter__() and __exit__() methods
  • Drop support for Python 3.9 and bump minimum version to Python 3.10
Fixed 9
  • CPU RAM efficient loading for nd or HSDP parallelisms
  • XPU INT64 all_gather issue
  • Specify device_ids in torch.distributed.barrier for PartialState
  • Specify device for process_tensor in example usage
  • Reduce complexity of get_balanced_memory by adding a set
  • Skip CUDA cache flush when origin device is cpu and offloaded to meta
Removed 1
  • Remove deprecated FindTiedParametersResult
TE MXFP8 support

We've added support for MXFP8 in our TransformerEngine integration. To use that, you need to set use_mxfp8_block_scaling in fp8_config. See nvidia docs [here]. (https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/examples/fp8_primer.html#MXFP8-and-block-scaling)

FP16/BF16 Training for MPS devices

BF16 and FP16 support for MPS devices is finally here. You can now pass mixed_precision = "fp16" or "bf16" when training on a mac (fp16 requires torch 2.8 and bf16 requires torch 2.6)

FSDP updates

The following PRs add respectively support to ignored_params and no_sync() for FSDPv2:

Mixed precision can now be passed as a dtype string from accelerate cli flag or fsdp_config in accelerate config file:

Nd-parallel updates

Some minor updates concerning nd-parallelism.

Bump to Python 3.10

We've dropped support for python 3.9 as it reached EOL in October.

Lots of minor fixes:
New Contributors

Full Changelog: https://github.com/huggingface/accelerate/compare/v1.10.1...v1.11.0

View original

Upgraded? How did it go?

Discussion