Wersja 2.15 biblioteki uczenia maszynowego PyTorch wprowadza format FP8 na Macach i znacząco przyspiesza dekodowanie modeli typu mixture-of-experts (mixture-of-experts). Jak podaje zespół PyTorch z Hugging Face, odpowiedzialny za ogłoszenie, wersja zawiera także nowe jądra Metal dla audio, wideo i treningu. Backend MPS, będący celem tych prac, umożliwia wykonywanie modeli PyTorch na GPU Maców.
- PyTorch 2.15 obsługuje format FP8 na Macach i zmniejsza zużycie pamięci wag modelu.
- Modele typu mixture-of-experts dekodują od 5 do 6,5 razy szybciej niż w wersji 2.14.
- Poprawka dopełniania VAE obniża szczyt pamięci sterownika z 270 GiB do około 8 GiB.
- Wersja wymaga Maca z Apple silicon, macOS 15 lub nowszego oraz Pythona 3.11 lub nowszego.
W przypadku modeli językowych najbardziej widoczny zysk dotyczy modeli typu mixture-of-experts, gdzie każda warstwa rozdziela tokeny między wielu ekspertów. Według źródła, te modele dekodują 5 do 6,5 razy szybciej niż w PyTorch 2.14. Na M3 Ultra z torch.compile, Qwen3.6-35B-A3B przyspiesza z 9,4 do 61,3 tokenów na sekundę, a LFM2.5-8B-A1B z 23,6 do 123,6 tokenów na sekundę. Modele gęste również korzystają z szybszych warstw liniowych. Próbkowanie tekstu jest przyspieszone dzięki obliczaniu softmax: na linii logitów o rozmiarze [1, 128256] w FP32 czas spada z 57 µs do 7 µs, czyli około ośmiokrotnie szybciej niż w wersji MPSGraph.
FP8 trafia na Maca
PyTorch 2.15 dodaje tensory torch.float8_e4m3fn na MPS. Każda wartość zajmuje jeden bajt, czyli połowę przestrzeni FP16 lub BF16, co redukuje pamięć potrzebną na wagi modelu. Tensory te mnoży się za pomocą F.scaled_mm, który obsługuje skalowanie tensorowe i wierszowe. Źródło wskazuje również, że inne operacje wspierane na CUDA i CPU są teraz dostępne także na MPS.
Na wydajność generowania wideo również wpłynęły zmiany. Dekodowanie kafelkowego VAE z Wan2.2 powodowało wzrost pamięci sterownika do 270 GiB, ponieważ stałe dopełnianie generowało 8 764 wywołania przy pełnym dekodowaniu na 28 kafelkach. Po przepisaniu dopełniania w Metal, szczyt spada do około 8 GiB. Ta sama zmiana naprawia błąd zgłaszany w ComfyUI, gdzie enkoder VAE z Qwen-Image-2.1 po cichu zniekształcał obrazy na MPS. Przejście enkodowanie-dekodowanie osiąga teraz 29,95 dB PSNR w porównaniu z CPU, wobec 10,06 dB wcześniej.
Aby używać wersji, potrzebny jest Mac z układem Apple silicon, macOS 15 lub nowszym oraz Python 3.11 lub nowszy. Zespół wskazuje, że wersja kandydacka może być zainstalowana w oddzielnym środowisku za pomocą polecenia uv pip install torch==2.15.0, z użyciem dedykowanego indeksu. Podkreśla również, że sprawdzanie dostępności MPS teraz wskazuje przyczynę niepowodzenia, na przykład zbyt stary system operacyjny lub brak GPU Metal.
