Przewodnik dla twórców Copiloti komputerów osobistych
Copilot+ komputery to nowa klasa sprzętu z systemem Windows 11 obsługiwana przez wysokowydajną jednostkę przetwarzania neuronowego (NPU) — wyspecjalizowany mikroukład komputerowy dla procesów intensywnie korzystających ze sztucznej inteligencji, takich jak tłumaczenia w czasie rzeczywistym i generowanie obrazów — które mogą wykonywać ponad 40 bilionów operacji na sekundę (TOPS). Copilot+ PC zapewniają całodniową żywotność baterii i dostęp do najbardziej zaawansowanych funkcji i modeli sztucznej inteligencji. Dowiedz się więcej na stronie Introducing Copilot+ PCs — Oficjalny blog firmy Microsoft.
Poniższe wskazówki dla deweloperów PC Copilot+ obejmują:
- Wymagania wstępne dotyczące urządzeń
- Co to jest układ Snapdragon Elite X+ oparty na architekturze Arm?
- Unikalne funkcje sztucznej inteligencji obsługiwane przez Copiloti komputery z procesorem NPU
- Jak uzyskać dostęp do NPU na Copilot+ PC
- Jak używać środowiska uruchomieniowego ONNX do programowego uzyskiwania dostępu do jednostki NPU na Copilot+ PC
- Jak mierzyć wydajność modeli sztucznej inteligencji uruchomionych lokalnie na urządzeniu NPU
Warunki wstępne
Te wskazówki dotyczą Copiloti komputerów.
Wiele nowych funkcji sztucznej inteligencji systemu Windows wymaga jednostki NPU z możliwością uruchamiania 40 lub więcej TOPS, w tym między innymi:
- Microsoft Surface Laptop Copiloti PC
- Microsoft Surface Pro Copilot i komputer
- HP OmniBook X 14
- Dell Latitude 7455, XPS 13 i Inspiron 14
- Acer Swift 14 AI
- Lenovo Yoga Slim 7x i ThinkPad T14s
- Samsung Galaxy Book4 Edge
- ASUS Vivobook S 15 i ProArt PZ13
- Copilot+ komputery z nowymikrzemowymi AMD i Intel, w tym serii AMD Ryzen AI 300 i serii Intel Core Ultra 200V.
Czym jest oparty na architekturze ARM chip Snapdragon Elite X?
Nowy układ Snapdragon X Elite oparty na architekturze Arm firmy Qualcomm podkreśla integrację sztucznej inteligencji poprzez wiodącą w branży jednostkę przetwarzania neuronowego (NPU). Ten procesor NPU jest w stanie przetwarzać duże ilości danych równolegle, wykonując biliony operacji na sekundę, wykorzystując energię w zadaniach sztucznej inteligencji wydajniej niż procesor CPU lub procesor GPU, co powoduje dłuższy czas pracy baterii urządzenia. NPU współpracuje z CPU i GPU. System Windows 11 przypisuje zadania przetwarzania do najbardziej odpowiedniego miejsca w celu zapewnienia szybkiej i wydajnej wydajności. Jednostka NPU umożliwia inteligentne funkcje AI na urządzeniu z zabezpieczeniami o klasie korporacyjnej, zapewniając zwiększoną ochronę na poziomie od układu scalonego po chmurę.
- Dowiedz się więcej o Qualcomm Snapdragon X Elite.
- Dowiedz się więcej na temat używania i programowania dla systemu Windows w usłudze Arm.
Unikalne funkcje sztucznej inteligencji obsługiwane przez Copilotoraz komputery z procesorem NPU
Copilotoraz komputery PC oferują unikatowe środowiska sztucznej inteligencji dostarczane z nowoczesnymi wersjami systemu Windows 11. Te funkcje sztucznej inteligencji, zaprojektowane do działania za pomocą NPU urządzenia, występują w najnowszych wersjach systemu Windows i będą udostępnione za pośrednictwem interfejsów API w Windows Copilot Runtime. Dowiedz się więcej o interfejsach API Copilot środowiska uruchomieniowego systemu Windows obsługiwanych przez modele zoptymalizowane pod kątem uruchamiania zadań obliczeniowych (wnioskowania) na jednostce NPU. Te interfejsy API będą dostępne w nadchodzącej wersji zestawu Windows App SDK.
Jak uzyskać dostęp do NPU na Copilot+ PC
Jednostka przetwarzania neuronowego NPU to nowy zasób sprzętowy. Podobnie jak inne zasoby sprzętowe na komputerze, procesor NPU musi być specjalnie zaprogramowany, aby korzystać z oferowanych przez nią korzyści. Jednostki NPU są przeznaczone specjalnie do wykonywania operacji matematycznych uczenia głębokiego tworzących modele sztucznej inteligencji.
Funkcje Copilot+ AI w systemie Windows 11, wymienione powyżej, zostały specjalnie zaprojektowane, aby wykorzystać jednostkę NPU. Użytkownicy będą mieć lepszą żywotność baterii i krótszy czas wykonywania wnioskowania dla modeli sztucznej inteligencji przeznaczonych dla jednostki NPU. Obsługa NPU w systemie Windows 11 obejmie urządzenia Qualcomm oparte na technologii Arm, a także urządzenia Intel i AMD (wkrótce).
W przypadku urządzeń z jednostkami NPU można teraz użyć Menedżera Zadań do wyświetlania użycia zasobów NPU.
Zalecanym sposobem przeprowadzania wnioskowań (uruchamianie zadań sztucznej inteligencji) na urządzeniu NPU jest użycie ONNX Runtime. Środowisko uruchomieniowe ONNX to elastyczny i wydajny stos do programowania względem NPU, a także GPU i CPU, co umożliwia korzystanie z własnych modeli sztucznej inteligencji lub otwartych modeli AI dostępnych w Internecie. Dowiedz się więcej o korzystaniu ze środowiska uruchomieniowego ONNX w celu uzyskania dostępu do jednostki NPU poniżej lub dowiedz się więcej o tym, jak Rozpoczynanie pracy ze sztuczną inteligencją w systemie Windows.
Notatka
Co z używaniem innych środowisk uruchomieniowych dla platformy PyTorch lub Tensorflow? Inne środowiska uruchomieniowe dla platformy PyTorch, TensorFlow i innych typów zestawów SDK dostarczonych przez dostawców krzemowych są również obsługiwane w systemie Windows. Obecnie można uruchamiać oprogramowanie PyTorch, TensorFlow i inne typy modeli, konwertując na elastyczny format ONNX, ale obsługa natywna będzie dostępna wkrótce.
Jak używać środowiska uruchomieniowego ONNX do programowego uzyskiwania dostępu do jednostki NPU na Copilot+ PC
Firma Microsoft udostępnia kompletną strukturę wnioskowania i trenowania typu open source o nazwie ONNX Runtime. Środowisko uruchomieniowe ONNX to zalecane rozwiązanie firmy Microsoft typu open source do uruchamiania modeli sztucznej inteligencji na serwerze NPU. Ponieważ środowisko uruchomieniowe ONNX jest elastyczne i obsługuje wiele różnych opcji uruchamiania modeli sztucznej inteligencji, wybory mogą być mylące. Ten przewodnik pomoże Ci wybrać opcje specyficzne dla systemu Windows Copiloti komputerów.
- Qualcomm Snapdragon X: Obecnie deweloperzy powinni kierować QNN Execution Provider (EP), który korzysta z Qualcomm AI Engine Direct SDK (QNN). wstępnie skompilowane pakiety z obsługą QNN są dostępne do pobrania. Jest to ten sam stos używany obecnie przez środowisko Uruchomieniowe Copilot Windows i środowiska na urządzeniach Copilot+ PC Qualcomm. DirectML i WebNN wsparcie dla procesorów NPU Qualcomm Snapdragon X Elite zostało ogłoszone podczas Build 2024 i będzie dostępne wkrótce.
- Urządzenia Intel i AMD NPU: Dodatkowe urządzenia NPU będą dostępne pod koniec 2024 roku. DirectML jest zalecaną metodą kierowania tych urządzeń.
Obsługiwane formaty modeli
Modele sztucznej inteligencji są często trenowane i dostępne w większych formatach danych, takich jak FP32. Jednak wiele urządzeń NPU obsługuje tylko obliczenia całkowite w niższym formacie bitowym, takim jak INT8, w celu zwiększenia wydajności i wydajności zasilania. W związku z tym modele sztucznej inteligencji muszą być konwertowane (lub "kwantyzowane"), aby działały na serwerze NPU. Dostępnych jest wiele modeli, które zostały już przekonwertowane na format gotowy do użycia. Możesz również przynieść własny model (BYOM), aby przekonwertować lub zoptymalizować.
- Qualcomm AI Hub (Compute): Qualcomm udostępnia modele sztucznej inteligencji, które zostały już zweryfikowane do użycia na Copiloti komputerach z Pakietem X Elite z dostępnymi modelami specjalnie zoptymalizowanymi pod kątem wydajnego działania na tym NPU. Dowiedz się więcej: Przyspieszanie wdrażania modelu za pomocą rozwiązania Qualcomm AI Hub | Microsoft Build 2024.
- ONNX Model Zoo: to repozytorium typu open source oferuje wyselekcjonowany zbiór wstępnie wytrenowanych, najnowocześniejszych modeli w formacie ONNX. Te modele są zalecane do użycia z jednostkami NPU we wszystkich Copiloti komputerach, w tym na urządzeniach Intel i AMD (wkrótce).
W przypadku osób, które chcą wprowadzić własny model, zalecamy użycie narzędzia optymalizacji modeli z uwzględnieniem sprzętu, Olive. Olive może pomóc w kompresji, optymalizacji i kompilacji modelu w celu pracy ze środowiskiem uruchomieniowym ONNX jako rozwiązaniem optymalizacji wydajności npu. Dowiedz się więcej: Ułatwienie korzystania ze sztucznej inteligencji: jak ONNX Runtime i Olive toolchain pomogą Ci w Q&A | Build 2023.
Jak mierzyć wydajność modeli sztucznej inteligencji uruchomionych lokalnie na urządzeniu NPU
Aby zmierzyć wydajność integracji funkcji sztucznej inteligencji w aplikacji i skojarzonych czasów wykonania modelu sztucznej inteligencji:
Rejestrowanie śladu: Rejestrowanie aktywności urządzenia w określonym czasie nazywa się śledzeniem systemu. Śledzenie systemu tworzy plik "śledzenia", który może służyć do generowania raportu i pomaga określić, jak poprawić wydajność aplikacji. Dowiedz się więcej: Przechwytywanie śledzenia systemu w celu analizowania użycia pamięci.
Wyświetl użycie jednostki NPU: sprawdź, które procesy korzystają z jednostki NPU i stosów wywołań przesyłających pracę.
Przeglądaj pracę i stosy wywołań na CPU: Analizuj wyniki wstępnego karmienia modeli sztucznej inteligencji i przetwarzania po pracy.
ładowanie i środowisko uruchomieniowe: sprawdź czas ładowania modelu sztucznej inteligencji i utwórz sesję środowiska uruchomieniowego ONNX.
parametry środowiska uruchomieniowego: Sprawdź parametry konfiguracji środowiska uruchomieniowego ONNX i dostawcy wykonywania (EP), które wpływają na wydajność i optymalizację środowiska uruchomieniowego modelu.
Indywidualne czasy wnioskowania: Śledzenie czasów wnioskowania oraz szczegółów dodatkowych z jednostki NPU.
Profiler: Profiluj operacje modelu AI, aby zobaczyć, jak długo każdy operator miał wpływ na całkowity czas wnioskowania.
specyficzne dla jednostki NPU: sprawdź szczegóły podrzędne jednostki NPU, takie jak metryki podrzędne HW, przepustowość pamięci i inne.
Aby wykonać te pomiary, zalecamy następujące narzędzia diagnostyczne i śledzenia:
- Menedżer zadań: umożliwia użytkownikowi wyświetlanie wydajności systemu operacyjnego Windows zainstalowanego na urządzeniu, w tym procesów, wydajności, historii aplikacji, aplikacji startowych, użytkowników, szczegółów i usług. Dane wydajności w czasie rzeczywistym będą wyświetlane dla CPU urządzenia, pamięci, dysku, sieci Wi-Fi, procesora GPU i teraz NPU. Dane obejmują procent wykorzystania, dostępnej pamięci, pamięci udostępnionej, wersji sterownika, lokalizacji fizycznej i nie tylko.
- Windows Performance Recorder (WPR): WPR zawiera teraz profil przetwarzania neuronowego do rejestrowania aktywności NPU. Rejestruje to interakcji modelu sterowników obliczeniowych firmy Microsoft (MCDM) z serwerem NPU. Deweloperzy mogą teraz zobaczyć użycie jednostek NPU, które procesy korzystają z jednostki NPU, oraz stosy wywołań przesyłające pracę.
- Windows Performance Analyzer (WPA): WPA tworzy grafy i tabele danych śledzenia zdarzeń systemu Windows (ETW), które są rejestrowane przez narzędzie Windows Performance Recorder (WPR), Xperf lub ocenę uruchamianą na platformie oceny. Zapewnia wygodne punkty dostępu do analizowania procesora CPU, dysku, sieci, ONNX Runtime oraz nową tabelę dla analizy NPU , wszystkie w jednej osi czasu. Usługa WPA może teraz wyświetlać zadania i stosy wywołań na procesorze, które są związane z przygotowaniem danych do trenowania modeli AI oraz przetwarzaniem wyników modelu AI po jego zastosowaniu. pobierz analizator wydajności systemu Windows ze sklepu Microsoft Store.
- GPUView: GPUView to narzędzie programistyczne, które odczytuje zarejestrowane zdarzenia wideo i jądra z pliku dziennika śledzenia zdarzeń (.etl) i przedstawia dane graficznie użytkownikowi. To narzędzie obejmuje teraz zarówno operacje procesora GPU, jak i procesor NPU, a także obsługę wyświetlania zdarzeń DirectX dla urządzeń MCDM, takich jak NPU.
-
zdarzenia ONNX Runtime w Analizatorze wydajności Windows: Począwszy od ONNXRuntime 1.17 (i ulepszony w wersji 1.18.1), następujące przypadki użycia są dostępne ze zdarzeniami emitowanymi w środowisku uruchomieniowym:
- Zobacz, jak długo trwało ładowanie modelu sztucznej inteligencji i tworzenie sesji środowiska uruchomieniowego ONNX.
- Zobacz parametry konfiguracji środowiska uruchomieniowego ONNX i dostawcy wykonywania (EP), które wpływają na wydajność oraz optymalizację działania modelu.
- Śledzenie czasów przetwarzania i danych szczegółowych z jednostki przetwarzającej NPU (QNN).
- Profiluj operacje modelu AI, aby sprawdzić, jak długo każdy operator przyczyniał się do czasu całkowitego wnioskowania.
- Dowiedz się więcej na temat profilowania ONNX Runtime Execution Provider (EP).
Notatka
Interfejs użytkownika funkcji WPR (interfejs użytkownika dostępny do obsługi wiersza polecenia opartego na funkcji WPR w systemie Windows), WPA i GPUView są częścią zestawu narzędzi Windows Performance Toolkit (WPT), wersja maj 2024+. Aby użyć WPT, musisz: pobrać zestaw Windows ADK.
Aby szybko rozpocząć wyświetlanie zdarzeń ONNX Runtime z użyciem analizatora wydajności systemu Windows (WPA), wykonaj następujące kroki:
Pobierz ort.wprp oraz etw_provider.wprp.
Otwórz wiersz polecenia i wprowadź:
wpr -start ort.wprp -start etw_provider.wprp -start NeuralProcessing -start CPU echo Repro the issue allowing ONNX to run wpr -stop onnx_NPU.etl -compress
Połącz profile narzędzia Windows Performance Recorder (WPR) z innymi wbudowanymi profilami rejestrowania, takimi jak CPU, dysk itp.
pobierz narzędzie Windows Performance Analyzer (WPA) ze sklepu Microsoft Store.
Otwórz plik
onnx_NPU.etl
w usłudze WPA. Double-Click otwórz te grafy:- "Przetwarzanie neuronowe — wykorzystanie jednostek NPU>
- Zdarzenia ogólne dla zdarzeń ONNX
Dodatkowe narzędzia do pomiaru wydajności do rozważenia przy użyciu narzędzi systemu Microsoft Windows wymienionych powyżej obejmują:
- Qualcomm Snapdragon Profiler (qprof): graficzny interfejs użytkownika oraz narzędzie do profilowania wydajności całego systemu, zaprojektowane do wizualizacji wydajności systemu oraz identyfikowania możliwości optymalizacji i usprawnień skalowania aplikacji w procesorach SoC CPU, GPU, DSP i innych blokach IP firmy Qualcomm. Narzędzie Snapdragon Profiler umożliwia wyświetlanie szczegółów NPU, takich jak szczegóły sprzętowe, przepustowość pamięci i inne.