🤖 24 AI
🟡 🏥 U praksi subota, 18. travnja 2026. · 4 min čitanja

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:

  1. Time to Start — od hardverske alokacije do prve batch konzumacije
  2. Time to Recover — koliko traje restart i resume nakon padova
  3. 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:

  1. Job preempcije (više istovremenih jobova = više konflikata)
  2. 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_SOURCES za 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.