pytorch-fsdp2
Adds PyTorch FSDP2 (fully_shard) to training scripts with correct init, sharding, mixed precision/offload config, and distributed checkpointing. Use when models exceed single-GPU memory or when you need DTensor-based sharding with DeviceMesh.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Adds PyTorch FSDP2 (fully_shard) to training scripts with correct init, sharding, mixed precision/offload config, and distributed checkpointing. Use when models exceed single-GPU memory or when you need DTensor-based sharding with DeviceMesh.
How to use
Upewnij się, że masz zainstalowany PyTorch z obsługą FSDP2 (torch.distributed.fsdp.fully_shard) oraz że Twój projekt zależy od torch jako zależności.
Zidentyfikuj moduły w Twoim skrypcie treningowym, które chcesz shardować — zwykle są to duże warstwy modelu, które przekraczają pamięć pojedynczego GPU.
Zainicjalizuj rozproszone środowisko treningowe za pomocą torch.distributed, ustawiając backend komunikacji (np. nccl dla GPU) i rank procesów.
Zastosuj torch.distributed.fsdp.fully_shard do wybranych modułów, konfigurując opcje shardingu, precyzji mieszanej (mixed precision) i offloadingu pamięci zgodnie z dostępnymi zasobami GPU.
Skonfiguruj rozproszone checkpointowanie (Distributed Checkpoint) zamiast standardowych save/load, aby poprawnie zapisywać i wczytywać stany shardowane na wielu procesach.
Uruchom skrypt treningowy na wielu GPU/węzłach — FSDP2 automatycznie synchronizuje gradienty i aktualizuje parametry shardowane podczas backpropagation.