Microsoft wprowadza natywną obsługę PyTorch ARM dla urządzeń z systemem Windows

Microsoft wprowadza natywną obsługę PyTorch ARM dla urządzeń z systemem Windows

Microsoft uruchamia natywne kompilacje PyTorch dla systemu Windows na platformie Arm

W przełomowym wydarzeniu, zaledwie kilka tygodni po wprowadzeniu obsługi Windows on Arm runner do GitHub, Microsoft dokonał godnego uwagi ogłoszenia dla deweloperów, którzy celują w urządzenia z procesorami Arm z systemem Windows. Natywne kompilacje PyTorch, szeroko stosowanego frameworka uczenia maszynowego typu open source, są teraz oficjalnie dostępne dla systemu Windows on Arm. Ten postęp upraszcza proces dla deweloperów, którzy chcą budować i testować aplikacje natywnie w architekturze Arm.

Znaczenie PyTorch dla uczenia maszynowego

Dla tych, którzy nie są zaznajomieni, PyTorch jest kluczowym narzędziem dla badaczy i deweloperów skupionych na konstruowaniu i trenowaniu głębokich sieci neuronowych. Historycznie rzecz biorąc, uruchamianie PyTorch na urządzeniach z systemem Windows wyposażonych w układy Arm stanowiło wyzwanie, ponieważ użytkownicy musieli skompilować cały framework ze źródła — proces, który jest czasochłonny i mniej odpowiedni dla nowicjuszy w programowaniu.

Co nowego w PyTorch 2.7

Wraz z wydaniem PyTorch 2.7 natywne kompilacje dla systemu Windows na architekturze Arm są teraz dostępne dla języka Python 3.12. Programiści mogą łatwo zainstalować PyTorch przy użyciu standardowego menedżera pakietów, takiego jak pip, co znacznie usprawnia proces instalacji.

Według Microsoftu:

Otwiera to możliwość wykorzystania pełnej wydajności architektury Arm64 na urządzeniach z systemem Windows, takich jak komputery Copilot+, do eksperymentów z uczeniem maszynowym, zapewniając solidną platformę dla programistów i badaczy, którzy mogą wprowadzać innowacje i udoskonalać swoje modele.

Korzyści dla rozwoju uczenia maszynowego

Oczekuje się, że ta najnowsza oferta usprawni lokalne opracowywanie, szkolenie i testowanie modeli uczenia maszynowego bezpośrednio na maszynach z systemem Windows opartych na architekturze Arm. W szczególności Microsoft podkreślił potencjalne zastosowania w takich obszarach, jak klasyfikacja obrazów, przetwarzanie języka naturalnego i generatywna sztuczna inteligencja, czego przykładem są narzędzia takie jak Stable Diffusion.

Pierwsze kroki z natywnym PyTorch w systemie Windows

Aby rozpocząć pracę z natywnymi plikami binarnymi PyTorch dla systemu Windows na platformie Arm, deweloperzy muszą zainstalować kilka niezbędnych wymagań wstępnych. Obejmuje to komponenty uzyskane z narzędzi Visual Studio Build Tools lub kompletnej instalacji programu Visual Studio.

  • Upewnij się, że wybrano obciążenie „Rozwój pulpitu w języku C++”.
  • Podczas instalacji należy upewnić się, że uwzględniono najnowsze narzędzia do kompilacji VS 2022 C++ ARM64/ARM64EC.
Wybór projektu instalatora programu Visual Studio

Ponadto konieczne jest zainstalowanie Rust i posiadanie wersji Arm64 Pythona 3.12 w systemie. Po spełnieniu tych warunków wstępnych proste polecenie umożliwi zainstalowanie stabilnej wersji PyTorch za pomocą pip, kierując ją do właściwego indeksu pobierania:

pip install --extra-index-url https://download.pytorch.org/whl torch

Eksplorowanie kompilacji nocnych

Osoby zainteresowane eksperymentowaniem z najnowszymi funkcjami i nie czujące się komfortowo z potencjalnie niestabilnymi wersjami mogą zainstalować kompilacje Nightly lub Preview za pomocą następującego polecenia:

pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu

Dodatkowe kompilacje natywne i najlepsze praktyki

Oprócz pakietu Python, natywne kompilacje dla LibTorch, który służy jako front-end C++ PyTorch często używany w kontekstach wdrożeniowych, są również udostępniane. Aby uzyskać kompleksowy przewodnik dotyczący rozpoczęcia pracy z LibTorch, deweloperzy mogą odwiedzić witrynę PyTorch. Jako standardową praktykę w zakresie rozwoju Pythona, Microsoft zaleca utworzenie środowiska wirtualnego (venv) w celu płynnego zarządzania zależnościami projektu i uniknięcia potencjalnych konfliktów.

Przykładowe zastosowanie i przyjęcie

Ponadto Microsoft zaprezentował przykład użycia natywnych plików binarnych PyTorch dla Stable Diffusion w systemie Windows na Arm, dostarczając informacji na temat tego, jak programiści mogą wykorzystać generatywną sztuczną inteligencję w swoich aplikacjach. Odpowiedni kod można znaleźć w tym repozytorium GitHub.

Rozwiązywanie problemów związanych z zależnościami

Należy zauważyć, że chociaż PyTorch i LibTorch obsługują teraz natywne pliki binarne dla systemu Windows na Arm, nie wszystkie zależności mogą pójść w ich ślady. Niektóre dodatkowe pakiety Pythona, szczególnie te z komponentami wrażliwymi na wydajność, napisane w językach takich jak C, C++ lub Rust, mogą jeszcze nie oferować wstępnie skompilowanych natywnych plików Arm64.whl na PyPI. Dlatego też prosta instalacja pip może nie dać natywnej wersji dla każdej używanej biblioteki.

Jednak pip może instalować zależności bezpośrednio z dystrybucji kodu źródłowego, często dostarczanych jako pliki.tar.gz. Jeśli odpowiednie narzędzia do kompilacji są obecne w systemie — wzmacniając wcześniejszą wzmiankę o MSVC z zestawem narzędzi Arm64 i Rust — pip może kompilować te pakiety do plików.whl zgodnych z systemem Windows lokalnie.

Firma Microsoft podkreśliła, że ​​ta metoda umożliwia instalację określonych wersji popularnych pakietów, takich jak NumPy 2.2.3 i safetensors 0.5.3, przedstawiając wymagane polecenia:

pip install numpy==2.2.3 # and pip install safetensors==0.5.3

Polecenia te stanowią przykłady efektywnego kompilowania pakietów ze źródła.

Przeczytaj więcej

Więcej szczegółów i dodatkowe przykłady można znaleźć w pełnym ogłoszeniu na blogu Microsoft Windows.

Źródło i obrazy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *