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

Optimalizácia a trénovanie

trénovanie so zmiešanou presnosťou

Anglický výraz mixed-precision training

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

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

  1. Micikevicius et al. · Mixed Precision Trainingopenreview.net
  2. PyTorch · Automatic Mixed Precisiondocs.pytorch.org

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.