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:
- Microsoft Surface Laptop Copilot+ személyi számítógép
- Microsoft Surface Pro Copilot + számítógép
- HP OmniBook X 14
- Dell Latitude 7455, XPS 13 és Inspiron 14
- Acer Swift 14 AI
- Lenovo Yoga Slim 7x és ThinkPad T14s
- Samsung Galaxy Book4 Edge
- ASUS Vivobook S 15 és ProArt PZ13
- Copilot+ PC-k új AMD és Intel szilíciummal, beleértve AMD Ryzen AI 300 sorozatú és Intel Core Ultra 200V sorozatú.
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ó.
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.
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:
Töltse le ort.wprp és etw_provider.wprp.
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
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.
Töltse le a Windows Teljesítményelemzőt (WPA) a Microsoft Store-ból.
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.