Általános
Hogyan integrálhatom az AI-t a Windows ügyfélalkalmazásba?
Az AI integrálása az Windows-alkalmazásba két elsődleges módszerrel érhető el: egy helyi vagy egy felhőalapú modellel. A helyi modellbeállításhoz használhat egy már meglévő modellt, vagy betaníthatja a sajátját olyan platformokon, mint a TensorFlow vagy a PyTorch, majd az OnnxRuntime használatával beépítheti az alkalmazásba. Microsoft Foundry on Windows api-kat kínál különböző függvényekhez, beleértve az OCR-t vagy a Phi Silica modellt. Másrészt a modell felhőben való üzemeltetése és REST API-n keresztüli elérése lehetővé teszi az alkalmazás számára, hogy zökkenőmentes maradjon az erőforrás-igényes feladatok felhőbe való delegálásával. További információért lásd: Az Windows alkalmazásban használt Machine Learning modellek használata.
Szükségem van a Windows 11 legújabb verziójára és egy NPU-val rendelkező Copilot+ PC az AI-funkciók használatához?
Az AI-munkaterhelések többféleképpen is futtathatók, a modellek helyi telepítésével és futtatásával Windows-eszközén vagy felhőalapú modellek futtatásával (lásd: Az AI használatának kezdő lépései a Windows rendszeren), azonban a Windows AI API-k által támogatott AI-funkciók jelenleg NPU-val rendelkező Copilot+ PC készüléket igényelnek.
Melyik programozási nyelvek a legalkalmasabbak mesterséges intelligencia fejlesztésére Windows ügyfélalkalmazásokban?
Bármilyen programozási nyelvet használhat. A C#-t például széles körben használják Windows ügyfélalkalmazások létrehozásához. Ha több vezérlésre van szüksége az alacsony szintű részletek felett, a C++ kiváló választás. Másik lehetőségként megfontolhatja a Python használatát. A Linuxos Windows-alrendszer (WSL) használatával Linux-alapú AI-eszközöket is futtathat Windows.
Melyek a legjobb AI-keretrendszerek Windows ügyfélalkalmazásokhoz?
Javasoljuk az OnnxRuntime használatát.
Hogyan kezelhetem az adatvédelmet és a biztonságot az AI Windows ügyfélalkalmazásokban való használatakor?
Az AI-alapú alkalmazások fejlesztése során elengedhetetlen a felhasználói adatok védelmének és biztonságának tiszteletben tartása. Az adatok gyűjtése előtt kövesse az adatkezeléssel kapcsolatos ajánlott eljárásokat, például a bizalmas adatok titkosítását, a biztonságos kapcsolatok használatát és a felhasználói hozzájárulás beszerzését. Azt is átláthatónak kell lennie, hogy hogyan használja az adatokat, és hogy a felhasználók szabályozhassák az adataikat. Mindenképpen olvassa el a Windows alatt felelősen fejlesztett generatív AI-alkalmazások és funkciók című dokumentumot is.
Mik az AI Windows ügyfélalkalmazásokban való futtatásának rendszerkövetelményei?
Az AI-t használó Windows alkalmazások rendszerkövetelményei az AI-modell összetettségétől és a használt hardveres gyorsítástól függenek. Az egyszerű modellekhez elegendő lehet a modern PROCESSZOR, de összetettebb modellekhez GPU-ra vagy NPU-ra lehet szükség. Figyelembe kell vennie az alkalmazás memória- és tárolási követelményeit, valamint a felhőalapú AI-szolgáltatásokhoz szükséges hálózati sávszélességet is.
Hogyan optimalizálhatók az AI-teljesítmény Windows ügyfélalkalmazásokban?
Az AI-teljesítmény Windows alkalmazásokban való optimalizálásához érdemes megfontolni a hardveres gyorsítást( például GPU-kat vagy NPU-kat) a modellkövetkeztetés felgyorsításához. Windows Copilot+ laptopok AI-számítási feladatokhoz vannak optimalizálva, és jelentős teljesítménynövelést biztosítanak az AI-feladatokhoz. Lásd még: Foundry Toolkit az Visual Studio Code áttekintéséhez.
Használhatok előre betanított AI-modelleket a Windows ügyfélalkalmazásomban?
Igen, előre betanított AI-modelleket is használhat a Windows alkalmazásban. Előre betanított modelleket tölthet le az internetről, vagy felhőalapú AI-szolgáltatással hozzáférhet az előre betanított modellekhez. Ezután integrálhatja ezeket a modelleket az alkalmazásba egy olyan keretrendszer használatával, mint az OnnxRuntime.
Mi az a DirectML?
A DirectML egy alacsony szintű API a gépi tanuláshoz, amely GPU-gyorsítást biztosít a gyakori gépi tanulási feladatokhoz a támogatott hardverek és illesztőprogramok széles körében, beleértve az olyan gyártóktól származó Összes DirectX 12-kompatibilis GPU-t, mint az AMD, az Intel, az NVIDIA és a Qualcomm.
Mi az ONNX?
A nyílt neurális hálózati Exchange vagy ONNX egy nyílt szabványos formátum, amely az ML-modelleket jelöli. A népszerű ML-modell keretrendszerek, például a PyTorch, a TensorFlow, a SciKit-Learn, a Keras, a Chainer, a MATLAB stb. exportálhatók vagy konvertálhatók szabványos ONNX formátumra. Az ONNX formátumot használva a modell számos platformon és eszközön futtatható. Az ONNX a betanítotttól eltérő formátumú ML-modell használatára alkalmas.
Mi az ORT?
Az OnnxRuntime vagy ORT egy egységes futtatókörnyezeti eszköz, amellyel különböző keretrendszerekben (PyTorch, TensorFlow stb.) futtathat modelleket, amelyek támogatják a hardvergyorsítókat (eszköz CPU-kat, GPU-kat vagy NPU-kat).
Miben különbözik az ONNX más ML-keretrendszerektől, például a PyTorchtól vagy a TensorFlow-tól?
A PyTorch és a TensorFlow az AI-alkalmazásokban használt mélytanulási modellek fejlesztésére, betanítására és futtatására szolgál. A PyTorchot gyakran használják kutatásra, a TensorFlow-ot gyakran használják az iparági üzembe helyezéshez, az ONNX pedig egy szabványosított modellcsere-formátum , amely áthidalja a szakadékot, lehetővé téve, hogy szükség szerint váltson a keretrendszerek között, és kompatibilis legyen a platformok között.
Mi az az NPU? Miben különbözik a processzortól vagy a GPU-tól?
A neurális feldolgozási egység vagy NPU egy dedikált AI-chip, amelyet kifejezetten AI-feladatok végrehajtására terveztek. Az NPU fókusza eltér a CPU-któl vagy GPU-któl. A központi feldolgozási egység vagy processzor a számítógép elsődleges processzora, amely utasítások és általános célú számítások végrehajtásáért felelős. A grafikus feldolgozó egység vagy GPU egy speciális processzor, amely grafikus megjelenítésre és párhuzamos feldolgozásra van optimalizálva. Képes összetett képek megjelenítésére videószerkesztési és játékfeladatokhoz.
Az NPU-k célja a mélytanulási algoritmusok felgyorsítása, és a munka egy részének eltávolítása a számítógép CPU-jából vagy GPU-jából, hogy az eszköz hatékonyabban működjön. Az NPU-k célja a neurális hálózati feladatok felgyorsítása. Nagy mennyiségű adat párhuzamos feldolgozásában jeleskednek, így ideálisak olyan gyakori AI-feladatokhoz, mint a képfelismerés vagy a természetes nyelvi feldolgozás. Például egy képfelismerési feladat során az NPU felelős lehet az objektumészlelésért vagy a képgyorsításért, míg a GPU a képmegjelenítésért felelős.
Hogyan deríthetem ki, hogy milyen processzor- vagy GPU-val vagy NPU-val rendelkezik az eszközöm?
Ha ellenőrizni szeretné a Windows eszköz processzorának, GPU-jának vagy NPU-jának típusát és működését, nyissa meg a Task Managert (Ctrl + Shift + Esc), majd válassza a Performance lapot, és láthatja a gép processzorát, memóriáját, Wi-Fi-jét, GPU-ját és/vagy NPU-ját, valamint a sebességével kapcsolatos információkat. kihasználtsági arányt és egyéb adatokat.
Mi az Windows ML?
Windows ML (Machine Learning) lehetővé teszi, hogy az alkalmazás az ONNX Runtime (ORT, lásd fent) megosztott, rendszerszintű példányát használja, és támogatást nyújt a gyártóspecifikus végrehajtási szolgáltatók (EP-k) dinamikus letöltéséhez, hogy a modell infereálása optimalizálható legyen a Windows ökoszisztémában található processzorok, GPU-k és NPU-k széles körében, anélkül, hogy az alkalmazásnak nehéz futásidejű környezeteket vagy végrehajtási szolgáltatókat kellene tartalmaznia.
Hasznos AI-fogalmak
Mi az a nagy nyelvi modell (LLM)?
Az LLM egy Machine Learning (ML) típusú modell, amely az általános célú nyelvlétrehozás és -megértés elérésének képességéről ismert. Az LLM-ek mesterséges neurális hálózatok, amelyek a statisztikai kapcsolatok nagy mennyiségű szöveges dokumentumból való tanulásával szereznek képességeket egy számításigényes, ön által felügyelt és félig felügyelt betanítási folyamat során. Az LLM-eket gyakran használják a szöveggeneráláshoz, amely a generatív AI egy formája, amely bizonyos bemeneti szövegekkel olyan szavakat (vagy "jogkivonatokat") hoz létre, amelyek nagy valószínűséggel koherens és kontextus szempontjából releváns mondatokat hoznak létre cserébe. Vannak olyan kis nyelvi modellek (SLM-ek), amelyek kevesebb paramétert és korlátozott kapacitást igényelnek, de hatékonyabbak lehetnek (kevesebb számítási erőforrást igényelnek), költséghatékonyak és ideálisak bizonyos tartományokhoz.
Mi az ML-modell tanítása?
A Machine Learning a modell betanítása magában foglalja az adathalmazok modellbe való betáplálását (LLM vagy SLM), lehetővé téve az adatokból való tanulást, hogy a modell előrejelzéseket vagy döntéseket hozhasson ezen adatok alapján, felismerve a mintákat. Ez magában foglalhatja a modellparaméterek iteratív módosítását is a teljesítmény optimalizálása érdekében.
Mi az az inferencia?
A betanított gépi tanulási modell új, nem látható adatokra vonatkozó előrejelzések vagy besorolások készítésére való használatának folyamatát "Következtetésnek" nevezzük. Miután egy nyelvi modellt betanított egy adathalmazra, és megismerte annak mögöttes mintáit és kapcsolatait, készen áll arra, hogy ezt a tudást valós forgatókönyvekre alkalmazza. A következtetés az AI-modell próbatétele, amely megmutatja, hogy a tanulási folyamat során szerzett ismeretek mennyire alkalmazhatóak előrejelzésekre vagy feladatok megoldására. A meglévő modell következtetésre való használatának folyamata eltér a betanítási fázistól, ami megköveteli a betanítási és érvényesítési adatok használatát a modell fejlesztéséhez és a paraméterek finomhangolásához.
Mi az ML-modell finomhangolása?
A finomhangolás kulcsfontosságú lépés a gépi tanulásban, ahol egy előre betanított modell egy adott feladat végrehajtásához van igazítva. Ahelyett, hogy az alapoktól betanítaná a modellt, a finomhangolás egy meglévő modellel kezdődik (általában nagy adathalmazon betanított), és egy kisebb, feladatspecifikus adatkészlet használatával módosítja a paramétereit. A modell a finomhangolással megtanulja a feladatspecifikus funkciókat, miközben megtartja az előtanítás során megszerzett általános ismereteket, ami jobb teljesítményt eredményez bizonyos alkalmazások esetében.
Mi az a parancssori tervezés?
A gyors tervezés egy stratégiai megközelítés, amelyet a generatív AI használ a nyelvi modellek viselkedésének és válaszainak alakításához. A nyelvi modell (például GPT-3 vagy GPT-4) kívánt eredményének elérése érdekében átgondolt beviteli kéréseket vagy lekérdezéseket kell létrehoznia. A hatékony kérések tervezésével egy ml-modell útmutatást adhat a kívánt választípus létrehozásához. A technikák közé tartozik a szövegezés módosítása, a környezet megadása vagy a vezérlőkódok használata a modell kimenetének befolyásolására.
Mi a hardveres gyorsítás (az ML-modell betanítása tekintetében)?
A hardveres gyorsítás olyan speciális számítógépes hardverek használatát jelenti, amelyek célja az AI-alkalmazások felgyorsítása az általános célú processzorokkal elérhetőnél. A hardveres gyorsítás javítja a gépi tanulási feladatok sebességét, energiahatékonyságát és általános teljesítményét, például betanítási modelleket, előrejelzéseket készít, vagy kiszervezést végez a dedikált hardverösszetevőkre, amelyek a mélytanulási számítási feladatok párhuzamos feldolgozásában jeleskednek. A GPU-k és az NPU-k egyaránt példák a hardvergyorsítókra.
Mi a különbség a adattudós, az ml-mérnök és az alkalmazásfejlesztő között, aki AI-funkciókat szeretne alkalmazni az alkalmazásában?
Az ML-modellek létrehozásának és használatának folyamata három fő szerepkört foglal magában: Adattudósok: Felelős a probléma meghatározásáért, az adatok gyűjtéséért és elemzéséért, az ML-algoritmus kiválasztásáért és betanításáért, valamint az eredmények kiértékeléséért és értelmezéséért. A feladatok elvégzéséhez olyan eszközöket használnak, mint az Python, az R, a Jupyter Notebook, a TensorFlow, a PyTorch és a scikit-learn. Gépi tanulási mérnökök: Felelős az ML-modellek éles környezetben való üzembe helyezéséért, monitorozásáért és karbantartásáért. Olyan eszközöket használnak, mint a Docker, a Kubernetes, a Azure ML, az AWS SageMaker és a Google Cloud AI Platform, hogy biztosítsák az ML-modellek méretezhetőségét, megbízhatóságát és biztonságát. Alkalmazásfejlesztők: Az ML-modellek alkalmazáslogikába, felhasználói felületbe és UX-be való integrálásáért felelős. Olyan eszközöket használnak, mint Microsoft Foundry Windows, OnnxRuntime vagy REST API-k, és feldolgozzák a felhasználói bemeneti és modellkimenetet. Minden szerepkör különböző feladatokat és készségeket foglal magában, de a legjobb eredmények eléréséhez együttműködésre és kommunikációra van szükség ezek között a szerepkörök között. A projekt méretétől és összetettségétől függően ezeket a szerepköröket ugyanaz a személy vagy különböző csapatok hajthatják végre.