Megosztás a következőn keresztül:


Copilot+ PC-fejlesztői útmutató

Copilot+ PC-k a Windows 11 hardver új osztályát képezik, amelyet egy nagy teljesítményű neurális feldolgozási egység (NPU) működtet – ez egy speciális számítógéplapka az AI-igényes folyamatokhoz, például a valós idejű fordításokhoz és a képgeneráláshoz, amelyek másodpercenként több mint 40 billió műveletet hajthatnak végre (TOPS). Copilot+ PC-k egész napos akkumulátor-üzemidőt és hozzáférést biztosítanak a legfejlettebb AI-funkciókhoz és modellekhez. További információ: Bemutatkozik Copilot+ PC-k – A Microsoft hivatalos blogja.

A következő Copilot+ PC fejlesztői útmutató a következőket tartalmazza:

  • Eszköz előfeltételei
  • Mi az Arm-alapú Snapdragon Elite X+ chip?
  • A Copilot+ NPU-processzorral rendelkező számítógépek által támogatott egyedi AI-funkciók
  • Az NPU elérése Copilot+ PC-n
  • Az ONNX Runtime használata az NPU programozott hozzáféréséhez Copilot+ PC-n
  • Helyileg futó AI-modellek teljesítményének mérése az eszköz NPU-ján

Előfeltételek

Ez az útmutató kifejezetten a Copilot+ PC-k.

A Windows AI számos új funkciójához szükség van egy NPU-ra, amely képes 40+ TOPS futtatására, beleértve, de nem kizárólagosan a következőket:

Mi az ARM-alapú Snapdragon Elite X chip?

A Qualcomm által készített új Snapdragon X Elite Arm-alapú chip az iparágvezető neurális feldolgozóegységen (NPU) keresztül hangsúlyozza az AI-integrációt. Ez az NPU képes nagy mennyiségű adat párhuzamos feldolgozására, másodpercenként több trillió művelet elvégzésére, az AI-feladatok energiafelhasználásával hatékonyabban, mint a PROCESSZOR vagy GPU, ami hosszabb akkumulátor-üzemidőt eredményez. Az NPU a processzorral és a GPU-val összhangban működik. A Windows 11 a megfelelő helyre rendeli a feldolgozási feladatokat a gyors és hatékony teljesítmény érdekében. Az NPU lehetővé teszi a nagyvállalati szintű biztonság intelligens eszközszintű AI-élményét a chiptől a felhőig történő fokozott védelem érdekében.

  • A Qualcomm Snapdragon X Elitekészülékről további információ.
  • További információ az Arm-Windows használatáról és fejlesztéséről.

A Copilotés NPU-val rendelkező számítógépek által támogatott egyedi AI-funkciók

Copilot+ PC-k egyedi AI-élményeket kínálnak, amelyek a Windows 11 modern verzióival szállítják. Ezek az AI-funkciók, amelyeket az eszköz NPU-ján való futtatásra terveztek, a Windows legújabb kiadásaiban jelennek meg, és a Windows Copilot FuttatókörnyezetAPI-kkal érhetők el. További információ a Windows Runtime Copilot API-król, amelyek az NPU-n való inferenciális futtatásra optimalizált modelleket támogatják. Ezek az API-k a Windows App SDKhamarosan megjelenő kiadásában jelennek meg.

Az NPU elérése Copilot+ PC-n

A neurális feldolgozási egység (NPU) egy új hardvererőforrás. A pc-n lévő többi hardvererőforráshoz hasonlóan az NPU-nak is külön programozott szoftverre van szüksége, hogy kihasználhassa az általa kínált előnyöket. Az NPU-k kifejezetten az AI-modelleket alkotó mélytanulási matematikai műveletek végrehajtására szolgálnak.

A Windows 11 Copilot+ AI fent említett funkcióit kifejezetten úgy tervezték, hogy kihasználják az NPU előnyeit. A felhasználók jobb akkumulátor-üzemidőt és gyorsabb következtetési végrehajtási időt kapnak az NPU-t célzó AI-modellek esetében. A Windows 11 NPU-k támogatása magában foglalja az Arm-alapú Qualcomm-eszközöket, valamint az Intel- és AMD-eszközöket (hamarosan).

NPU-kkal rendelkező eszközök esetén a Feladatkezelő mostantól az NPU-erőforrások használatának megtekintésére is használható.

Képernyőkép a Windows Feladatkezelőről, amely az NPU teljesítményét a processzor, a GPU, a memória, az Ethernet és a lemez teljesítménye mellett jeleníti meg

Az eszköz NPU-ján a következtetés (AI-feladatok futtatása) ajánlott módja az ONNX Runtimehasználata. Az ONNX Runtime egy rugalmas és nagy teljesítményű verem az NPU-val, valamint a GPU-val és a CPU-val való programozáshoz, lehetővé téve, hogy saját AI-modelleket hozzon létre, vagy nyílt forráskódú AI-modelleket használjon a weben. További információ az onnx runtime használatáról az alábbi NPU eléréséhez, vagy további információ arról, hogyan AI használatának első lépései a Windows.

Jegyzet

Mi a helyzet a PyTorch vagy a Tensorflow egyéb futtatókörnyezeteinek használatával? A PyTorch, a Tensorflow és más Szilícium gyártó által biztosított SDK-típusok egyéb futtatókörnyezetei is támogatottak a Windowsban. Jelenleg a PyTorch, a TensorFlow és más modelltípusokat futtathatja rugalmas ONNX formátumra konvertálva, de hamarosan natív támogatás érkezik.

Az ONNX Runtime használata az NPU programozott elérésére Copilot+ PC-n

A Microsoft teljes nyílt forráskódú következtetési és betanítási keretrendszert biztosít ONNX Runtimenéven. Az ONNX Runtime az ajánlott nyílt forráskódú Microsoft-megoldás AI-modellek NPU-n való futtatásához. Mivel az ONNX Runtime rugalmas, és számos különböző lehetőséget támogat az AI-modellek futtatásához, a választási lehetőségek zavaróak lehetnek. Ez az útmutató segítséget nyújt a Windows Copilot+ PC-k választásában.

  • Qualcomm Snapdragon X: A fejlesztőknek jelenleg a Qualcomm QNN végrehajtási szolgáltatót (EP)kell céloznia, amely a Qualcomm AI Engine Direct SDK-t (QNN) használja. QNN-támogatással előre összeállított csomagok letölthetők. Ez ugyanaz a verem, amelyet a Windows Copilot futtatókörnyezet és a Copilot+ PC Qualcomm eszközökön használt funkciók alkalmaznak. DirectML és WebNN Qualcomm Snapdragon X Elite NPU-k támogatását a 2024-es buildben jelentették be, és hamarosan elérhető lesz.
  • Intel- és AMD NPU-eszközök: 2024 későbbi részében további NPU-eszközök is elérhetők lesznek. DirectML- az ajánlott módszer az eszközök megcélzására.

Támogatott modellformátumok

Az AI-modelleket gyakran tanítják be, és nagyobb adatformátumokban, például FP32-ben érhetők el. Sok NPU-eszköz azonban csak az egész számokat támogatja alacsonyabb bitformátumban, például AZ INT8-ban a nagyobb teljesítmény és az energiahatékonyság érdekében. Ezért az AI-modelleket konvertálni kell (vagy "kvantálva") az NPU-n való futtatáshoz. Számos olyan modell érhető el, amelyeket már használatra kész formátummá alakítottak át. Saját modell (BYOM) is átalakíthat vagy optimalizálhat.

  • Qualcomm AI Hub (Compute): A Qualcomm olyan AI-modelleket biztosít, amelyek már érvényesítve vannak a Snapdragon X Elite-vel rendelkező Copilot+ számítógépeken való használatra, és az elérhető modellek kifejezetten ezen az NPU-n való hatékony futtatásra vannak optimalizálva. További információ: Modelltelepítés felgyorsítása a Qualcomm AI Hubbal | Microsoft Build 2024.
  • ONNX Model Zoo: Ez a nyílt forráskódú adattár előre betanított, korszerű modellek válogatott gyűjteményét kínálja ONNX formátumban. Ezeket a modelleket ajánlott NPU-khoz használni az összes Copilot+ PC-n, beleértve az Intel és az AMD eszközöket is (hamarosan).

Azok számára, akik a saját modelljüket akarják használni, javasoljuk, hogy használják a hardverérzékeny modelloptimalizálási eszközt, Olive. Az Olive segíthet a modelltömörítésben, az optimalizálásban és a fordításban az ONNX Runtime NPU-teljesítményoptimalizálási megoldásként való használatához. További információ: Az AI egyszerűbbé vált: hogyan segít az ONNX Runtime és az Olive eszközlánc a Q&A kérdés megoldásában | Build 2023.

Helyileg futó AI-modellek teljesítményének mérése az eszköz NPU-ján

Az AI-funkcióintegráció teljesítményének mérése az alkalmazásban és a kapcsolódó AI-modell futtatókörnyezeteiben:

  • Nyomkövetésirögzítése: Az eszköztevékenységek egy adott időszakon keresztüli rögzítését rendszerkövetésnek nevezzük. A rendszerkövetés egy "nyomkövetési" fájlt hoz létre, amely jelentés létrehozásához használható, és segít azonosítani, hogyan javítható az alkalmazás teljesítménye. További információ: Rendszerkövetés rögzítése a memóriahasználatelemzéséhez.

  • NPU használatimegtekintése: Vizsgálja meg, hogy mely folyamatok használják az NPU-t és a munkát beküldő híváshívásokat.

  • Munka és hívásverem megtekintése a CPU-n: Vizsgálja meg az AI-modellek bevitelét a munka előtt és az AI-modellek feldolgozását a munka után.

  • Load and Runtime: Vizsgálja meg az AI-modellek betöltésének és az ONNX-futtatókörnyezeti munkamenetek létrehozásának időtartamát.

  • futtatókörnyezeti paraméterek: Vizsgálja meg az ONNX futtatókörnyezet konfigurációs és végrehajtási szolgáltatói (EP) paramétereit, amelyek befolyásolják a modell futtatókörnyezetének teljesítményét és optimalizálását.

  • Egyéni következtetési időtartamok: Kövesse nyomon az egyes következtetések idejét és a részleteket az NPU-ból.

  • Profiler: Profil AI-modellműveletek annak megtekintéséhez, hogy az egyes operátorok mennyi ideig járultak hozzá a teljes következtetési időhöz.

  • NPU-specifikus: Vizsgálja meg az NPU alrészleteit, például a HW-almetrikákat, a memória sávszélességét stb.

Képernyőkép a Windows Teljesítményelemző eszköz általános benyomását keltő

A mérések elvégzéséhez a következő diagnosztikai és nyomkövetési eszközöket javasoljuk:

  • Feladatkezelő: Lehetővé teszi, hogy a felhasználó megtekintheti az eszközére telepített Windows operációs rendszer teljesítményét, beleértve a folyamatokat, a teljesítményt, az alkalmazáselőzményeket, az indítási alkalmazásokat, a felhasználókat, a részleteket és a szolgáltatásokat. Valós idejű teljesítményadatok jelennek meg az eszköz processzorára, memóriára, tárolólemezre, Wi-Fi-re, GPU-ra... és most NPU. Az adatok tartalmazzák a kihasználtság százalékos arányát, a rendelkezésre álló memóriát, a megosztott memóriát, az illesztőprogram verzióját, a fizikai helyet stb.
  • Windows Performance Recorder (WPR): A WPR mostantól neurális feldolgozási profillal rendelkezik az NPU-tevékenységek rögzítéséhez. Ez Microsoft Compute Driver Model (MCDM) NPU-val való interakcióit rögzíti. A fejlesztők mostantól láthatják az NPU használatát, az NPU-t használó folyamatokat és a munkát beküldő híváshívásokat.
  • Windows Teljesítményelemző (WPA): A WPA a Windows Teljesítményrögzítő (WPR), Xperf vagy az értékelési platformon futó értékelés által rögzített Windows-eseménykövetési (ETW) események gráfjait és adattábláit hozza létre. Kényelmes hozzáférési pontokat biztosít a cpu, a lemez, a hálózat, az ONNX futtatókörnyezeti események elemzéséhez... és egy új táblázatot NPU-elemzési, mindezt egyetlen idővonalon. A WPA mostantól megtekintheti azokat a processzoron futó munkákat és hívási vermeket, amelyek az AI-modellek előzetes munkáját végzik el és az AI-modellek eredményeinek utólagos feldolgozását végzik el. Windows teljesítményelemző letöltése a Microsoft Store-ból.
  • GPUView: A GPUView egy olyan fejlesztőeszköz, amely beolvassa a naplózott video- és kerneleseményeket egy eseménykövetési naplófájlból (.etl), és grafikusan jeleníti meg az adatokat a felhasználónak. Ez az eszköz mostantól GPU- és NPU-műveleteket is tartalmaz, valamint támogatja a DirectX-események megtekintését MCDM eszközökhöz, például az NPU-hoz.
  • ONNX-futtatókörnyezeti események a Windows Teljesítményelemzőben: Az ONNXRuntime 1.17-től kezdve (és az 1.18.1-ben bővített verzióval) a következő használati esetek érhetők el a futtatókörnyezetben kibocsátott eseményekkel:
    • Megtudhatja, mennyi ideig tartott betölteni egy AI-modellt, és létrehozni egy ONNX-futtatókörnyezeti munkamenetet.
    • Lásd az ONNX futtatókörnyezet konfigurációs és végrehajtási szolgáltatói (EP) paramétereit, amelyek befolyásolják a modell futtatókörnyezetének teljesítményét és optimalizálását.
    • Kövesse nyomon a következtetési időket és az aladatokat az NPU-ból (QNN).
    • Profilozza az AI modellműveleteit annak megállapításához, hogy az egyes operátorok mennyi ideig járultak hozzá a teljes következtetési időhöz.
    • További információ ONNX futtatókörnyezet-végrehajtási szolgáltató (EP) profilkészítési.

Jegyzet

A WPR felhasználói felülete (a windowsos parancssori WPR támogatásához elérhető felhasználói felület), a WPA és a GPUView mind a Windows Performance Toolkit (WPT) 2024. májusi verziójának részét képezik. A WPT használatához a következőket kell elvégeznie: Töltse le a Windows ADK eszközkészletet.

Az ONNX futtatókörnyezeti események windowsos teljesítményelemzővel (WPA) való megtekintéséhez kövesse az alábbi lépéseket:

  1. Töltse le ort.wprp és etw_provider.wprp.

  2. Nyissa meg a parancssort, és írja be a következőt:

    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
    
  3. Egyesítse a Windows Teljesítményrögzítő (WPR) profilokat más beépített rögzítési profilokkal, például processzorral, lemezzel stb.

  4. Töltse le a Windows Teljesítményelemzőt (WPA) a Microsoft Store-ból.

  5. Nyissa meg a onnx_NPU.etl fájlt a WPA-ban. Double-Click a diagramok megnyitásához:

    • "Neurális feldolgozás –> NPU-kihasználtság
    • Általános események ONNX-eseményekhez

További teljesítménymérési eszközök, amelyeket érdemes megfontolni a fent felsorolt Microsoft Windows-eszközökkel való használatban, a következők:

  • Qualcomm Snapdragon Profiler (qprof): Grafikus felhasználói felület és rendszerszintű teljesítményprofilozási eszköz, amely a rendszer teljesítményének megjelenítésére, valamint az optimalizálási és alkalmazásskálázási fejlesztési lehetőségek azonosítására szolgál a Qualcomm SoC CPU-k, GPU-k, DSP-k és egyéb IP-blokkok között. A Snapdragon Profiler lehetővé teszi az NPU-aladatok, például a HW-almetrikák, a memória sávszélességének stb. megtekintését.

Erőforrások hozzáadása