Välj mellan molnbaserade och lokala AI-modeller

För apputvecklare som vill integrera AI-funktioner erbjuder Microsoft Windows en omfattande och flexibel plattform som stöder både lokal bearbetning på enheten och skalbara, molnbaserade lösningar.

Valet mellan molnbaserade och lokala AI-modeller beror på dina specifika behov och prioriteringar. Många produktionsappar använder en hybridstrategi: prova först ett lokalt Windows AI-API eller en lokal modell och återgå sedan till en molnslutpunkt när modellen inte är installerad, enheten inte stöds, användaren godkänner inte en modellnedladdning eller uppgiften kräver en större modell.

Faktorer att tänka på är:

  • Datasekretess, efterlevnad och säkerhet
  • Resurstillgänglighet
  • Hjälpmedel och samarbete
  • Kostnad
  • Underhåll och uppdateringar
  • Prestanda och svarstid
  • Skalbarhet
  • Anslutningskrav
  • Modellstorlek och komplexitet
  • Verktyg och tillhörande ekosystem
  • Anpassning och kontroll

Viktiga beslutsfaktorer för apputvecklare

  • Datasekretess, efterlevnad och säkerhet

    • Lokalt: Eftersom data finns kvar på enheten kan körning av en modell lokalt ge fördelar när det gäller säkerhet och sekretess, med ansvar för datasäkerhet som vilar på användaren. Utvecklaren ansvarar för att hantera uppdateringar, säkerställa kompatibilitet och övervaka säkerhetsrisker.

    • Cloud: Cloud-leverantörer erbjuder robusta säkerhetsåtgärder, men data måste överföras till molnet, vilket i vissa fall kan ge upphov till oro för dataskydd bland företagets eller apptjänstens ansvariga. Att skicka data till molnet måste också följa dataskyddsreglerna, till exempel GDPR eller HIPAA, beroende på typen av data och den region där appen fungerar. Molnleverantörer hanterar vanligtvis säkerhetsuppdateringar och underhåll, men användarna måste se till att de använder säkra API:er och följer metodtips för datahantering.

  • Resurstillgänglighet

    • Lokalt: Att köra en modell beror på vilka resurser som är tillgängliga på den enhet som används, inklusive processor-, GPU-, NPU-, minne- och lagringskapacitet. Detta kan vara en begränsning om enheten inte har hög beräkningskraft eller tillräckligt med lagringsutrymme. Små språkmodeller (SSM), som Phi, är mer lämpliga för lokal användning på en enhet. Copilot+ Datorer erbjuder inbyggda modeller med färdiga AI-funktioner som stöds av Microsoft Foundry on Windows.

    • Moln: Molnplattformar, till exempel Azure AI-tjänster, erbjuder skalbara resurser. Du kan använda så mycket beräkningskraft eller lagring som du behöver och bara betala för det du använder. Stora språkmodeller (LLM), som OpenAI-språkmodeller, kräver fler resurser, men är också mer kraftfulla.

  • Tillgänglighet och samarbete

    • Lokalt, på plats: Modellen och data är endast tillgängliga på enheten om de inte delas manuellt. Detta har potential att göra samarbete kring modelldata mer utmanande.

    • Cloud: Modellen och data kan nås var som helst med internetanslutning. Detta kan vara bättre för samarbetsscenarier.

  • Kostnad

    • Lokalt: Det finns ingen extra kostnad utöver den initiala investeringen i enhetens maskinvara.

    • Cloud: Även om molnplattformar fungerar enligt en betala per användning-modell kan kostnaderna ackumuleras baserat på de resurser som används och varaktigheten för användningen.

  • underhåll och uppdateringar

    • Lokalt: Användaren ansvarar för att underhålla systemet och installera uppdateringar.

    • Cloud: Underhåll, systemuppdateringar och nya funktionsuppdateringar hanteras av molntjänstleverantören, vilket minskar underhållskostnaderna för användaren.

  • Prestanda och svarstid

    • Lokalt: Att köra en modell lokalt kan minska svarstiden eftersom data inte behöver skickas via nätverket. Prestanda begränsas dock av enhetens maskinvarufunktioner.

    • Moln: Molnbaserade modeller kan utnyttja kraftfull maskinvara, men de kan medföra svarstider på grund av nätverkskommunikation. Prestandan kan variera beroende på användarens internetanslutning och molntjänstens svarstid.

  • Skalbarhet

    • Lokalt: Skalning av en modell på en lokal enhet kan kräva betydande maskinvaruuppgraderingar eller tillägg av fler enheter, vilket kan vara kostsamt och tidskrävande.

    • Moln: Molnplattformar erbjuder enkel skalbarhet så att du snabbt kan justera resurser baserat på efterfrågan utan att behöva göra fysiska maskinvaruändringar.

  • Anslutningskrav

    • Lokalt: En lokal enhet kräver ingen Internetanslutning för att köra en modell, vilket kan vara fördelaktigt i miljöer med begränsad anslutning.

    • Moln: Molnbaserade modeller kräver en stabil Internetanslutning för åtkomst och kan påverkas av nätverksproblem.

  • Körtidstillgänglighet och reservlösning

    • Lokalt: Lokala AI-funktioner kan bero på maskinvara, Windows version, Windows App SDK-version, region och om en valfri modell är installerad. Innan du anropar en lokal AI-funktion kontrollerar du dess beredskapstillstånd och vägleder användaren genom alla nödvändiga modellnedladdnings- eller medgivandeflöden. För Windows AI-API:er använder du det API-specifika beredskapsmönstret som beskrivs i Kom igång med Windows AI-API:er och enskilda API-sidor.

    • Moln: En molnslutpunkt kan ge en reserv när en lokal modell inte är redo eller stöds på den aktuella enheten. Bestäm om återställning är automatisk, användarkontrollerad eller inaktiverad för sekretesskänsliga scenarier. Kontrollera att användargränssnittet förklarar när data lämnar enheten.

  • Modellstorlek och komplexitet

    • Lokalt: Lokala enheter kan ha begränsningar för storlek och komplexitet för modeller som kan köras på grund av maskinvarubegränsningar. Mindre modeller, till exempel Phi, är mer lämpliga för lokal körning.

    • Moln: Molnplattformar kan hantera större och mer komplexa modeller, till exempel de som tillhandahålls av OpenAI, på grund av deras skalbara infrastruktur.

  • Verktyg och tillhörande ekosystem

    • Lokalt: Lokala AI-lösningar, till exempel Microsoft FoundryMicrosoft Foundry on Windows, Windows ML och Foundry Local, integreras med Windows App SDK och ONNX Runtime, så att utvecklare kan bädda in modeller direkt i skrivbords- eller edge-appar med minimala externa beroenden.

    • Moln: Ai-molnlösningar, till exempel Microsoft FoundryAI Azure Services och Azure OpenAI Service, tillhandahåller en omfattande uppsättning API:er och SDK:er för att skapa AI-program. Dessa tjänster är utformade för att integreras sömlöst med Azure DevOps, GitHub Copilot, Semantic Kernel och andra Azure tjänster, vilket möjliggör orkestrering från slutpunkt till slutpunkt, modelldistribution och övervakning i stor skala.

  • Anpassning och kontroll

    • Lokalt: Lokala modeller kan användas direkt, utan att det krävs någon hög kompetensnivå. Microsoft Foundry on Windows erbjuder modeller som Phi Silica som är redo att användas. Alternativt kan ML göra det möjligt för utvecklare att köra anpassade modeller, till exempel de som tränats Windows med ONNX Runtime, direkt på Windows enheter. Detta ger en hög kontroll över modellen och dess beteende, vilket möjliggör finjustering och optimering baserat på specifika användningsfall. Foundry Local gör det också möjligt för utvecklare att köra modeller lokalt på Windows enheter, vilket ger en hög kontroll över modellen och dess beteende.

    • Moln: Molnbaserade modeller erbjuder också både färdiga och anpassningsbara alternativ, vilket gör det möjligt för utvecklare att utnyttja förtränade funktioner samtidigt som de anpassar modellen efter sina specifika behov. Microsoft Foundry är ett enhetligt Azure plattform-som-en-tjänst-erbjudande för företags-AI-åtgärder, modellbyggare och programutveckling. Den här grunden kombinerar infrastruktur i produktionsklass med användarvänliga gränssnitt, vilket gör det möjligt för utvecklare att fokusera på att skapa program i stället för att hantera infrastruktur.

Ai-exempel i molnet

Om en molnbaserad lösning fungerar bättre för ditt Windows appscenario kanske du är intresserad av några av självstudierna nedan.

Många API:er är tillgängliga för åtkomst till molnbaserade modeller för att driva AI-funktioner i din Windows app, oavsett om dessa modeller är anpassade eller färdiga att använda. Med hjälp av en molnbaserad modell kan din app förbli strömlinjeformad genom att delegera resursintensiva uppgifter till molnet. Några resurser som hjälper dig att lägga till molnbaserade AI-baserade API:er som erbjuds av Microsoft eller OpenAI är:

  • Lägg till OpenAI-slutföringsfunktioner i din WinUI 3/Windows App SDK-skrivbordsapp: En handledning om hur du integrerar de molnbaserade funktionerna för OpenAI ChatGPT-slutförande i en WinUI 3/Windows App SDK-skrivbordsapp.

  • Lägg till DALL-E i ditt WinUI 3/ Windows App SDK-skrivbordsapp: En självstudie om hur du integrerar molnbaserade OpenAI-DALL-E bildgenereringsfunktioner i en WinUI 3/ Windows App SDK-skrivbordsapp.

  • Azure OpenAI Service: Om du vill att din Windows app ska få åtkomst till OpenAI-modeller, till exempel GPT-4, GPT-4 Turbo med Vision, GPT-3.5-Turbo, DALLE-3 eller modellserien Embeddings, med de extra säkerhets- och företagsfunktionerna Azurei kan du hitta vägledning i den här Azure OpenAI-dokumentationen.

  • Azure AI Services: Azure erbjuder en hel uppsättning AI-tjänster som är tillgängliga via REST-API:er och klientbiblioteks-SDK:er på populära utvecklingsspråk. Mer information finns i dokumentationen för varje tjänst. Dessa molnbaserade tjänster hjälper utvecklare och organisationer att snabbt skapa intelligenta, banbrytande, marknadsklara och ansvarsfulla program med färdiga och fördefinierade och anpassningsbara API:er och modeller. Exempelprogram är bearbetning av naturligt språk för konversationer, sökning, övervakning, översättning, tal, vision och beslutsfattande.

Utforma en hybridsökväg mellan lokal miljö och molnet

Använd en hybridsökväg när din app ska dra nytta av lokal slutsatsdragning när den är tillgänglig, men ändå ge en användbar upplevelse på enheter som inte stöds eller innan en lokal modell är klar.

  1. Välj den lokala funktionen först. Börja med ett Windows AI-API när det matchar ditt scenario eller använd Windows ML/ Foundry Local när du behöver köra en specifik modell.
  2. Kontrollera beredskapen före användning. Vid start eller innan funktionen visas frågar du efter den lokala funktionens beredskapstillstånd. Om API:et rapporterar att funktionen inte stöds, inte är installerad eller behöver laddas ned ska du inte anropa den blint.
  3. Be om medgivande när en lokal modell måste laddas ned. Vissa lokala modeller är valfria och kan vara flera GB. Förklara nedladdningsstorleken, varför modellen behövs och om appen kan fortsätta utan den.
  4. Definiera en molnbaserad reservlösning. Om den lokala modellen inte är klar anropar du endast en molnslutpunkt när användaren och organisationen tillåter att data lämnar enheten. Håll de lokala sökvägarna och molnvägarna bakom samma abstraktion på appnivå så att resten av appen inte är beroende av var slutsatsdragningen körs.
  5. Håll beteendet observerbart. Logga vilken sökväg som användes, beredskapsfel, modellnedladdningsresultat och molnåterställningsfel utan loggningsprompter, token eller känsligt innehåll om inte din organisation har godkänt datahanteringen.

Beslutsflöde för hybridåterställning

Använd det här flödet som utgångspunkt:

  1. När användaren startar en AI-funktion kontrollerar du om en lokal AI-funktion passar uppgiften.
  2. Om ingen lokal funktion passar uppgiften använder du moln-AI eller en annan tjänst.
  3. Om en lokal funktion passar uppgiften kontrollerar du om funktionen är klar på den aktuella enheten.
  4. Om den lokala funktionen är klar kör du lokal slutsatsdragning.
  5. Om den lokala funktionen behöver en modellnedladdning ber du om användarmedgivande innan du påbörjar nedladdningen.
  6. Om användaren godkänner, laddar ned eller förbereder modellen kan du försöka med lokal slutsatsdragning igen.
  7. Om användaren inte samtycker, eller om den lokala funktionen inte stöds, kontrollerar du om molnåterställning tillåts för scenariot.
  8. Om molnåterställning tillåts använder du molnsökvägen.
  9. Om molnåterställning inte tillåts förklarar du enhets-, modell- eller principkravet och inaktiverar eller döljer funktionen.

Information om lokal beredskap finns i Windows AI-API:er, Kom igång med Windows AI-API:erFoundry Local och Windows ML.