Sobes.tech
Senior

Co je FSDP (Fully Sharded Data Parallel)?

sobes.tech AI

Odpověď od AI

Fully Sharded Data Parallel (FSDP) — je metoda distribuovaného tréninku neuronových sítí, při které jsou parametry modelu, gradienty a stavy optimalizátoru plně shardovány (rozděleny) mezi všechny dostupné GPU. Na rozdíl od tradičního Data Parallel, kde každé GPU uchovává úplnou kopii modelu, FSDP model rozdělí na části a rozděluje je mezi zařízení, což výrazně snižuje požadavky na paměť na každém GPU a umožňuje trénovat velmi velké modely.

Hlavní výhody FSDP:

  • Úspora paměti díky shardování parametrů a stavů optimalizátoru.
  • Možnost trénovat modely, které se nevejdou do paměti jednoho GPU.
  • Efektivní rozdělení výpočtů a komunikace mezi zařízeními.

Proces obvykle vypadá takto: model je rozdělen na vrstvy nebo bloky, z nichž každý je uložen na samostatném GPU. Během přímé a zpětné propagace jsou vyměňovány potřebné tenzory mezi zařízeními a aktualizace parametrů jsou prováděny lokálně na každém shardovaném fragmentu.

FSDP je často používán v moderních rámcích, jako je PyTorch, pro škálování tréninku velkých modelů na clusterech s více GPU.