Skip to main content Startseite Ersteller dheiver2 mangaba-agent huggingface-accelerate
huggingface-accelerate Simplest distributed training API. 4 lines to add distributed support to any PyTorch script. Unified API for DeepSpeed/FSDP/Megatron/DDP. Automatic device placement, mixed precision (FP16/BF16/FP8). Interactive config, single launch command. HuggingFace ecosystem standard.
Zur Installation springen Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
npx skills add https://github.com/dheiver2/mangaba-agent --skill huggingface-accelerateDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository Join a Google Meet call, transcribe live captions, optionally speak in realtime, and do the followup work afterwards. Use when the user asks the agent to sit in on a meeting, take notes, summarize, respond in-call, or action items from it.
Gmail, Calendar, Drive, Docs, Sheets via gws CLI or Python.
Agenda follow-up proativo com o cliente — o agente volta a falar sozinho (ex.: PIX não pago em 2h, cliente sumiu no meio do pedido). Recuperação de venda automática.
Verwandte Berufe SOC
Basierend auf der SOC-Berufsklassifikation
name huggingface-accelerate description Simplest distributed training API. 4 lines to add distributed support to any PyTorch script. Unified API for DeepSpeed/FSDP/Megatron/DDP. Automatic device placement, mixed precision (FP16/BF16/FP8). Interactive config, single launch command. HuggingFace ecosystem standard. version 1.0.0 author Orchestra Research license MIT dependencies ["accelerate","torch","transformers"] platforms ["linux","macos","windows"] metadata {"mangaba":{"tags":["Distributed Training","HuggingFace","Accelerate","DeepSpeed","FSDP","Mixed Precision","PyTorch","DDP","Unified API","Simple"]}}
HuggingFace Accelerate - Unified Distributed Training
Quick start
Accelerate simplifies distributed training to 4 lines of code.
Installation :
pip install accelerate
Convert PyTorch script (4 lines):
import torch
+ from accelerate import Accelerator
+ accelerator = Accelerator()
model = torch.nn.Transformer()
optimizer = torch.optim.Adam(model.parameters())
dataloader = torch.utils.data.DataLoader(dataset)
+ model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
for batch in dataloader:
optimizer.zero_grad()
loss = model(batch)
- loss.backward()
+ accelerator.backward(loss)
optimizer.step()
Run (single command):
accelerate launch train.py
Common workflows
Workflow 1: From single GPU to multi-GPU
Original script :
import torch
model = torch.nn.Linear(10 , 2 ).to('cuda' )
optimizer = torch.optim.Adam(model.parameters())
dataloader = torch.utils.data.DataLoader(dataset, batch_size=32 )
for epoch in range (10 ):
for batch in dataloader:
batch = batch.to('cuda' )
optimizer.zero_grad()
loss = model(batch).mean()
loss.backward()
optimizer.step()
With Accelerate (4 lines added):
import torch
from accelerate import Accelerator
accelerator = Accelerator()
model = torch.nn.Linear(10 , 2 )
optimizer = torch.optim.Adam(model.parameters())
dataloader = torch.utils.data.DataLoader(dataset, batch_size= )
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
epoch ( ):
batch dataloader:
optimizer.zero_grad()
loss = model(batch).mean()
accelerator.backward(loss)
optimizer.step()
32
for
in
range
10
for
in
Which machine? (single/multi GPU/TPU/CPU)
How many machines? (1)
Mixed precision? (no/fp16/bf16/fp8)
DeepSpeed? (no/yes)
Launch (works on any setup):
accelerate launch train.py
accelerate launch --multi_gpu --num_processes 8 train.py
accelerate launch --multi_gpu --num_processes 16 \
--num_machines 2 --machine_rank 0 \
--main_process_ip $MASTER_ADDR \
train.py
Workflow 2: Mixed precision training from accelerate import Accelerator
accelerator = Accelerator(mixed_precision='fp16' )
accelerator = Accelerator(mixed_precision='bf16' )
accelerator = Accelerator(mixed_precision='fp8' )
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
for batch in dataloader:
with accelerator.autocast():
loss = model(batch)
accelerator.backward(loss)
Workflow 3: DeepSpeed ZeRO integration from accelerate import Accelerator
accelerator = Accelerator(
mixed_precision='bf16' ,
deepspeed_plugin={
"zero_stage" : 2 ,
"offload_optimizer" : False ,
"gradient_accumulation_steps" : 4
}
)
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
{
"fp16" : { "enabled" : false } ,
"bf16" : { "enabled" : true } ,
"zero_optimization" : {
"stage" : 2 ,
"offload_optimizer" : { "device" : "cpu" } ,
"allgather_bucket_size" : 5e8 ,
"reduce_bucket_size" : 5e8
}
}
accelerate launch --config_file deepspeed_config.json train.py
Workflow 4: FSDP (Fully Sharded Data Parallel) from accelerate import Accelerator, FullyShardedDataParallelPlugin
fsdp_plugin = FullyShardedDataParallelPlugin(
sharding_strategy="FULL_SHARD" ,
auto_wrap_policy="TRANSFORMER_AUTO_WRAP" ,
cpu_offload=False
)
accelerator = Accelerator(
mixed_precision='bf16' ,
fsdp_plugin=fsdp_plugin
)
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
Workflow 5: Gradient accumulation from accelerate import Accelerator
accelerator = Accelerator(gradient_accumulation_steps=4 )
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)
for batch in dataloader:
with accelerator.accumulate(model):
optimizer.zero_grad()
loss = model(batch)
accelerator.backward(loss)
optimizer.step()
Effective batch size : batch_size * num_gpus * gradient_accumulation_steps
When to use vs alternatives
Want simplest distributed training
Need single script for any hardware
Use HuggingFace ecosystem
Want flexibility (DDP/DeepSpeed/FSDP/Megatron)
Need quick prototyping
4 lines : Minimal code changes
Unified API : Same code for DDP, DeepSpeed, FSDP, Megatron
Automatic : Device placement, mixed precision, sharding
Interactive config : No manual launcher setup
Single launch : Works everywhere
Use alternatives instead :
PyTorch Lightning : Need callbacks, high-level abstractions
Ray Train : Multi-node orchestration, hyperparameter tuning
DeepSpeed : Direct API control, advanced features
Raw DDP : Maximum control, minimal abstraction
Common issues Issue: Wrong device placement
Don't manually move to device:
Issue: Gradient accumulation not working
with accelerator.accumulate(model):
optimizer.zero_grad()
accelerator.backward(loss)
optimizer.step()
Issue: Checkpointing in distributed
if accelerator.is_main_process:
accelerator.save_state('checkpoint/' )
accelerator.load_state('checkpoint/' )
Issue: Different results with FSDP
from accelerate.utils import set_seed
set_seed(42 )
Advanced topics
Hardware requirements
CPU : Works (slow)
Single GPU : Works
Multi-GPU : DDP (default), DeepSpeed, or FSDP
Multi-node : DDP, DeepSpeed, FSDP, Megatron
TPU : Supported
Apple MPS : Supported
DDP : torch.distributed.run (built-in)
DeepSpeed : deepspeed (pip install deepspeed)
FSDP : PyTorch 1.12+ (built-in)
Megatron : Custom setup
Resources