Accelerate v1.9.0

v1.9.0

v1.9.0: Trackio support, Model loading speedup, Minor distributed improvements

Added 2
  • Add support for trackio experiment tracking library with local-first design and Hugging Face Spaces integration
  • Add support for e5e2 and default to hybrid mode when launcher is used
Changed 4
  • Improve model loading speed by 4-5x when using set_module_tensor_to_device with new clear_device option and non_blocking transfers
  • Change find_executable_batch_size() default back-off strategy from halving batch size to multiplying by 0.9 to reduce GPU capacity waste
  • Add warnings for invalid keys
  • Update Gaudi runner image to latest SynapseAI and enable previously disabled tests
Fixed 6
  • Fix FP8 to work without direct Accelerator() configuration
  • Fix proper error handling when using DDP with Dtensor model
  • Fix fsdp2 example typo
  • Add check in no_sync() to avoid errors when using deepspeed zero2/3
  • Fix wandb config not being saved in offline mode
  • Prevent yielding from data loader when base_dataloader is empty
Removed 1
  • Unpin datasets dependency in examples requirements

Trackio tracker support

We've added support for a trackio, lightweight, 💯 free experiment tracking Python library built on top of 🤗 Datasets and Spaces.

Screen Recording 2025-06-11 at 5 39 32 PM

Main features are:

  • Local-first design: dashboard runs locally by default. You can also host it on Spaces by specifying a space_id.
  • Persists logs locally (or in a private Hugging Face Dataset)
  • Visualize experiments with a Gradio dashboard locally (or on Hugging Face Spaces)
  • Everything here, including hosting on Hugging Faces, is free!

To use it with accelerate, you need to set log_with and initialize the trackers

accelerator = Accelerator(log_with="trackio")
config={"learning_rate": 0.001, "batch_size": 32}
# init_kwargs in order to host the dashboard on spaces
init_kwargs = {"trackio": {"space_id": "hf_username/space_name"}
accelerator.init_trackers("example_project", config=config, init_kwargs=init_kwargs})

Thanks @pcuenca for the integration !

Model loading speedup when relying set_module_tensor_to_device

Setting tensor while clearing cache is very slow, so we added clear_device option to disable it. Another small optimization is using non_blocking everywhere and syncing just before returning control to the user. This makes the loading slightly faster.

FDSP, Deepspeed, FP8 minor improvements
🚨🚨🚨 Breaking changes 🚨🚨🚨

find_executable_batch_size() will no longer halves the batch after every OOM. Instead, we will multiply the batch size by 0.9. This should help user not waste gpu capacity.

What's Changed
New Contributors

Full Changelog: https://github.com/huggingface/accelerate/compare/v1.8.1...v1.9.0

View original

Upgraded? How did it go?

Discussion