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 launchinterface 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
torchaoandtorchtitanmature, 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.0rc1cpu-release-1.0.0rc1gpu-fp8-transformerengine-release-1.0.0rc1gpu-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, anduse_seedable_samplermust now be supplied viaaccelerate.utils.DataLoaderConfigurationand passed toAcceleratorasAccelerator(dataloader_config=DataLoaderConfiguration(...)). - Mixed‑precision flags –
Accelerator().use_fp16andAcceleratorState().use_fp16are removed; useaccelerator.mixed_precision == "fp16"instead. - Autocast API – the
cache_enabledargument is no longer accepted. Provide anAutocastKwargs(cache_enabled=True)instance viaAccelerator(kwargs_handlers=[AutocastKwargs(... )]). - TPU detection – replace
accelerate.utils.is_tpu_availablewithaccelerate.utils.is_torch_xla_available. - Checkpoint sharding – replace
accelerate.utils.modeling.shard_checkpointwithsplit_torch_state_dict_into_shardsfrom thehuggingface_hublibrary. - tqdm wrapper – the first positional argument (boolean) is removed; use the named argument
main_process_only. - Rich traceback control – the environment variable
ACCELERATE_DISABLE_RICHis obsolete; enable rich tracebacks withACCELERATE_ENABLE_RICH=1. - FSDP backward prefetch – the setting
fsdp_backward_prefetch_policyis renamed tofsdp_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
- Accelerate GitHub repository: https://github.com/huggingface/accelerate
- FP8 benchmark directories: https://github.com/huggingface/accelerate/tree/main/benchmarks/fp8
- DeepSpeed multi‑model guide: https://huggingface.co/docs/accelerate/usage_guides/deepspeed_multiple_model
- Distributed inference pipeline guide: https://huggingface.co/docs/accelerate/main/en/usage_guides/distributed_inference#memory-efficient-pipeline-parallelism-experimental
Sources
- OriginalAccelerate 1.0.0