Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Copilot+ pc's zijn een nieuwe klasse Windows 11-hardware die wordt aangedreven door een krachtige neurale verwerkingseenheid (NPU) - een gespecialiseerde computerchip voor AI-intensieve processen, zoals realtime vertalingen en het genereren van afbeeldingen, die meer dan 40 biljoen bewerkingen per seconde (TOPS) kunnen uitvoeren. Copilot+ Pc's bieden de hele dag batterijduur en toegang tot de meest geavanceerde AI-functies en -modellen.
Meer informatie:
- De toekomst mogelijk maken: het uitbreidende Arm-app-ecosysteem voor Copilot+ pc's
- Inleiding tot Copilot+ pc's - de officiële Microsoft-blog.
De volgende Copilot+ PC-ontwikkelingsrichtlijnen omvatten:
- Apparaatvereisten
- Wat is de op Arm gebaseerde Snapdragon Elite X+ chip?
- Unieke AI-functies die worden ondersteund door Copilot+ pc's met een NPU-processor
- Toegang krijgen tot de NPU op een Copilot+ pc
- ONNX Runtime gebruiken om programmatisch toegang te krijgen tot de NPU op een Copilot+ pc
- Prestaties meten van AI-modellen die lokaal worden uitgevoerd op de NPU van het apparaat
Voorwaarden
Deze richtlijnen zijn specifiek voor Copilot+ pc's.
Veel van de nieuwe Windows AI-functies vereisen een NPU met de mogelijkheid om op 40+ TOPS uit te voeren, waaronder maar niet beperkt tot:
- Microsoft Surface Laptop Copilot+ PC
- Microsoft Surface Pro Copilot + PC
- HP OmniBook X 14
- Dell Latitude 7455, XPS 13 en Inspiron 14
- Acer Swift 14 AI
- Lenovo Yoga Slim 7x en ThinkPad T14s
- Samsung Galaxy Book4 Edge
- ASUS Vivobook S 15 en ProArt PZ13
- Copilot+ Pc's met nieuwe AMD- en Intel-silicium, waaronder AMD Ryzen AI 300-serie en Intel Core Ultra 200V-serie.
Surface Copilot+ pc's voor Bedrijven:
- Surface Laptop voor Bedrijven met Intel Core Ultra-processors (serie 2) ( beschikbaar vanaf 18 februari 2025)
- Surface Pro voor Bedrijven met Intel Core Ultra-processors (serie 2) ( beschikbaar vanaf 18 februari 2025)
- Introductie van nieuwe Surface Copilot+ pc's voor Bedrijven
Wat is de Arm-gebaseerde Snapdragon Elite X-chip?
De nieuwe Snapdragon X Elite Arm-chip, gebouwd door Qualcomm, benadrukt AI-integratie via zijn toonaangevende Neural Processing Unit (NPU). Deze NPU kan grote hoeveelheden gegevens parallel verwerken en miljarden bewerkingen per seconde uitvoeren, waarbij energie op AI-taken efficiënter wordt gebruikt dan een CPU of GPU, wat resulteert in een langere levensduur van de batterij van het apparaat. De NPU werkt in overeenstemming met de CPU en GPU. Windows 11 wijst verwerkingstaken toe aan de meest geschikte plaats om snelle en efficiënte prestaties te leveren. De NPU maakt intelligente AI-ervaringen op apparaat mogelijk met beveiliging op bedrijfsniveau voor verbeterde beveiliging van chip naar cloud.
- Meer informatie over de
Het Vak x Elite. - Meer informatie over het gebruik en ontwikkelen voor Windows op Arm.
Unieke AI-functies die worden ondersteund door Copilot+ pc's met een NPU
Copilot+ pc's bieden unieke AI-ervaringen die worden geleverd met moderne versies van Windows 11. Deze AI-functies, ontworpen om te worden uitgevoerd op de NPU van het apparaat, worden verzonden in de nieuwste versies van Windows en zijn beschikbaar via API's in Microsoft Foundry in Windows. Meer informatie over Microsoft Foundry op Windows-API's die worden ondersteund door modellen die zijn geoptimaliseerd voor uitvoering (inferentie) op de NPU. Deze API's worden verzonden in een toekomstige release van de Windows App SDK.
Toegang krijgen tot de NPU op een Copilot+ pc
De NPU (Neural Processing Unit) is een nieuwe hardwareresource. Net als andere hardwarebronnen op een pc moet de NPU software specifiek worden geprogrammeerd om te profiteren van de voordelen die het biedt. NPU's zijn speciaal ontworpen om de deep learning-wiskundige bewerkingen uit te voeren waaruit AI-modellen bestaan.
De hierboven genoemde Windows 11-Copilot+ AI-functies zijn speciaal ontworpen om te profiteren van de NPU. Gebruikers krijgen een verbeterde levensduur van de batterij en snellere uitvoeringstijd voor AI-modellen die gericht zijn op de NPU. Windows 11-ondersteuning voor NPU's bevat Arm-apparaten, evenals Intel- en AMD-apparaten (binnenkort beschikbaar).
Voor apparaten met NPU's kan taakbeheer nu worden gebruikt om het resourcegebruik van NPU's weer te geven.
De aanbevolen manier om AI-taken uit te voeren op de NPU van het apparaat is door Windows ML te gebruiken.
Programmatisch toegang krijgen tot de NPU op een Copilot+ pc voor AI-versnelling
De aanbevolen manier om programmatisch toegang te krijgen tot de NPU (Neural Processing Unit) en GPU voor AI-versnelling is verschoven van DirectML naar Windows ML (WinML). Deze overgang weerspiegelt een bredere inspanning om de ontwikkelaarservaring voor AI-workloads op Windows-apparaten te vereenvoudigen en te optimaliseren. U vindt hier bijgewerkte richtlijnen: Ontdek hoe Windows Machine Learning (ML) uw Windows-apps helpt AI-modellen lokaal uit te voeren.
Ingebouwde EP-detectie: voorheen moesten ontwikkelaars weten welke uitvoeringsproviders (EPs) compatibel waren met hun hardware en die EPs bundelen met hun toepassingen. Dit leidde vaak tot grotere toepassingsgrootten en verhoogde complexiteit bij het beheren van afhankelijkheden. Met Windows ML wordt het proces nu geautomatiseerd en gestroomlijnd. Windows ML detecteert automatisch de beschikbare hardware op het apparaat en downloadt indien nodig de juiste IP's. Dit betekent dat ontwikkelaars geen specifieke EPs meer hoeven te bundelen met hun toepassingen, wat resulteert in kleinere toepassingsgrootten en verminderde complexiteit.
Geïntegreerde EP-levering: de vereiste EP's, zoals de QNNExecutionProvider van Qualcomm of de OpenVINO EP van Intel, worden nu gebundeld met Windows of geleverd via Windows Update, waardoor handmatige downloads overbodig zijn.
ORT onder de motorkap: Windows ML maakt nog steeds gebruik van ONNX Runtime als inference-engine, maar abstraheert de complexiteit van EP-beheer. ONNX Runtime is een opensource-deductie- en trainingsengine voor AI-modellen met behulp van de ONNX-indeling en stelt ontwikkelaars in staat AI-toepassingen te bouwen die efficiënt kunnen worden uitgevoerd op een breed scala aan apparaten.
Samenwerking met hardwareleveranciers: Microsoft werkt rechtstreeks samen met hardwareleveranciers, zoals Qualcomm en Intel, om EP-compatibiliteit met vroege stuurprogrammaversies en nieuwe silicium te garanderen (bijvoorbeeld Snapdragon X Elite, Intel Core Ultra, enzovoort).
Wanneer u een AI-model implementeert met Windows ML op een Copilot+ pc:
- Windows ML voert een query uit op het systeem voor beschikbare hardwareversnellers.
- Het selecteert de best presterende EP (bijvoorbeeld QNN voor Qualcomm NPUs, OpenVINO voor Intel NPUs).
- Het EP wordt automatisch geladen en de inference begint.
- Als de voorkeurs-EP mislukt of niet beschikbaar is, valt Windows ML probleemloos terug op een andere (bijvoorbeeld met behulp van de GPU of CPU).
Dit betekent dat ontwikkelaars zich kunnen richten op het bouwen van AI-ervaringen zonder dat ze zich zorgen hoeven te maken over hardwareintegratie op laag niveau
Ondersteunde modelindelingen
AI-modellen worden vaak getraind en beschikbaar in grotere gegevensindelingen, zoals FP32. Veel NPU-apparaten ondersteunen echter alleen gehele getallen in lagere bitindeling, zoals INT8, voor verbeterde prestaties en energie-efficiëntie. Daarom moeten AI-modellen worden geconverteerd (of 'gekwantiseerd') om te worden uitgevoerd op de NPU. Er zijn veel modellen beschikbaar die al zijn geconverteerd naar een kant-en-klaar formaat. U kunt ook uw eigen model (BYOM) gebruiken om te converteren of te optimaliseren.
- Qualcomm AI Hub (Compute): Qualcomm biedt AI-modellen die al zijn gevalideerd voor gebruik op Copilot+ pc's met Snapdragon X Elite, waarbij de beschikbare modellen specifiek zijn geoptimaliseerd om efficiënt te worden uitgevoerd op deze NPU. Meer informatie: Modelimplementatie versnellen met Azure Ai Hub | Microsoft Build 2024.
- ONNX Model Zoo: Deze opensource-opslagplaats biedt een gecureerde verzameling vooraf getrainde, state-of-the-art modellen in de ONNX-indeling. Deze modellen worden aanbevolen voor gebruik met NPU's op alle Copilot+ pc's, waaronder Intel- en AMD-apparaten (binnenkort beschikbaar).
Voor degenen die uw eigen model willen meenemen, raden we u aan het hulpprogramma voor hardwarebewuste modeloptimalisatie te gebruiken, Olive. Olive kan helpen met modelcompressie, optimalisatie en compilatie om te werken met ONNX Runtime als een NPU-oplossing voor prestatieoptimalisatie. Meer informatie: AI vergemakkelijken: Hoe de ONNX Runtime en Olive-hulpprogrammaketen u zullen helpen Q&A | Build 2023.
Prestaties meten van AI-modellen die lokaal worden uitgevoerd op de NPU van het apparaat
De prestaties van ai-functieintegratie in uw app en de bijbehorende AI-modelruntimes meten:
Neem een tracering op: Het opnemen van apparaatactiviteit gedurende een bepaalde periode staat bekend als systeemtracering. Systeemtracering produceert een traceringsbestand dat kan worden gebruikt om een rapport te genereren en u te helpen identificeren hoe u de prestaties van uw app kunt verbeteren. Meer informatie: Een systeemtracering vastleggen om het geheugengebruik te analyseren.
NPU-gebruik weergeven: onderzoek welke processen gebruikmaken van de NPU en de callstacks die werk indienen.
Bekijk werk- en callstacks op de CPU: Bekijk de resultaten van de AI-modellen voor pre-werk-invoer en AI-modellen voor post-werkverwerking.
Laden en runtime: onderzoek de tijdsduur nodig om een AI-model te laden en een ONNX Runtime sessie aan te maken.
Runtimeparameters: Onderzoek de ONNX Runtime-configuratie en Uitvoeringsprovider (EP)-parameters die van invloed zijn op de uitvoeringsprestaties en optimalisatie van de modelruntime.
Afzonderlijke inferentietijden: Houd de tijden per inferentie en subdetails van de NPU bij.
Profiler: Profile AI-modelhandelingen om te zien hoeveel tijd elke operator heeft genomen om bij te dragen aan de totale inferentietijd.
NPU-specifiek: Onderzoek NPU-subdetails, zoals sub-HW-metrieken, geheugenbandbreedte en meer.
Als u deze metingen wilt uitvoeren, raden we de volgende diagnostische hulpprogramma's en traceringshulpprogramma's aan:
- Taakbeheer: hiermee kan een gebruiker de prestaties bekijken van het Windows-besturingssysteem dat op hun apparaat is geïnstalleerd, waaronder Processen, Prestaties, App-geschiedenis, Opstart-apps, Gebruikers, Details en Services. Realtime prestatiegegevens worden weergegeven voor de CPU, geheugen, opslagschijf, Wi-Fi, GPU... en nu NPU. Gegevens omvatten het percentage gebruik, beschikbaar geheugen, gedeeld geheugen, stuurprogrammaversie, fysieke locatie en meer.
- Windows Performance Recorder (WPR): WPR wordt nu geleverd met een Neural Processing-profiel om NPU-activiteit vast te leggen. Hiermee worden interacties van Microsoft Compute Driver Model (MCDM) met de NPU vastgelegd. Ontwikkelaars kunnen nu het NPU-gebruik zien, welke processen gebruikmaken van de NPU en de callstacks die werk indienen.
- Windows Performance Analyzer (WPA): WPA maakt grafieken en gegevenstabellen van Gebeurtenissen traceren voor Windows -gebeurtenissen (ETW) die worden vastgelegd door Windows Performance Recorder (WPR), Xperf of een evaluatie die wordt uitgevoerd in het Assessment Platform. Het biedt handige toegangspunten voor het analyseren van de CPU, schijf, netwerk, ONNX Runtime-gebeurtenissen... en een nieuwe tabel voor NPU-analyse, allemaal in één tijdlijn. WPA kan nu het werk en de callstacks op de CPU bekijken die betrekking hebben op het voorbereiden van ai-modellen en de verwerking van resultaten na het ai-modellenwerk. Download Windows Performance Analyzer vanuit de Microsoft Store.
- GPUView: GPUView is een ontwikkelhulpprogramma dat vastgelegde video- en kernelgebeurtenissen leest uit een gebeurtenistraceringslogboekbestand (.etl) en de gegevens grafisch aan de gebruiker presenteert. Dit hulpprogramma bevat nu zowel GPU- als NPU-bewerkingen, evenals ondersteuning voor het weergeven van DirectX-gebeurtenissen voor MCDM-apparaten , zoals de NPU.
-
ONNX Runtime-gebeurtenissen in Windows Performance Analyzer: vanaf ONNXRuntime 1.17 (en uitgebreid in 1.18.1) zijn de volgende use cases beschikbaar met gebeurtenissen die in de runtime worden verzonden:
- Bekijk hoe lang het duurde om een AI-model te laden en een ONNX Runtime-sessie te maken.
- Zie de ONNX Runtime-configuratie en Uitvoeringsprovider (EP) parameters die de prestaties en optimalisatie van de modelruntime beïnvloeden.
- Volg de inferentietijden per stuk en de subdetails van de NPU (QNN).
- Maak profiel van AI Model-bewerkingen om te zien hoeveel tijd elke operator heeft genomen om bij te dragen aan de totale inferentietijd.
- Meer informatie over EP-profilering (ONNX Runtime Execution Provider).
Notitie
WPR UI (de gebruikersinterface die beschikbaar is ter ondersteuning van de opdrachtregel gebaseerde WPR opgenomen in Windows), WPA en GPUView maken allemaal deel uit van Windows Performance Toolkit (WPT), versie 2024+. Als u de WPT wilt gebruiken, moet u: De Windows ADK Toolkit downloaden.
Volg deze stappen voor een snelle start voor het bekijken van ONNX Runtime-gebeurtenissen met WPA (Windows Performance Analyzer):
Download ort.wprp en etw_provider.wprp.
Open de opdrachtregel en voer het volgende in:
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 -compressCombineer de WPR-profielen (Windows Performance Recorder) met andere ingebouwde opnameprofielen , zoals CPU, Schijf, enzovoort.
Download Windows Performance Analyzer (WPA) uit de Microsoft Store.
Open het bestand
onnx_NPU.etlin WPA. Double-Click om deze grafieken te openen:- "Neurale verwerking -> NPU-gebruik
- Algemene gebeurtenissen voor ONNX-gebeurtenissen
Aanvullende hulpprogramma's voor het meten van prestaties die u kunt overwegen met de microsoft Windows-hulpprogramma's die hierboven worden vermeld, zijn onder andere:
- Qualcomm Snapdragon Profiler (qprof): Een GUI en prestatieprofilering hulpprogramma op systeemniveau, ontworpen om systeemprestaties te visualiseren en om optimalisatie- en toepassingsschalingsmogelijkheden te identificeren in de CPU's, GPU's, DSP's en andere IP-blokken. Met de Snapdragon-profiler kunt u NPU-subdetails bekijken, zoals sub-HW-metrieken, geheugenbandbreedte en meer.