Interfejs torch.compile umożliwia przekazanie obliczeń modelu do mechanizmów optymalizacji i generowania kodu. W architekturze przedstawionej wraz z PyTorch 2.0 TorchDynamo wyodrębnia grafy obliczeń z programu Pythona, AOTAutograd przygotowuje obliczenia różniczkowania do kompilacji, a TorchInductor generuje kod dla wybranego środowiska wykonawczego. Kompilacja jest funkcją opcjonalną; uzyskiwane przyspieszenie zależy od modelu i sprzętu.

Obliczenia rozproszone

PyTorch udostępnia mechanizmy uczenia rozproszonego. W rozwiązaniu DistributedDataParallel poszczególne procesy wykorzystują lokalne kopie modelu. Gradienty są agregowane za pomocą operacji komunikacji zbiorowej, co pozwala aktualizować parametry poszczególnych kopii w sposób zgodny.

Przesyłanie gradientów może częściowo nakładać się w czasie na pozostałe obliczenia przebiegu wstecznego. Wydajność tej metody zależy między innymi od struktury modelu, ilości przesyłanych danych i możliwości komunikacyjnych infrastruktury.

Biblioteki powiązane i zastosowania

TorchVision udostępnia zbiory danych, architektury modeli, wytrenowane wagi i przekształcenia wykorzystywane w analizie obrazów.