Odborná definice
Odborná definice
Batch je skupina příkladů spracovaných modelem v jednom výpočtovém kroku. Při tréninku se ztráta a gradient obvykle odhadují z mini-batchu, po kterém optimalizátor aktualizuje parametry. Velikost dávky ovlivňuje pameťové nároky, paralelizaci, šum gradientu, rychlost konvergence a někdy i generalizaci. Full batch obsahuje celý tréninkový soubor, stochastic režim pracuje s jedním příkladem a mini-batch používá počet mezi týmito extrémami. Dávka při inferenci může združovat nezávislé požadavky kvůli vyššej propustnosti.
Srozumitelné vysvětlení
Srozumitelné vysvětlení
Místo toho, aby síť po každém jednom zázname okamžitě zmenila váhy, zpracuje například 64 příkladů, z jejich chyb vypočítá společný gradient a až potom udělá aktualizaci. Menší dávka přináší hlučnejší, ale častejší signál a zmestí se do menšej paměti. Větší dávka lépe využije akcelerátor a vytvoří stabilnější odhad, ale nemusí automaticky zlepšit výsledek. Při online službe se batching používá i tak, že server na krátký okamih spojí více požadavků, aby jejich GPU vyriešilo najednou.
Časté otázky
Časté otázky
Jak se volí batch size?
Volba závisí na paměti, architektury, optimalizátora, délky vstupů a cíle propustnosti. Prakticky se testuje více velkostí, přičemž se upraví learning rate a sleduje rychlost, stabilita, validační ztráta i náklady.
Co je gradient accumulation?
Model zpracuje několik menších micro-batchů, gradienty sčíta a parametry aktualizuje až po stanovenom počtu kroků. Simuluje větší efektívnu dávku bez potřeby držet všechny příklady v pameti najednou.
Proč mají sekvenční modely padding v dávce?
Sekvence mají různu délku, ale tenzor v dávce bývá obdlžnikový. Kratšie vstupy se doplnia padding tokenmi a maskou. Zoskupování podobných dlžok snižuje zbytočný výpočet nad paddingom.
Je větší batch vždy rychlejší?
Ne. Po překročení kapacity hardwaru roste komunikace, pameťový tlak nebo čas jednoho kroku. Při interaktivní inferenci může čakání na naplnení dávky zhoršit latenci, ačkoli zvýší propustnost.
Mohou se příklady v batchi navzájem ovlivnit?
Při běžných vrstvách jsou spracované nezávisle, ale batch normalization používá statistiky celé dávky. Dynamické batchování může ovlivnit i čas odozvy. Proto je třeba rozlišovat matematickou nezávislost predikcí od společného využitia výpočtu.
Související pojmy
Související pojmy
Zdroje a redakční stopa
Zdroje a redakční stopa
- Google Machine Learning Glossary, batch and batch size
- Google Machine Learning Glossary
Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.
