Accelerate documentation

Accelerate

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Accelerate

Accelerate هو مكتبة تتيح تشغيل نفس كود PyTorch عبر أي تكوين موزّع بإضافة أربعة أسطر من الكود فقط! باختصار، التدريب والاستدلال على نطاق واسع أصبحا بسيطين وفعّالين وقابلين للتكيّف.

+ from accelerate import Accelerator
+ accelerator = Accelerator()

+ model, optimizer, training_dataloader, scheduler = accelerator.prepare(
+     model, optimizer, training_dataloader, scheduler
+ )

  for batch in training_dataloader:
      optimizer.zero_grad()
      inputs, targets = batch
      inputs = inputs.to(device)
      targets = targets.to(device)
      outputs = model(inputs)
      loss = loss_function(outputs, targets)
+     accelerator.backward(loss)
      optimizer.step()
      scheduler.step()

يعتمد torch_xla وtorch.distributed، ويتولى Accelerate المهام الثقيلة، فلا تحتاج إلى كتابة أي مخصصات مخصصة للتكيف مع هذه المنصات. حوّل قواعد الكود الحالية لاستخدام DeepSpeed، وأجرِ fully sharded data parallelism، واحصل على دعم تلقائي لتدريب الدقة المختلطة!

للحصول على فكرة أفضل عن هذه العملية، تأكد من الاطلاع على الدروس التعليمية!

يمكن بعد ذلك تشغيل هذا الكود على أي نظام من خلال واجهة سطر الأوامر الخاصة بـ Accelerate:

accelerate launch {my_script.py}
Update on GitHub