FSDP
Wbudowany w PyTorch sposób trenowania modeli, które nie mieszczą się na jednej karcie. Odpowiada ZeRO na poziomie trzecim: wagi, gradienty i stan optymalizatora są podzielone między uczestniczące GPU.
Model dzieli się na jednostki, często po jednym bloku transformera według polityki opakowywania. Przed przebiegiem w przód pełne wagi jednostki są zbierane operacją all-gather, następuje obliczenie, a kopia jest od razu odrzucana, by zwolnić pamięć. Przebieg wstecz robi to samo i kończy się operacją reduce-scatter, dzięki której każda karta zachowuje tylko swój fragment gradientów. W efekcie tylko jeden blok naraz istnieje w całości w jakimkolwiek miejscu. Dobór polityki ma znaczenie — zbyt drobny podział daje lawinę małych transferów, zbyt gruby powoduje skoki zużycia pamięci. W praktyce wyparł DeepSpeed w projektach opartych na PyTorchu.