Presná definícia
Čo znamená trénovanie so zmiešanou presnosťou?
Trénovanie so zmiešanou presnosťou používa nižšiu číselnú presnosť pre vybrané operácie a tenzory, kým citlivé redukcie, hlavné váhy alebo stav optimalizátora ponecháva vo vyššej presnosti. FP16 často potrebuje škálovanie loss, aby malé gradienty nepodtiekli; bfloat16 má širší exponentový rozsah a zvyčajne menšiu potrebu škálovania. Cieľom je vyššia priepustnosť a menšia pamäť pri zachovanej kvalite.
Skúsenosť a kontext
Ako sa pojem používa v praxi
V PyTorch sa forward a loss spúšťajú v autocast kontexte a pri FP16 GradScaler škáluje loss, vykoná backward, odškáluje gradienty, skontroluje neplatné hodnoty a až potom dovolí krok. Clipping patrí po unscale. Tím porovná finálnu metriku s FP32 základom a sleduje preskočené kroky, NaN, rozsah scaleru a rýchlosť. Nie každá operácia je bezpečná v nízkej presnosti; vlastné kernely potrebujú explicitné pravidlá.
Overiteľnosť
Odborné zdroje
Praktické odpovede
Často kladené otázky
Ktoré sa bežne kombinujú?
FP16 alebo bfloat16 pre výpočet a FP32 pre citlivé stavy.
Čo robí?
Vyberá presnosť operácií podľa pravidiel backendu v určenom kontexte.
Prečo pri FP16?
Posunie malé gradienty do reprezentovateľného rozsahu pred backward.
Kedy sa vykoná?
Pred gradient clippingom a kontrolou normy.
Čo porovnať s FP32?
Kvalitu, stabilitu, pamäť, priepustnosť a počet vynechaných krokov.
Prihlásiť / registrovať