Accelerate 1.0.0 Release Candidate Announcement

TL;DR

Accelerate 1.0.0 release candidates are now available, bringing FP8 support, DeepSpeed multi‑model orchestration, torch.compile integration, and new data‑loader and pipeline primitives, while stabilizing the API for large‑scale training and inference.


What Accelerate 1.0.0 Is

Accelerate has evolved from a simple multi‑GPU/TPU helper into a full‑stack library that powers most Hugging Face packages, including transformers, diffusers, peft, and trl. Version 1.0.0 marks the first release‑candidate series and consolidates a set of features that make the library ready for the era of 400 B‑parameter models.

Key capabilities include:

  • Unified low‑level training API – supports six hardware back‑ends (CPU, GPU, TPU, XPU, NPU, MLU) while preserving 99 % of the original PyTorch training loop.
  • Command‑line launcher – a accelerate launch interface that abstracts hardware configuration for scripts.
  • Big‑model inference – the device_map="auto" mechanism that enables inference and parameter‑efficient fine‑tuning on limited resources.

These components have made Accelerate the de‑facto foundation for large‑scale model development at Hugging Face.


Why the 1.0 Milestone Matters

The 1.0 release was delayed until the library reached a "feature‑complete" state around the Accelerator object. The following missing pieces were added to justify a stable 1.0 version:

  • FP8 training support – integration with both MS‑AMP and TransformersEngine (see the FP8 benchmark directories in the repo).
  • DeepSpeed multi‑model orchestration – experimental support for training multiple models simultaneously.
  • torch.compile compatibility – enabled for the big‑model inference API (requires torch>=2.5).
  • torch.distributed.pipelining – offered as an alternative distributed inference strategy.
  • torchdata.StatefulDataLoader – provided as an optional data‑loading mechanism.

With these additions, Accelerate can now accommodate emerging hardware and software trends without breaking the public API.


Future Direction of Accelerate

Accelerate 1.0 is positioned as a platform for rapid integration of upcoming PyTorch innovations. The team anticipates several areas of evolution:

  • DeepSpeed multi‑model API – may require substantial API redesign to simplify wrapping of arbitrary model collections.
  • Native FP8, new sharding, and FSDPv2 – as torchao and torchtitan mature, Accelerate will adapt its internals to expose these capabilities while keeping the user‑level experience stable.
  • Benchmarking suite for FP8 variants – Accelerate aims to provide out‑of‑the‑box performance comparisons between FP8 implementations (transformer_engine, MS‑AMP, nanotron, etc.) and baseline BF16.

The overarching goal is to lower the barrier for researchers to experiment with cutting‑edge distributed training techniques and to keep pace with the fast‑moving PyTorch ecosystem.


How to Try Accelerate 1.0.0 RC

The release candidates are distributed via pip and Docker. Install the pre‑release package with:

pip install --pre accelerate

Or pull a Docker image:

docker pull huggingface/accelerate:gpu-release-1.0.0rc1

Available tags include:

  • gpu-release-1.0.0rc1
  • cpu-release-1.0.0rc1
  • gpu-fp8-transformerengine-release-1.0.0rc1
  • gpu-deepspeed-release-1.0.0rc1

These images contain the corresponding optional dependencies (FP8, DeepSpeed, etc.).


Migration Assistance – Breaking Changes and Deprecations

Accelerate 1.0 introduces several deprecations that require code updates:

  • Data‑loader configuration – arguments dispatch_batches, split_batches, even_batches, and use_seedable_sampler must now be supplied via accelerate.utils.DataLoaderConfiguration and passed to Accelerator as Accelerator(dataloader_config=DataLoaderConfiguration(...)).
  • Mixed‑precision flagsAccelerator().use_fp16 and AcceleratorState().use_fp16 are removed; use accelerator.mixed_precision == "fp16" instead.
  • Autocast API – the cache_enabled argument is no longer accepted. Provide an AutocastKwargs(cache_enabled=True) instance via Accelerator(kwargs_handlers=[AutocastKwargs(... )]).
  • TPU detection – replace accelerate.utils.is_tpu_available with accelerate.utils.is_torch_xla_available.
  • Checkpoint sharding – replace accelerate.utils.modeling.shard_checkpoint with split_torch_state_dict_into_shards from the huggingface_hub library.
  • tqdm wrapper – the first positional argument (boolean) is removed; use the named argument main_process_only.
  • Rich traceback control – the environment variable ACCELERATE_DISABLE_RICH is obsolete; enable rich tracebacks with ACCELERATE_ENABLE_RICH=1.
  • FSDP backward prefetch – the setting fsdp_backward_prefetch_policy is renamed to fsdp_backward_prefetch.

The documentation provides migration guides and examples for each change.


Closing Thoughts

Accelerate has grown from a modest utility to a cornerstone of the Hugging Face ecosystem, accumulating over 100 million total downloads and roughly 300 000 daily downloads. The 1.0.0 release candidates give the community a chance to test the new features and migrate before the final launch. Users are encouraged to follow the project on GitHub and Hugging Face socials for updates.


References

Sources