PyTorch i Meta: preko 90 posto efektivnog training vremena kroz 40+ optimizacija, MegaCache smanjuje PT2 kompilaciju za 40 posto
Zašto je bitno
Meta je objavila kako je postigla preko 90 posto Effective Training Time (ETT) za offline trening svojih recommendation modela. Metoda uključuje više od 40 novih optimizacija u PyTorch ekosustavu, MegaCache koji smanjuje vrijeme PT2 kompilacije za 40 posto, standalone model publishing koji štedi 30 minuta po poslu, i async checkpointing. Poboljšanja su open-sourceana kroz PyTorch i TorchRec.
Tim od 16 inženjera u Meti, uz suradnike iz PyTorch projekta, objavio je 17. travnja 2026. detaljan post o tome kako su postigli preko 90 posto Effective Training Time (ETT) za offline trening preporučnih modela do kraja 2025. godine. Članak je zajedničko djelo autora Ruilin Chena, Yuzhen Huanga, Hang Qija i drugih, a sadrži listu od 40+ konkretnih optimizacija koje su pritom razvili.
Što je ETT i zašto je bitna
Meta uvodi novu metriku — Effective Training Time (ETT%) — koja mjeri koliki postotak ukupnog end-to-end wall time zaista ide na produktivan trening.
Formula je jednostavna:
ETT% = 100% - Idleness% - Failure%
Meta razbija ETT na tri podmjere:
- Time to Start — od hardverske alokacije do prve batch konzumacije
- Time to Recover — koliko traje restart i resume nakon padova
- Number of Failures — ukupan broj infra-related prekidanja
Razlog zbog kojeg je ovo važno: klasična metrika Model FLOPs Utilization (MFU) mjeri samo efikasnost unutar treninga, ali ignorira sve što se događa prije, između i nakon njega. Pri skaliranju, “in-between” faze postaju dominantan trošak.
MegaCache: 40 posto manje kompilacije
Jedna od glavnih inovacija je MegaCache — konsolidirani sustav cacheinga za PT2 (PyTorch 2.0) komponente:
- Inductor cache
- Triton bundler
- AOT Autograd
- Dynamo PGO
- Autotune settings
Meta ih je spojio u jedinstveni cache koji se obavlja jednom, pa se reuseaje u sljedećim job-ovima.
Rezultat: ~40 posto smanjenje prosječnog PT2 compile timea do kraja 2025. Dodatni benefiti su smanjenje zahtjeva prema remote serverima, brži setup modela i pouzdaniji startup za retry-ane jobove.
Checkpoint management
Checkpointing je kritičan za oporavak, ali obično blokira trening. Meta je radila na tri pravca:
Async checkpointing:
- Kreira CPU memory kopiju checkpointa
- Glavni trainer nastavlja dok background proces uploada
- Smanjuje GPU idle time
PyTorch native staging:
- Zamijenili custom C++ staging implementaciju
- Koriste nove PyTorch native API-je
- Trade-off: veća memorija trainera za manje blocking time
Optimizacija intervala:
- Unsaved Training Time = (# failures) × (checkpoint interval) / 2
- Checkpoint Save Blocking Time = (train loop time) / (checkpoint interval) × (blocking time per checkpoint)
- Optimalni interval minimizira ukupno izgubljeno vrijeme
Standalone model publishing: 30 minuta manje
Klasičan tok: trening se završi, a onda isti GPU još radi model publishing (eksport u production format, validacija, upload).
Meta je razdvojila publishing od treninga:
- Trening kreira anchor checkpoint
- Zasebni CPU-based standalone posao publisha model paralelno
Rezultat: ~30 minuta manje po poslu. Za kompanije koje pokreću stotine treninga dnevno, to su stotine sati mjesečno.
Trainer initialization
Komunikacijske optimizacije:
- Eliminirana nepotrebna stvaranja process grupa
- Nepotrebni all_gather pozivi za metadata
- Umjesto toga, globalni rank metadata se gradi lokalno nakon sharding plan broadcasta
Pipeline optimizacije:
- Paralelizacija nezavisnih inicijalizacijskih faza
- PT2 kompilacija se preklapa s DPP warm-upom koristeći “fast batch” podatke
- Posebno korisno za foundation modele s dugim data loadingom
Failure reduction
Meta je identificirala dva glavna uzroka padova:
- Job preempcije (više istovremenih jobova = više konflikata)
- Service regresije
Njihov odgovor je dvostran: suradnja s infra timovima na novim scheduling algoritmima + component-level observability dashboard koji prikazuje TTS, TTR, unsaved training time i checkpoint saving time u realnom vremenu.
Otvoreni doprinosi
PyTorch 2.0 unaprjeđenja:
TORCH_COMPILE_DYNAMIC_SOURCESza dynamic shape handling- MegaCache sustav end-to-end cachinga
- PyTorch native staging APIs
TorchRec unaprjeđenja:
- Sharding plan optimizacije (eliminirali all_gather overhead)
- Komunikacijski optimizacijski obrasci
Sve je dostupno u PyTorch dokumentaciji za replikaciju u drugim organizacijama.
Poruka za industriju
Najdublja lekcija iz Metaovog posta je pomak paradigme u optimizaciji: od “kako brže treniramo svaku iteraciju” prema “kako smanjiti sve što nije stvarni trening”. Dok se zajednica fokusira na MFU i povećanje throughputa, Meta pokazuje da je 10 posto ETT gaina jednako vrijedan kao 10 posto MFU gaina — a često mnogo lakše ostvariv kroz engineering.
Za organizacije koje skaliraju AI trening, ETT postaje jednako važna metrika kao MFU.
Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.
Povezane vijesti
Anthropic i NEC grade Japanovu najveću AI inženjersku radnu snagu — Claude za 30.000 NEC zaposlenika
AWS: multimodalni biološki foundation modeli ubrzavaju otkrivanje lijekova za 50 posto i dijagnostiku za 90 posto
CNCF: infrastrukturni inženjer migrirao 60+ Kubernetes resursa za 30 minuta uz pomoć AI agenta