Slovník výrazov AI/Optimalizácia a trénovanie

Optimalizácia a trénovanie

distribuované trénovanie

Anglický výraz distributed training

špecializovanéheslo č. 3955 otázok a odpovedí2 odborné zdroje

Presná definícia

Čo znamená distribuované trénovanie?

Distribuované trénovanie rozdeľuje výpočet alebo stav učenia medzi viac procesov a zariadení, ktoré komunikujú počas tréningu. Môže replikovať celý model a deliť dáta, rozdeliť vrstvy či tenzory modelu alebo kombinovať viac osí. Zrýchlenie nie je lineárne: synchronizácia, komunikácia, nerovnováha práce a vstupný pipeline vytvárajú réžiu.

Skúsenosť a kontext

Ako sa pojem používa v praxi

Projekt najprv zvolí stratégiu podľa toho, či limituje čas alebo pamäť. Každý proces dostane správny rank a zariadenie, sampler rozdelí dáta bez nechcených duplicít a metriky sa agregujú cez všetky procesy. Tím meria samples/s, čas komunikácie a scaling efficiency pri rastúcom world size. Checkpoint musí jednoznačne zložiť sharded stav; seed sa riadi tak, aby boli modely reprodukovateľné, no augmentácie medzi rankmi neboli identické.

Overiteľnosť

Odborné zdroje

  1. PyTorch · Distributed communicationdocs.pytorch.org
  2. Goyal et al. · Large minibatch SGDarxiv.org

Praktické odpovede

Často kladené otázky

Čo je rank?

Jedinečný identifikátor účastníka v distribuovanej skupine.

Čo označuje?

Celkový počet procesov zapojených do danej komunikačnej skupiny.

Aké operácie sa používajú?

Napríklad all-reduce, all-gather, reduce-scatter a broadcast.

Prečo nie je lineárne?

S počtom zariadení rastie komunikácia a môže klesnúť práca na jedno zariadenie.

Ako získať globálny výsledok?

Sčítať čitatele a menovatele cez ranky, nie priemerovať ľubovoľné priemery.