Descriere & Utilizare
În spatele parametrului magic device_map='auto' din Transformers se află biblioteca Accelerate. Aceasta rezolvă două probleme majore ale ingineriei AI:
1. Inferența modelelor uriașe (Big Model Inference): încarcă modelele folosind Meta Tensors (fără a consuma memorie dublă în RAM) și împarte automat straturile între GPU-urile disponibile, memoria RAM și chiar swap pe disc.
2. Antrenarea distribuită: prin comanda interactivă accelerate config și lansatorul accelerate launch, poți scala un script de antrenare pe 2, 4 sau 8 plăci video folosind DDP (Distributed Data Parallel), FSDP (Fully Sharded Data Parallel) sau DeepSpeed ZeRO.
Cum să o reții ușor
💡 Ca un dirijor de orchestră simfonică: partitura muzicală (`train.py`) rămâne neschimbată, dar dirijorul poate împărți armonios instrumentele fie pentru un cvartet de cameră (1 GPU), fie pentru o filarmonică de 100 de persoane (Cluster Multi-GPU).
Opțiuni și parametri tehnici
- În codul PyTorch, înfășoară modelul, optimizatorul și dataloader-ul prin
model, opt, loader = accelerator.prepare(model, opt, loader). - Sincronizează automat gradienții între toate plăcile video la apelul
accelerator.backward(loss). - Gestionează conversia automată a tensorilor în precizie mixtă
fp16saubf16.
Exemple practice și cazuri de utilizare
- Estimarea memoriei VRAM necesare unui model de pe Hub (fără a-l descărca!):
accelerate estimate-memory meta-llama/Llama-3.1-70B-Instruct - Lansare antrenare cu configurare rapidă:
accelerate launch --multi_gpu --num_processes=4 script_finetune.py
Sfaturi de configurare & capcane
Folosește comanda accelerate estimate-memory <model_id> în terminal înainte de a descărca un model nou! Îți va afișa un tabel exact cu câți GB de VRAM sunt necesari pentru inferență și antrenare în FP32, FP16, int8 și int4.
Comenzi și ghiduri înrudite
trainer-sfttrainer: Resursă asociată din acest modul.bitsandbytes-quantization: Resursă asociată din acest modul.automodel-causal-lm: Resursă asociată din acest modul.