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.
Voor app-ontwikkelaars die AI-functies willen integreren, biedt Microsoft Windows een uitgebreid en flexibel platform dat ondersteuning biedt voor zowel lokale, on-device-verwerking als schaalbare cloudoplossingen.
Het kiezen tussen cloudgebaseerde en lokale AI-modellen is afhankelijk van uw specifieke behoeften en prioriteiten. Veel productie-apps maken gebruik van een hybride strategie: probeer eerst een lokale Windows AI-API of lokaal model, en val vervolgens terug op een cloudeindpunt wanneer het model niet is geïnstalleerd, het apparaat wordt niet ondersteund, de gebruiker geeft geen toestemming voor het downloaden van een model of de taak vereist een groter model.
Factoren om rekening mee te houden zijn:
- Gegevensprivacy, naleving en beveiliging
- Resourcebeschikbaarheid
- Toegankelijkheid en samenwerking
- Kosten
- Onderhoud en updates
- Prestatie en latentie
- Schaalbaarheid
- Connectiviteitsvereisten
- Modelgrootte en complexiteit
- Tools en het bijbehorende ecosysteem
- Aanpassing en beheer
Belangrijke beslissingsfactoren voor app-ontwikkelaars
Gegevensprivacy, naleving en beveiliging
Lokaal, on-premises: Omdat gegevens op het apparaat blijven staan, kan het lokaal uitvoeren van een model voordelen bieden met betrekking tot beveiliging en privacy, met de verantwoordelijkheid van gegevensbeveiliging die op de gebruiker rust. De ontwikkelaar is verantwoordelijk voor het beheren van updates, het garanderen van compatibiliteit en het bewaken van beveiligingsproblemen.
Cloud: Cloudproviders bieden robuuste beveiligingsmaatregelen, maar gegevens moeten in sommige gevallen worden overgedragen naar de cloud, wat in sommige gevallen zorgen kan veroorzaken over de privacy van gegevens voor het bedrijf of app-service-onderhoud. Het verzenden van gegevens naar de cloud moet ook voldoen aan de regelgeving voor gegevensbescherming, zoals AVG of HIPAA, afhankelijk van de aard van de gegevens en de regio waarin de app werkt. Cloudproviders verwerken doorgaans beveiligingsupdates en onderhoud, maar gebruikers moeten ervoor zorgen dat ze beveiligde API's gebruiken en de aanbevolen procedures voor gegevensverwerking volgen.
Resourcebeschikbaarheid
Lokaal, on-premises: Het uitvoeren van een model is afhankelijk van de resources die beschikbaar zijn op het apparaat dat wordt gebruikt, waaronder de CPU, GPU, NPU, geheugen en opslagcapaciteit. Dit kan worden beperkt als het apparaat geen hoge rekenkracht of voldoende opslagruimte heeft. Kleine taalmodellen (SLM's), zoals Phi, zijn geschikter voor lokaal gebruik op een apparaat. Copilot+ Pc's bieden ingebouwde modellen met kant-en-klare AI-functies die worden ondersteund door Microsoft Foundry on Windows.
Cloud: Cloudplatforms, zoals Azure AI Services, bieden schaalbare middelen. U kunt zoveel rekenkracht of opslag gebruiken als u nodig hebt en betaalt alleen voor wat u gebruikt. Grote taalmodellen (LLM's), zoals de OpenAI-taalmodellen, vereisen meer resources, maar zijn ook krachtiger.
Toegankelijkheid en samenwerking
Lokaal, on-premises: Het model en de gegevens zijn alleen toegankelijk op het apparaat, tenzij ze handmatig worden gedeeld. Dit biedt de mogelijkheid om samenwerking op modelgegevens moeilijker te maken.
Cloud: Het model en de gegevens zijn toegankelijk vanaf elke locatie met internetverbinding. Dit kan beter zijn voor samenwerkingsscenario's.
Kosten
Lokaal, on-premises: Er zijn geen extra kosten meer dan de initiële investering in de hardware van het apparaat.
Cloud: Terwijl cloudplatforms werken op basis van een model voor betalen per gebruik, kunnen de kosten worden verzameld op basis van de gebruikte resources en de duur van het gebruik.
onderhoud en updates
Lokaal, on-premises: De gebruiker is verantwoordelijk voor het onderhouden van het systeem en het installeren van updates.
Cloud: Onderhoud, systeemupdates en nieuwe functie-updates worden verwerkt door de cloudserviceprovider, waardoor de overhead voor onderhoud voor de gebruiker wordt verminderd.
Prestaties en latentie
Lokaal, on-premises: Het lokaal uitvoeren van een model kan de latentie verminderen omdat gegevens niet via het netwerk hoeven te worden verzonden. De prestaties worden echter beperkt door de hardwaremogelijkheden van het apparaat.
Wolk: Cloudmodellen kunnen gebruikmaken van krachtige hardware, maar ze kunnen latentie veroorzaken als gevolg van netwerkcommunicatie. De prestaties kunnen variëren op basis van de internetverbinding van de gebruiker en de reactietijd van de cloudservice.
Schaalbaarheid
Lokaal, on-premises: Het schalen van een model op een lokaal apparaat vereist mogelijk aanzienlijke hardware-upgrades of het toevoegen van meer apparaten, wat kostbaar en tijdrovend kan zijn.
Cloud: Cloudplatforms bieden eenvoudige schaalbaarheid, zodat u snel resources kunt aanpassen op basis van de vraag zonder dat fysieke hardwarewijzigingen nodig zijn.
Vereisten voor connectiviteit
Lokaal, on-premises: Een lokaal apparaat vereist geen internetverbinding om een model uit te voeren, wat nuttig kan zijn in omgevingen met beperkte connectiviteit.
Cloud: Cloud-gebaseerde modellen vereisen een stabiele internetverbinding voor toegang en kunnen worden beïnvloed door netwerkproblemen.
Beschikbaarheid tijdens runtime en fallback
Lokaal, on-premises: Lokale AI-functies kunnen afhankelijk zijn van hardware, Windows versie, Windows App SDK-versie, regio en of een optioneel model is geïnstalleerd. Voordat u een lokale AI-functie aanroept, controleert u de gereedheidsstatus en leidt u de gebruiker door een vereiste download- of toestemmingsstroom van het model. Voor Windows AI-API's gebruikt u het API-specifieke gereedheidspatroon dat wordt beschreven in Aan de slag met Windows AI-API's en de afzonderlijke API-pagina's.
Cloud: Een cloudeindpunt kan een terugval bieden wanneer een lokaal model niet gereed is of wordt ondersteund op het huidige apparaat. Bepaal of terugval automatisch, door de gebruiker beheerd of uitgeschakeld is voor privacygevoelige scenario's. Zorg ervoor dat de gebruikersinterface uitlegt wanneer gegevens het apparaat verlaten.
Modelgrootte en complexiteit
Lokaal, on-premises: Lokale apparaten kunnen beperkingen hebben voor de grootte en complexiteit van modellen die kunnen worden uitgevoerd vanwege hardwarebeperkingen. Kleinere modellen, zoals Phi, zijn geschikter voor lokale uitvoering.
Cloud: Cloudplatforms kunnen dankzij hun schaalbare infrastructuur grotere en complexere modellen verwerken, zoals die van OpenAI.
Hulpprogramma's en het bijbehorende ecosysteem
Lokaal, on-premises: Lokale AI-oplossingen, zoals Microsoft FoundryMicrosoft Foundry on WindowsWindows ML enFoundry Local, integreren met Windows App SDK en ONNX Runtime, zodat ontwikkelaars modellen rechtstreeks kunnen insluiten in desktop- of edge-apps met minimale externe afhankelijkheden.
Cloud: Cloud AI-oplossingen, zoals Microsoft FoundryAzure AI Services en Azure OpenAI Service, bieden een uitgebreide set API's en SDK's voor het bouwen van AI-toepassingen. Deze services zijn ontworpen om naadloos te integreren met Azure DevOps, GitHub Copilot, Semantic Kernel en andere Azure services, waardoor end-to-end indeling, modelimplementatie en bewaking op schaal mogelijk zijn.
Aanpassing en beheer
Lokaal, on-premises: Lokale modellen kunnen out-of-the-box worden gebruikt, zonder dat hiervoor een hoog expertiseniveau nodig is. Microsoft Foundry on Windows biedt modellen zoals Phi Silica die klaar zijn voor gebruik. Windows Met ML kunnen ontwikkelaars ook aangepaste modellen uitvoeren, zoals modellen die zijn getraind met ONNX Runtime, rechtstreeks op Windows apparaten. Dit biedt een hoge mate van controle over het model en het gedrag ervan, waardoor u op basis van specifieke gebruiksscenario's nauwkeurig kunt afstemmen en optimaliseren. Foundry Local Biedt ontwikkelaars ook de mogelijkheid om modellen lokaal op Windows apparaten uit te voeren, waardoor ze een hoge mate van controle over het model en het gedrag ervan kunnen bieden.
Cloud: Cloudmodellen bieden ook kant-en-klare en aanpasbare opties, zodat ontwikkelaars gebruik kunnen maken van vooraf getrainde mogelijkheden en het model tegelijkertijd aangepast kan worden aan hun specifieke behoeften. Microsoft Foundry is een geïntegreerd Azure platform-as-a-service-aanbod voor zakelijke AI-bewerkingen, modelbouwers en toepassingsontwikkeling. Deze basis combineert infrastructuur op productieniveau met gebruiksvriendelijke interfaces, waardoor ontwikkelaars zich kunnen richten op het bouwen van toepassingen in plaats van infrastructuur te beheren.
Voorbeelden van CLOUD AI
Als een cloudoplossing beter werkt voor uw Windows app-scenario, bent u mogelijk geïnteresseerd in enkele van de onderstaande zelfstudies.
Er zijn veel API's beschikbaar voor toegang tot cloudmodellen om AI-functies in uw Windows app te activeren, ongeacht of deze modellen zijn aangepast of kant-en-klaar zijn. Door een cloudmodel te gebruiken, kan uw app gestroomlijnd blijven door resource-intensieve taken naar de cloud te delegeren. Enkele bronnen om u te helpen bij het toevoegen van op AI gebaseerde API's in de cloud die worden aangeboden door Microsoft of OpenAI zijn onder andere:
OpenAI-chatvoltooiingen toevoegen aan uw WinUI 3 / Windows App SDK-bureaublad-app: een zelfstudie over het integreren van de cloudgebaseerde OpenAI ChatGPT-voltooiingsmogelijkheden in een WinUI 3/ Windows App SDK-bureaublad-app.
Voeg DALL-E toe aan uw WinUI 3 / Windows App SDK-bureaublad-app: een zelfstudie over het integreren van de cloudgebaseerde OpenAI DALL-E mogelijkheden voor het genereren van afbeeldingen in een WinUI 3-/ Windows App SDK-bureaublad-app.
Azure OpenAI-service: als u wilt dat uw Windows app toegang heeft tot OpenAI-modellen, zoals GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, DALLE-3 of de serie Embeddings-modellen, met de toegevoegde beveiligings- en bedrijfsmogelijkheden Azure, vindt u richtlijnen in deze Azure OpenAI-documentatie.
Azure AI Services: Azure biedt een volledige suite ai-services die beschikbaar zijn via REST API's en clientbibliotheek-SDK's in populaire ontwikkeltalen. Zie de documentatie van elke service voor meer informatie. Deze cloudservices helpen ontwikkelaars en organisaties snel intelligente, geavanceerde, marktklare en verantwoordelijke toepassingen te maken met kant-en-klare en vooraf samengestelde en aanpasbare API's en modellen. Voorbeelden van toepassingen zijn verwerking van natuurlijke taal voor gesprekken, zoeken, bewaken, vertalen, spraak, visie en besluitvorming.
Een hybride lokaal/cloudpad ontwerpen
Gebruik een hybride pad wanneer uw app moet profiteren van lokale deductie wanneer deze beschikbaar is, maar nog steeds een handige ervaring bieden op niet-ondersteunde apparaten of voordat een lokaal model gereed is.
- Kies eerst de lokale mogelijkheid. Begin met een Windows AI-API wanneer deze overeenkomt met uw scenario, of gebruik Windows ML/ Foundry Local wanneer u een specifiek model moet uitvoeren.
- Controleer de gereedheid voor gebruik. Bij het opstarten of voordat de functie wordt weergegeven, voert u een query uit op de gereedheidsstatus van de lokale functie. Als de API rapporteert dat de functie niet wordt ondersteund, niet is geïnstalleerd of als er een download nodig is, roept u deze niet blind aan.
- Vraag om toestemming wanneer een lokaal model moet worden gedownload. Sommige lokale modellen zijn optioneel en kunnen meerdere GB zijn. Leg de downloadgrootte uit, waarom het model nodig is en of de app zonder het model kan doorgaan.
- Definieer een terugval in de cloud. Als het lokale model niet gereed is, roept u alleen een cloudeindpunt aan wanneer de gebruiker en organisatie toestaan dat gegevens het apparaat verlaten. Behoud de lokale en cloudpaden achter dezelfde abstractie op app-niveau, zodat de rest van de app niet afhankelijk is van waar deductie wordt uitgevoerd.
- Houd gedrag waarneembaar. Leg vast welk pad is gebruikt, fouten bij gereedheidscontroles, uitkomsten van modeldownloads en cloudfallbackfouten, zonder prompts, tokens of gevoelige inhoud te loggen, tenzij uw organisatie die gegevensverwerking heeft goedgekeurd.
Hybride fallback-beslisstroom
Gebruik deze stroom als uitgangspunt:
- Wanneer de gebruiker een AI-functie start, controleert u of een lokale AI-functie past bij de taak.
- Als er geen lokale functie past bij de taak, gebruikt u cloud-AI of een andere service.
- Als een lokale functie past bij de taak, controleert u of de functie gereed is op het huidige apparaat.
- Als de lokale functie gereed is, voert u lokale deductie uit.
- Als de lokale functie een modeldownload nodig heeft, vraagt u om toestemming van de gebruiker voordat u de download start.
- Als de gebruiker toestemming verleent, download of bereid het model voor en probeer vervolgens de lokale inferentie opnieuw.
- Als de gebruiker geen toestemming geeft of als de lokale functie niet wordt ondersteund, controleert u of cloudback is toegestaan voor het scenario.
- Als cloudfallback is toegestaan, gebruik dan het cloudpad.
- Als terugval in de cloud niet is toegestaan, legt u het apparaat, model of beleidsvereiste uit en schakelt u de functie uit of verbergt u deze.
Zie Windows AI-API's, Aan de slag met Windows AI-API's en Foundry LocalWindows ML voor details over lokale gereedheid.