Entwicklerhandbuch – Copilot+-PCs
Copilot+-PCs sind eine neue Klasse von Windows 11-Hardware, die von einer leistungsstarken neuronalen Verarbeitungseinheit (NPU) unterstützt wird – einem speziellen Computerchip für KI-intensive Prozesse wie Echtzeitübersetzungen und Bildgenerierung – die mehr als 40 Billionen Vorgänge pro Sekunde (TOPS) ausführen kann. Copilot+-PCs bieten ganztägige Akkulaufzeit und Zugriff auf die fortschrittlichsten KI-Features und -Modelle. Erfahren Sie mehr unter Einführung in Copilot+-PCs – Der offizielle Microsoft-Blog.
Die folgende Anleitung für Entwickler von Copilot+-PCs umfasst:
- Voraussetzungen auf dem Gerät
- Was ist der ARM-basierte Chip Snapdragon Elite X+?
- Einzigartige KI-Features, die von Copilot+-PCs mit einem NPU-Prozessor unterstützt werden
- Zugreifen auf die NPU auf einem Copilot+-PC
- Verwenden der ONNX-Runtime für den programmgesteuerten Zugriff auf die NPU auf einem Copilot+-PC
- Messen der Leistung von KI-Modellen, die lokal auf dem Gerät NPU ausgeführt werden
Dieser Leitfaden ist spezifisch für Copilot+-PCs.
Viele der neuen Windows KI-Features erfordern eine NPU mit der Möglichkeit, über 40 Billionen TOPS auszuführen, einschließlich, aber nicht beschränkt auf:
- ARM-basierte Qualcomm Snapdragon X Elite-Geräte
- Intel Lunar Lake-Geräte – In Kürze verfügbar
- AMD STRIX (Ryzen AI 9)-Geräte – In Kürze verfügbar
Der neue ARM-basierte Snapdragon X Elite Arm-basierte-Chip von Qualcomm hebt die KI-Integration durch seine branchenführende neuronale Verarbeitungseinheit (NPU) hervor. Diese NPU ist in der Lage, große Datenmengen parallel zu verarbeiten, wodurch Billionen von Vorgängen pro Sekunde ausgeführt werden, wobei Leistung für KI-Aufgaben effizienter als bei einer CPU oder GPU genutzt wird, was zu einer längeren Akkulaufzeit des Geräts führt. Die NPU arbeitet in Übereinstimmung mit der CPU und GPU. Windows 11 weist Verarbeitungsaufgaben dem am besten geeigneten Ort zu, um schnelle und effiziente Leistung zu erzielen. Die NPU ermöglicht intelligente KI-Umgebungen auf den Geräten mit Sicherheit auf Unternehmensniveau für einen verbesserten Schutz von Chip zu Cloud.
- Erfahren Sie mehr über Qualcomm Snapdragon X Elite.
- Erfahren Sie mehr über die Verwendung und Entwicklung von Windows on Arm.
Copilot+-PCs bieten einzigartige KI-Umgebungen, die mit modernen Versionen von Windows 11 ausgeliefert werden. Zu diesen KI-Features, die auf der Geräte-NPU ausgeführt werden sollen, gehören:
Windows-Studioeffekte: Eine Reihe von NPU-beschleunigten Audio- und Video-KI-Effekten von Microsoft, einschließlich Kreative Filter, Verschwommener Hintergrund, Blickkontakt, Automatische Umrahmung, Sprachfokus. Entwickler können ihrer App auch Umschaltflächen für Steuerelemente auf Systemebene hinzufügen. Liste derWindows-Studioeffekte mit KI-Verbesserungen.
Abruf: Die KI-unterstützte UserActivity-API, mit der Benutzer mithilfe natürlicher Sprache nach früheren Interaktionen suchen und dort weitermachen konnten, wo sie aufgehört haben. Verfügbar für Copilot+-PCs über das Windows-Insider-Programm (WIP). Weitere Informationen: Verfolgen Sie Ihre Schritte mit „Recall“
Phi Silica: Das Phi-SLM (Small Language Model), mit dessen Hilfe Ihre App eine Verbindung mit dem geräteinternen Modell herstellen kann, um Aufgaben der linguistische Datenverarbeitung (Chat, Berechnungen, Code, Schlussfolgerungen) mit einer demnächst veröffentlichen Version des Windows App SDK durchzuführen.
Texterkennung: Die API für Optische Zeichenerkennung (OCR) ermöglicht das Extrahieren von Text aus Bildern und Dokumenten. Stellen Sie sich Aufgaben wie das Konvertieren einer PDF-Datei, eines Papierdokuments oder eines Bilds eines Whiteboards in einem Klassenzimmer in bearbeitbaren digitalen Text vor.
Cocreator mit Paint: Ein neues Feature in Microsoft Paint, das Bilder in KI-Kunst umwandelt.
Super Resolution: Eine branchenführende KI-Technologie, die die NPU verwendet, um Spiele schneller laufen und besser aussehen zu lassen.
*Möglicherweise sind nicht alle Features anfänglich auf allen Copilot+-PCs verfügbar.
Wichtig
KI-Modelle, die in den neuesten Versionen von Windows bereitgestellt werden, werden über APIs in der Windows Copilot Runtime verfügbar sein, die bei der Build 2024 angekündigt wurden. APIs für neue KI-Features, wie z. B. Phi Silica, werden von Modellen unterstützt, die für die Ausführung (Rückschlüsse) in der NPU optimiert sind und zum Lieferumfang einer demnächst veröffentlichen Version des Windows App SDK gehören.
Die neuronale Verarbeitungseinheit (NPU) ist eine neue Hardwareressource. Wie andere Hardwareressourcen auf einem PC muss die NPU-Software speziell programmiert werden, damit die Vorteile genutzt werden können, die sie bietet. NPUs wurden speziell für die Ausführung der mathematischen Deep Learning-Vorgänge entwickelt, aus denen KI-Modelle bestehen.
Die oben genannten KI-Features von Windows 11 Copilot+ wurden speziell für die Nutzung der NPU entwickelt. Benutzer erhalten eine verbesserte Akkulaufzeit und eine schnellere Rückschlusszeit für KI-Modelle, die auf die NPU abzielen. Windows 11-Unterstützung für NPUs umfasst ARM-basierte Qualcomm-Geräte sowie Intel- und AMD-Geräte (in Kürze verfügbar).
Für Geräte mit NPUs kann der Task-Manager jetzt zum Anzeigen der NPU-Ressourcenverwendung verwendet werden.
Die empfohlene Rückschlussmethode (Ausführen von KI-Aufgaben) auf der Geräte-NPU ist die Verwendung der ONNX Runtime. Die ONNX Runtime ist ein flexibler und leistungsfähiger Stapel zum Programmieren mit der NPU sowie der GPU und CPU, sodass Sie Ihre eigenen KI-Modelle nutzen oder Open-Source-KI-Modelle verwenden können, die im Web zu finden sind. Nachfolgend erfahren Sie mehr über die Verwendung der ONNX Runtime für den Zugriff auf die NPU. Weiter unten sich auch Informationen zur Verwendung von Machine Learning-Modellen in Ihrer Windows-App verfügbar.
Hinweis
Was ist mit anderen Runtimes für PyTorch oder Tensorflow? Andere Laufzeiten für PyTorch, Tensorflow und andere vom Hersteller von Silicon bereitgestellte SDK-Typen werden auch unter Windows unterstützt. Derzeit können Sie PyTorch, TensorFlow und andere Modelltypen ausführen, indem Sie siein das flexible ONNX Format konvertieren, aber die systemeigene Unterstützung wird in Kürze ebenfalls verfügbar sein.
Microsoft bietet einen vollständigen Open-Source-Rückschluss und ein Schulungsframework namens ONNX Runtime. Die ONNX Runtime ist die empfohlene Open-Source-Lösung von Microsoft zum Ausführen von KI-Modellen auf einer NPU. Da die ONNX Runtime flexibel ist und viele verschiedene Optionen zum Ausführen von KI-Modellen unterstützt, kann die Auswahl verwirrend sein. Dieser Leitfaden hilft Ihnen bei der Auswahl von Optionen für Windows Copilot+-PCs.
- Qualcomm Snapdragon X: Derzeit sollten Entwickler den Qualcomm QNN Execution Provider (EP) ins Auge fassen, der das Qualcomm AI Engine Direct SDK (QNN) verwendet. Vorinstallierte Pakete mit QNN-Unterstützung stehen zum Download zur Verfügung. Dies ist derselbe Stapel, der derzeit von der Windows Copilot Runtime und Oberflächen auf Copilot+ PC Qualcomm-Geräten verwendet wird. Unterstützung von DirectML und WebNN für NPUs von Qualcomm Snapdragon X Elite wurde bei der Build 2024 angekündigt und wird in Kürze verfügbar sein.
- Intel- und AMD-NPU-Geräte: Weitere NPU-Geräte werden später im Jahr 2024 verfügbar sein. DirectML ist die empfohlene Methode für diese Geräte.
KI-Modelle werden häufig trainiert und sind in größeren Datenformaten verfügbar, z. B. FP32. Viele NPU-Geräte unterstützen jedoch nur Ganzzahl-Mathematik in niedrigeren Bit-Formaten wie INT8, um die Leistung und Energieeffizienz zu erhöhen. Daher müssen KI-Modelle konvertiert (oder quantisiert) werden, um auf der NPU ausgeführt zu werden. Es gibt viele Modelle, die bereits in ein einsatzbereites Format konvertiert wurden. Sie können auch Ihr eigenes Modell (BYOM) zum Konvertieren oder Optimieren verwenden.
- Qualcomm AI Hub (Compute): Qualcomm stellt KI-Modelle bereit, die bereits validiert wurden und auf PCs mit Snapdragon X Elite verwendet werden können. Diese Modelle wurden speziell optimiert, um effizient auf dieser NPU zu laufen. Weitere Informationen: Beschleunigen der Modellbereitstellung mit Qualcomm AI Hub | Microsoft Build 2024.
- ONNX Model Zoo: Dieses Open-Source-Repository bietet eine kuratierte Sammlung vordefinierter, modernster Modelle im ONNX-Format. Diese Modelle werden für die Verwendung mit NPUs auf allen Copilot+-PCs empfohlen, einschließlich Intel- und AMD-Geräten (in Kürze verfügbar).
Für diejenigen, die Ihr eigenes Modell verwenden möchten, empfehlen wir die Verwendung des hardwarefähigen Modelloptimierungstools Olive. Olive kann bei der Modellkomprimierung, Optimierung und Kompilierung helfen, um mit der ONNX Runtime als NPU-Leistungsoptimierungslösung zu arbeiten. Weitere Informationen: KI leicht gemacht: Wie die ONNX-Runtime und die Olive-Toolkette Ihnen helfen, F&A | Build 2023.
So messen Sie die Leistung der KI-Featureintegration in Ihrer App und die zugehörigen AI-Modelllaufzeiten:
Aufzeichnen einer Ablaufverfolgung: Die Aufzeichnung von Geräteaktivitäten über einen bestimmten Zeitraum wird als Systemablaufverfolgung bezeichnet. Die Systemablaufverfolgung erzeugt eine Ablaufverfolgungsdatei, die verwendet werden kann, um einen Bericht zu generieren und Ihnen zu helfen, die Leistung Ihrer App zu verbessern. Weitere Informationen: Erfassen einer Systemablaufverfolgung zur Analyse der Speicherauslastung.
Anzeigen der NPU-Verwendung: Untersuchen Sie, welche Prozesse die NPU verwenden, und die Callstacks, die Arbeit übermitteln.
Anzeigen von Arbeits- und Aufrufstapeln in der CPU: Untersuchen Sie die Ergebnisse der Vorarbeit, die KI-Modelle speist, und der Nacharbeit, die KI-Modelle verarbeitet.
Laden und Laufzeit: Untersuchen Sie die Dauer des Ladens eines KI-Modells, und erstellen Sie eine ONNX-Runtime-Sitzung.
Laufzeitparameter: Untersuchen Sie die Konfigurations- und Ausführungsanbieterparameter (EP) der ONNX Runtime, die sich auf die Leistung und Optimierung der Modelllaufzeit auswirken.
Individuelle Rückschlusszeiten: Nachverfolgen von Zeiten und Unterdetails pro Rückschluss über die NPU.
Profiler: Erstellen Sie Profile für die Operationen des KI-Modells, um zu sehen, wie lange jeder Operator zur Gesamt-Rückschlusszeit beigetragen hat.
NPU-spezifisch: Untersuchen Sie NPU-Unterdetails wie Metriken von Unterhardware, Speicherbandbreite und weitere Informationen.
Um diese Messungen durchzuführen, empfehlen wir die folgenden Diagnose- und Ablaufverfolgungstools:
- Task-Manager: Ermöglicht einem Benutzer, die Leistung des auf seinem Gerät installierten Windows-Betriebssystems zu überprüfen, einschließlich Prozessen, Leistung, App-Verlauf, Start-Apps, Benutzern, Details und Diensten. Leistungsdaten in Echtzeit werden für Ihre Geräte-CPU, Ihren Arbeitsspeicher, Ihren Speicherdatenträger, Ihr WLAN, Ihre GPU und jetzt auch für Ihre NPU angezeigt. Daten umfassen den Prozentsatz der Auslastung, den verfügbaren Arbeitsspeicher, den gemeinsam genutzten Speicher, die Treiberversion, den physischen Speicherort und vieles mehr.
- Windows Performance Recorder (WPR):WPR ist jetzt mit einem neuronalen Verarbeitungsprofil ausgestattet, um NPU-Aktivitäten aufzuzeichnen. Dadurch werden Microsoft Compute Driver Model (MCDM)-Interaktionen mit der NPU aufgezeichnet. Entwickler können jetzt die NPU-Verwendung anzeigen, welche Prozesse die NPU verwenden, und die Callstacks, die Arbeit übermitteln.
- Windows Performance Analyzer (WPA):WPA erstellt Diagramme und Datentabellen von Ereignissen der Ereignisverfolgung für Windows (ETW), die von Windows Performance Recorder (WPR), Xperf oder einer Bewertung, die in der Bewertungsplattform ausgeführt wird, aufgezeichnet wurden. Es bietet bequeme Zugriffspunkte für die Analyse der CPU-, Datenträger-, Netzwerk-, ONNX-Runtime-Ereignisse... und eine neue Tabelle für die NPU-Analyse – alles in einer einzigen Zeitachse. Mit WPA können jetzt die Arbeits- und Callstacks auf der CPU betrachtet werden, die mit der Vorbereitung der Daten für die KI-Modelle und der Verarbeitung der Ergebnisse nach der Arbeit zusammenhängen. Laden Sie Windows Performance Analyzer aus dem Microsoft Store herunter.
- GPUView: GPUView ist ein Entwicklungstool, das protokollierte Video- und Kernelereignisse aus einer Ereignisablaufprotokolldatei (.etl) lesen und die Daten grafisch darstellen kann. Dieses Tool enthält jetzt sowohl GPU- als auch NPU-Vorgänge sowie Unterstützung für das Anzeigen von DirectX-Ereignissen für MCDM-Geräte wie die NPU.
- ONNX-Runtime-Ereignisse in Windows Performance Analyzer: Ab ONNXRuntime 1.17 (und verbessert in 1.18.1) stehen die folgenden Anwendungsfälle mit Ereignissen zur Verfügung, die in der Laufzeit ausgegeben werden:
- Erfahren Sie, wie lange es dauerte, ein KI-Modell zu laden und eine ONNX-Runtime-Sitzung zu erstellen.
- Untersuchen Sie die Konfigurations- und Ausführungsanbieterparameter (EP) der ONNX Runtime, die sich auf die Leistung und Optimierung der Modelllaufzeit auswirken.
- Nachverfolgen von Rückschlusszeiten und Unterdetails aus der NPU (QNN).
- Erstellen Sie Profile für die Operationen des KI-Modells, um zu sehen, wie lange jeder Operator zur Gesamt-Rückschlusszeit beigetragen hat.
- Weitere Informationen zur Profilerstellung für Ausführugsanbieter (Execution Provider, EP), in der ONNX Runtime.
Hinweis
Die WPR-Benutzeroberfläche (die Benutzeroberfläche zur Unterstützung des befehlszeilenbasierten WPR, die in Windows enthalten ist), WPA und GPUView sind alle Teil des Windows Performance Toolkits (WPT) ab der Version Mai 2024. Um das WPT zu verwenden, müssen Sie das Windows ADK Toolkit herunterladen.
Führen Sie die folgenden Schritte aus, um eine Schnellstartanleitung zum Anzeigen von ONNX-Runtime-Ereignissen mit dem Windows Performance Analyzer (WPA) anzuzeigen:
Laden Sie ort.wprp und etw_provider.wprp herunter.
Öffnen Sie die Befehlszeile, und geben Sie Folgendes ein:
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
Kombinieren Sie die Windows Performance Recorder (WPR)-Profile mit anderen integrierten Aufzeichnungsprofilen wie CPU, Datenträger usw.
Laden Sie Windows Performance Analyzer (WPA) aus dem Microsoft Store herunter.
Öffnen Sie die Datei
onnx_NPU.etl
in WPA. Doppelklicken Sie, um die folgenden Diagramme zu öffnen:- Neuronale Verarbeitung –> NPU-Auslastung
- Generische Ereignisse für ONNX-Ereignisse
Weitere Tools zur Leistungsmessung, die Sie mit den oben aufgeführten Microsoft Windows-Tools in Betracht ziehen sollten, sind:
- Qualcomm Snapdragon Profiler (qprof): Ein GUI- und systemweites Leistungsprofiling-Tool, das entworfen wurde, um die Systemleistung zu visualisieren und Optimierungs- sowie Verbesserungsmöglichkeiten für die Anwendungsskalierung über Qualcomm SoC CPUs, GPUs, DSPs und andere IP-Blöcke zu identifizieren. Der Snapdragon Profiler ermöglicht das Anzeigen von NPU-Unterdetails wie Metriken für Unterhardware, Speicherbandbreite und mehr.