Delen via


Veelgestelde vragen over het gebruik van AI in Windows-apps

Algemeen

Hoe kan ik AI integreren in mijn Windows-client-app?

De integratie van AI in uw Windows-toepassing kan worden bereikt via twee primaire methoden: een lokaal model of een cloudmodel. Voor de optie lokaal model hebt u de mogelijkheid om een bestaand model te gebruiken of uw eigen model te trainen met behulp van platforms zoals TensorFlow of PyTorch en deze vervolgens in uw toepassing op te nemen via OnnxRuntime. Microsoft Foundry in Windows biedt API's voor verschillende functies, waaronder OCR of het phi-siliciummodel. Aan de andere kant, het hosten van uw model in de cloud en het openen ervan via een REST API, kan uw toepassing gestroomlijnd blijven door resource-intensieve taken naar de cloud te delegeren. Zie Machine Learning-modellen gebruiken in uw Windows-app voor meer informatie.

Heb ik de nieuwste versie van Windows 11 en een Copilot+ pc met een NPU nodig om AI-functies te kunnen gebruiken?

Er zijn veel manieren om AI-workloads uit te voeren, zowel door modellen lokaal te installeren als uit te voeren op uw Windows-apparaat of door cloudmodellen uit te voeren (zie Aan de slag met AI in Windows), maar de AI-functies die worden ondersteund door Windows AI-API's , vereisen momenteel een Copilot+ pc met een NPU.

Welke programmeertalen zijn het meest geschikt voor het ontwikkelen van AI in Windows-client-apps?

U kunt elke gewenste programmeertaal gebruiken. C# wordt bijvoorbeeld veel gebruikt voor het maken van Windows-client-apps. Als u meer controle nodig hebt over details op laag niveau, is C++ een uitstekende optie. U kunt ook overwegen Python te gebruiken. U kunt ook het Windows-subsysteem voor Linux (WSL) gebruiken om AI-hulpprogramma's op basis van Linux uit te voeren in Windows.

Wat zijn de beste AI-frameworks voor Windows-client-apps?

We raden u aan OnnxRuntime te gebruiken.

Hoe kan ik gegevensprivacy en -beveiliging afhandelen bij het gebruik van AI in Windows-client-apps?

Het respecteren van de privacy en beveiliging van gebruikersgegevens is essentieel bij het ontwikkelen van ai-apps. Volg de aanbevolen procedures voor het verwerken van gegevens, zoals het versleutelen van gevoelige gegevens, het gebruik van beveiligde verbindingen en het verkrijgen van gebruikerstoestemming voordat u gegevens verzamelt. U moet ook transparant zijn over hoe u gegevens gebruikt en gebruikers controle geven over hun gegevens. Lees ook Verantwoordelijke AI-toepassingen en -functies ontwikkelen in Windows .

Wat zijn de systeemvereisten voor het uitvoeren van AI in Windows-client-apps?

Systeemvereisten voor Windows-apps die gebruikmaken van AI, zijn afhankelijk van de complexiteit van het AI-model en de gebruikte hardwareversnelling. Voor eenvoudige modellen is een moderne CPU mogelijk voldoende, maar voor complexere modellen is mogelijk een GPU of NPU vereist. U moet ook rekening houden met de geheugen- en opslagvereisten van uw app, evenals de netwerkbandbreedte die is vereist voor AI-services in de cloud.

Ai-prestaties optimaliseren in Windows-client-apps

Als u AI-prestaties in Windows-apps wilt optimaliseren, moet u overwegen om hardwareversnelling, zoals GPU's of NP's, te gebruiken om modeldeductie te versnellen. Windows Copilot+ laptops zijn geoptimaliseerd voor AI-workloads en kunnen een aanzienlijke prestatieverbeteringen bieden voor AI-taken. Zie ook het overzicht van AI Toolkit voor Visual Studio Code.

Kan ik vooraf getrainde AI-modellen gebruiken in mijn Windows-client-app?

Ja, u kunt vooraf getrainde AI-modellen gebruiken in uw Windows-app. U kunt vooraf getrainde modellen downloaden van internet of een cloudgebaseerde AI-service gebruiken voor toegang tot vooraf getrainde modellen. U kunt deze modellen vervolgens integreren in uw app met behulp van een framework zoals OnnxRuntime.

Wat is DirectML?

DirectML is een API op laag niveau voor machine learning die GPU-versnelling biedt voor algemene machine learning-taken in een breed scala aan ondersteunde hardware en stuurprogramma's, waaronder alle DirectX 12-compatibele GPU's van leveranciers, zoals AMD, Intel, NVIDIA en Vmm.

Wat is ONNX?

Open Neural Network Exchange of ONNX is een open standaardindeling voor het vertegenwoordigen van ML-modellen. Populaire ML-modelframeworks, zoals PyTorch, TensorFlow, SciKit-Learn, Keras, Chainer, MATLAB, enzovoort, kunnen worden geëxporteerd of geconverteerd naar de standaard ONNX-indeling. Eenmaal in ONNX-indeling kan het model worden uitgevoerd op verschillende platforms en apparaten. ONNX is geschikt voor het gebruik van een ML-model in een andere indeling dan waarop het is getraind.

Wat is ORT?

OnnxRuntime of ORT is een geïntegreerd runtime-hulpprogramma voor het uitvoeren van modellen in verschillende frameworks (PyTorch, TensorFlow, enzovoort) die hardwareversnellers (apparaat-CPU's, GPU's of NPU's) ondersteunt.

Hoe verschilt ONNX van andere ML-frameworks, zoals PyTorch of TensorFlow?

PyTorch en TensorFlow worden gebruikt voor het ontwikkelen, trainen en uitvoeren van deep learning-modellen die worden gebruikt in AI-toepassingen. PyTorch wordt vaak gebruikt voor onderzoek, TensorFlow wordt vaak gebruikt voor de implementatie van de industrie en ONNX is een gestandaardiseerde modeluitwisselingsindeling die de kloof overbrugt, zodat u naar behoefte kunt schakelen tussen frameworks en compatibel op verschillende platforms.

Wat is een NPU? Hoe verschilt het van een CPU of GPU?

Een neurale verwerkingseenheid of NPU is een toegewezen AI-chip die speciaal is ontworpen om AI-taken uit te voeren. De focus van een NPU verschilt van die van een CPU of GPU. Een centrale verwerkingseenheid of CPU is de primaire processor in een computer, die verantwoordelijk is voor het uitvoeren van instructies en berekeningen voor algemeen gebruik. Een grafische verwerkingseenheid of GPU is een gespecialiseerde processor die is ontworpen voor het weergeven van afbeeldingen en geoptimaliseerd voor parallelle verwerking. Het is geschikt voor het weergeven van complexe beelden voor videobewerkings- en gamingtaken.

NPU's zijn ontworpen om deep learning-algoritmen te versnellen en kunnen een deel van het werk van de CPU of GPU van een computer verwijderen, zodat het apparaat efficiënter kan werken. NPU's zijn speciaal ontworpen voor het versnellen van neurale netwerktaken. Ze excelleren in het parallel verwerken van grote hoeveelheden gegevens, waardoor ze ideaal zijn voor algemene AI-taken, zoals afbeeldingsherkenning of verwerking van natuurlijke taal. Als voorbeeld kan de NPU tijdens een afbeeldingsherkenningstaak verantwoordelijk zijn voor objectdetectie of afbeeldingsversnelling, terwijl de GPU verantwoordelijk is voor het weergeven van afbeeldingen.

Hoe kan ik achterhalen wat voor soort CPU, GPU of NPU mijn apparaat heeft?

Als u het type CPU, GPU of NPU op uw Windows-apparaat wilt controleren en hoe het werkt, opent u Taakbeheer (Ctrl + Shift + Esc), selecteert u het tabblad Prestaties en kunt u de CPU, het geheugen, wi-fi, GPU en/of NPU van uw computer weergeven, samen met informatie over de snelheid, het gebruikspercentage en andere gegevens.

Wat is Windows ML?

Met Windows ML (Machine Learning) kan uw app gebruikmaken van een gedeelde systeembrede kopie van de ONNX Runtime (ORT, zie hierboven) en wordt ondersteuning toegevoegd voor het dynamisch downloaden van leveranciersspecifieke uitvoeringsproviders (EPs), zodat uw modeldeductie kan worden geoptimaliseerd voor de grote verscheidenheid aan CPU's, GPU's en NPU's in het Windows-ecosysteem zonder dat uw app zware runtimes of IP-adressen zelf hoeft te dragen.

Nuttige AI-concepten

Wat is een Large Language Model (LLM)?

Een LLM is een type Machine Learning-model (ML) dat bekend staat om de mogelijkheid om het genereren en begrijpen van algemene talen te bereiken. LLM's zijn kunstmatige neurale netwerken die mogelijkheden verkrijgen door statistische relaties te leren van grote hoeveelheden tekstdocumenten tijdens een rekenintensief zelf- en semi-supervisietrainingsproces. LLM's worden vaak gebruikt voor het genereren van tekst, een vorm van generatieve AI die, uitgaande van invoertekst, woorden (of 'tokens') genereert die waarschijnlijk coherente en contextuele relevante zinnen als resultaat hebben. Er zijn ook SLM's (Small Language Models) met minder parameters en beperkte capaciteit, maar zijn mogelijk efficiënter (waarvoor minder rekenresources nodig zijn), rendabel en ideaal voor specifieke domeinen.

Wat is ML-modeltraining?

In Machine Learning omvat modeltraining het invoeren van een gegevensset in een model (een LLM of SLM), zodat het kan leren van de gegevens, zodat het model voorspellingen of beslissingen kan nemen op basis van die gegevens, waarbij patronen worden herkend. Het kan ook nodig zijn om de modelparameters iteratief aan te passen om de prestaties ervan te optimaliseren.

Wat is deductie?

Het proces van het gebruik van een getraind machine learning-model voor het maken van voorspellingen of classificaties op nieuwe, ongelezen gegevens wordt 'Deductie' genoemd. Zodra een taalmodel is getraind op een gegevensset en de onderliggende patronen en relaties heeft geleerd, is het klaar om deze kennis toe te passen op praktijkscenario's. Deductie is het moment van waarheid van een AI-model, een test van hoe goed het informatie kan toepassen die tijdens de training is geleerd om een voorspelling te doen of een taak op te lossen. Het proces van het gebruik van een bestaand model voor deductie verschilt van de trainingsfase. Hiervoor is het gebruik van trainings- en validatiegegevens vereist om het model te ontwikkelen en de parameters ervan af te stemmen.

Wat is het afstemmen van ml-modellen?

Fine-tuning is een cruciale stap in machine learning waarbij een vooraf getraind model wordt aangepast om een specifieke taak uit te voeren. In plaats van een volledig nieuw model te trainen, begint het verfijnen met een bestaand model (meestal getraind op een grote gegevensset) en past u de parameters aan met behulp van een kleinere, taakspecifieke gegevensset. Door het model af te stemmen, leert het model taakspecifieke functies terwijl de algemene kennis die tijdens de training is verkregen, behouden blijft, wat resulteert in verbeterde prestaties voor specifieke toepassingen.

Wat is prompt-ontwikkeling?

Prompt engineering is een strategische benadering die wordt gebruikt met generatieve AI om het gedrag en de reacties van een taalmodel vorm te geven. Het betreft het zorgvuldig maken van invoerprompts of query's om het gewenste resultaat te bereiken van een taalmodel (zoals GPT-3 of GPT-4). Door een effectieve prompt te ontwerpen, kunt u een ML-model begeleiden om het gewenste type antwoord te produceren. Technieken zijn onder andere het aanpassen van de tekst, het opgeven van context of het gebruik van besturingscodes om de modeluitvoer te beïnvloeden.

Wat is hardwareversnelling (met betrekking tot ml-modeltraining)?

Hardwareversnelling verwijst naar het gebruik van gespecialiseerde computerhardware die is ontworpen om AI-toepassingen sneller te maken dan wat mogelijk is met CPU's voor algemeen gebruik. Hardwareversnelling verbetert de snelheid, energie-efficiëntie en algehele prestaties van machine learning-taken, zoals trainingsmodellen, het maken van voorspellingen of het offloaden van berekeningen naar toegewezen hardwareonderdelen die excelleren bij parallelle verwerking voor deep learning-workloads. GPU's en NPU's zijn beide voorbeelden van hardwareversnellers.

Wat zijn de verschillen tussen een Data Scientist, ML Engineer en App Developer die AI-functies in hun app willen toepassen?

Het proces van het maken en gebruiken van ML-modellen omvat drie hoofdrollen: Gegevenswetenschappers: Verantwoordelijk voor het definiëren van het probleem, het verzamelen en analyseren van de gegevens, het kiezen en trainen van het ML-algoritme en het evalueren en interpreteren van de resultaten. Ze gebruiken hulpprogramma's zoals Python, R, Jupyter Notebook, TensorFlow, PyTorch en scikit-learn om deze taken uit te voeren. ML-technici: verantwoordelijk voor het implementeren, bewaken en onderhouden van de ML-modellen in productieomgevingen. Ze gebruiken hulpprogramma's zoals Docker, Kubernetes, Azure ML, AWS SageMaker en Google Cloud AI Platform om de schaalbaarheid, betrouwbaarheid en beveiliging van de ML-modellen te garanderen. App-ontwikkelaars: verantwoordelijk voor het integreren van de ML-modellen in de app-logica, gebruikersinterface en UX. Ze gebruiken hulpprogramma's zoals Microsoft Foundry in Windows, OnnxRuntime of REST API's en verwerken de gebruikersinvoer en modeluitvoer. Elke rol omvat verschillende verantwoordelijkheden en vaardigheden, maar samenwerking en communicatie tussen deze rollen is vereist om de beste resultaten te behalen. Afhankelijk van de grootte en complexiteit van het project kunnen deze rollen worden uitgevoerd door dezelfde persoon of door verschillende teams.