Wählen Sie zwischen cloudbasierten und lokalen KI-Modellen

Für App-Entwickler, die KI-Features integrieren möchten, bietet Microsoft Windows eine umfassende und flexible Plattform, die sowohl lokale Verarbeitung als auch skalierbare, cloudbasierte Lösungen unterstützt.

Die Auswahl zwischen cloudbasierten und lokalen KI-Modellen hängt von Ihren spezifischen Anforderungen und Prioritäten ab. Viele Produktions-Apps verwenden eine Hybridstrategie: Versuchen Sie zuerst eine lokale Windows KI-API oder ein lokales Modell, und greifen Sie dann auf einen Cloudendpunkt zurück, wenn das Modell nicht installiert ist, das Gerät nicht unterstützt wird, der Benutzer stimmt keinem Modelldownload zu, oder die Aufgabe erfordert ein größeres Modell.

Zu beachtende Faktoren:

  • Datenschutz, Compliance und Sicherheit
  • Ressourcenverfügbarkeit
  • Barrierefreiheit und Zusammenarbeit
  • Kosten
  • Wartung und Updates
  • Leistung und Wartezeit
  • Skalierbarkeit
  • Konnektivitätsanforderungen
  • Modellgröße und Komplexität
  • Werkzeugerstellung und zugehöriges Ökosystem
  • Anpassung und Kontrolle

Wichtige Entscheidungsfaktoren für App-Entwickler

  • Datenschutz, Compliance und Sicherheit

    • Lokal, vor Ort: Da Daten auf dem Gerät verbleiben, kann das lokale Ausführen eines Modells Vorteile hinsichtlich Sicherheit und Privatsphäre bieten, wobei die Datensicherheit auf dem Benutzer ruht. Der Entwickler übernimmt die Verantwortung für die Verwaltung von Updates, die Sicherstellung der Kompatibilität und die Überwachung von Sicherheitsrisiken.

    • Cloud: Cloudanbieter bieten robuste Sicherheitsmaßnahmen, aber der Transfer von Daten in die Cloud ist erforderlich, was in einigen Fällen Datenschutzbedenken für den Geschäfts- oder App-Dienst-Betreuer hervorrufen kann. Das Senden von Daten an die Cloud muss auch den Datenschutzbestimmungen entsprechen, z. B. DSGVO oder HIPAA, je nach Art der Daten und der Region, in der die App betrieben wird. Cloudanbieter behandeln in der Regel Sicherheitsupdates und Wartung, aber Benutzer müssen sicherstellen, dass sie sichere APIs verwenden und bewährte Methoden für die Datenverarbeitung ausführen.

  • Ressourcenverfügbarkeit

    • Lokal, lokal: Das Ausführen eines Modells hängt von den ressourcen ab, die auf dem verwendeten Gerät verfügbar sind, einschließlich CPU, GPU, NPU, Arbeitsspeicher und Speicherkapazität. Dies kann begrenzt werden, wenn das Gerät keine hohe Rechenleistung oder ausreichendEn Speicher hat. Kleine Sprachmodelle (SLMs), wie Phi, eignen sich besser für die lokale Verwendung auf einem Gerät. Copilot+ PCs bieten integrierte Modelle mit einsatzbereiten KI-Funktionen, die von Microsoft Foundry on Windows unterstützt werden.

    • Cloud: Cloud-Plattformen, wie Azure AI Services, bieten skalierbare Ressourcen. Sie können beliebig viel Rechenleistung oder Speicher verwenden und nur für ihre Nutzung bezahlen. Große Sprachmodelle (LLMs), wie die OpenAI-Sprachmodelle, erfordern mehr Ressourcen, sind aber auch leistungsstärker.

  • Barrierefreiheit und Zusammenarbeit

    • Lokal, vor Ort: Auf das Modell und die Daten kann nur auf dem Gerät zugegriffen werden, es sei denn, sie werden manuell freigegeben. Dies hat das Potenzial, die Zusammenarbeit an Modelldaten schwieriger zu machen.

    • Cloud: Das Modell und die Daten sind von überall bei bestehender Internetverbindung zugänglich. Dies kann für Szenarien für die Zusammenarbeit besser sein.

  • Kosten

    • Lokal, vor Ort: Es gibt keine zusätzlichen Kosten, die über die anfängliche Investition in die Gerätehardware hinausgehen.

    • Cloud: Während Cloudplattformen mit einem Zahlung-nach-Nutzung-Modell arbeiten, können sich die Kosten basierend auf den verwendeten Ressourcen und der Nutzungsdauer häufen.

  • Wartung und Updates

    • Lokal, Vor-Ort: Der Benutzer ist dafür verantwortlich, das System zu verwalten und Updates zu installieren.

    • Cloud: Wartung, Systemupdates und neue Funktionsupdates werden vom Clouddienstanbieter übernommen, wodurch der Wartungsaufwand für den Benutzer reduziert wird.

  • Leistung und Latenz

    • Lokal, lokal: Das lokale Ausführen eines Modells kann die Latenz verringern, da Daten nicht über das Netzwerk gesendet werden müssen. Die Leistung ist jedoch durch die Hardwarefunktionen des Geräts eingeschränkt.

    • Cloud: Cloudbasierte Modelle können leistungsstarke Hardware nutzen, aber sie können aufgrund der Netzwerkkommunikation Latenzen verursachen. Die Leistung kann je nach Internetverbindung des Benutzers und der Reaktionszeit des Clouddiensts variieren.

  • Skalierbarkeit

    • Lokal, lokal: Die Skalierung eines Modells auf einem lokalen Gerät erfordert möglicherweise erhebliche Hardwareupgrades oder das Hinzufügen weiterer Geräte, was kostspielig und zeitaufwändig sein kann.

    • Cloud: Cloudplattformen bieten eine einfache Skalierbarkeit, sodass Sie Ressourcen basierend auf Bedarf schnell anpassen können, ohne dass physische Hardwareänderungen erforderlich sind.

  • Konnektivitätsanforderungen

    • Lokal, lokal: Ein lokales Gerät erfordert keine Internetverbindung, um ein Modell auszuführen, was in Umgebungen mit eingeschränkter Konnektivität von Vorteil sein kann.

    • Cloud: Cloud-basierte Modelle erfordern eine stabile Internetverbindung für den Zugriff und können von Netzwerkproblemen betroffen sein.

  • Laufzeitverfügbarkeit und Fallback

    • Lokal, lokal installiert: Lokale KI-Funktionen können von der Hardware, der Windows Version, der Windows App-SDK-Version, der Region und davon abhängig sein, ob ein optionales Modell installiert ist. Bevor Sie ein lokales KI-Feature aufrufen, überprüfen Sie den Bereitschaftsstatus, und leiten Sie den Benutzer durch jeden erforderlichen Modelldownload- oder Zustimmungsfluss. Verwenden Sie für Windows KI-APIs das API-spezifische Bereitschaftsmuster, das in "Erste Schritte mit Windows AI-APIs " und den einzelnen API-Seiten dokumentiert ist.

    • Cloud: Ein Cloudendpunkt kann einen Fallback bereitstellen, wenn ein lokales Modell nicht bereit oder auf dem aktuellen Gerät unterstützt wird. Entscheiden Sie, ob Fallback für Datenschutzszenarien automatisch, benutzergesteuert oder deaktiviert ist. Stellen Sie sicher, dass die Benutzeroberfläche erläutert, wenn Daten das Gerät verlassen.

  • Modellgröße und Komplexität

    • Lokal, vor Ort: Lokale Geräte können Einschränkungen bei der Größe und Komplexität der ausführbaren Modelle aufgrund von Hardwarebeschränkungen haben. Kleinere Modelle, wie z. B. Phi, eignen sich besser für die lokale Ausführung.

    • Cloud: Cloudplattformen können größere und komplexere Modelle verarbeiten, wie sie beispielsweise von OpenAI bereitgestellt werden, aufgrund ihrer skalierbaren Infrastruktur.

  • Werkzeuge und damit verbundenes Ökosystem

    • Lokal, vor Ort: Lokale KI-Lösungen, wie z. B. Microsoft FoundryMicrosoft Foundry on Windows, Windows-ML und Foundry Local, integrieren sich in Windows App SDK und ONNX Runtime, sodass Entwickler Modelle direkt in Desktop- oder Edge-Apps mit minimalen externen Abhängigkeiten einbetten können.

    • Cloud: Cloud-AI-Lösungen wie Microsoft FoundryAzure AI Services und Azure OpenAI Service bieten umfassende APIs und SDKs zum Erstellen von KI-Anwendungen. Diese Dienste sind so konzipiert, dass sie nahtlos in Azure DevOps, GitHub Copilot, Semantischer Kernel und andere Azure Dienste integriert werden können, wodurch end-to-End-Orchestrierung, Modellbereitstellung und Überwachung im großen Maßstab ermöglicht werden.

  • Anpassung und Steuerung

    • Lokal, vor Ort: Lokale Modelle können direkt verwendet werden, ohne dass ein hohes Maß an Expertise erforderlich ist. Microsoft Foundry on Windows bietet einsatzbereite Modelle wie Phi Silica an. Windows Alternativ können Entwickler mit ML benutzerdefinierte Modelle ausführen, z. B. mit ONNX-Runtime trainierte Modelle direkt auf Windows Geräten. Dies bietet ein hohes Maß an Kontrolle über das Modell und sein Verhalten, was eine Feinabstimmung und Optimierung basierend auf bestimmten Anwendungsfällen ermöglicht. Foundry Local Ermöglicht Entwicklern außerdem das lokale Ausführen von Modellen auf Windows Geräten, wodurch ein hohes Maß an Kontrolle über das Modell und sein Verhalten bereitgestellt wird.

    • Cloud: Cloud-basierte Modelle bieten außerdem sowohl einsatzbereite als auch anpassbare Optionen, sodass Entwickler vorgefertigte Funktionen nutzen können und gleichzeitig das Modell auf ihre spezifischen Anforderungen anpassen können. Microsoft Foundry ist ein einheitliches Azure Plattform-as-a-Service-Angebot für KI-Vorgänge für Unternehmen, Modellgeneratoren und Anwendungsentwicklung. Diese Grundlage kombiniert die Infrastruktur auf Produktionsniveau mit freundlichen Schnittstellen, sodass Entwickler sich nicht auf die Verwaltung der Infrastruktur konzentrieren können, sondern sich auf das Erstellen von Anwendungen konzentrieren können.

Cloud AI-Beispiele

Wenn eine cloudbasierte Lösung für Ihr Windows App-Szenario besser funktioniert, sind Sie möglicherweise an einigen der folgenden Lernprogramme interessiert.

Viele APIs stehen für den Zugriff auf cloudbasierte Modelle zur Verfügung, um KI-Features in Ihrer Windows App zu nutzen, unabhängig davon, ob diese Modelle angepasst oder einsatzbereit sind. Durch die Verwendung eines cloudbasierten Modells kann Ihre App optimiert bleiben, indem ressourcenintensive Aufgaben an die Cloud delegiert werden. Einige Ressourcen, die Ihnen dabei helfen, cloudbasierte, von Microsoft oder OpenAI angebotene KI-unterstützte APIs hinzuzufügen, sind:

  • Hinzufügen von OpenAI-Chatabschlussen zu WinUI 3 / Windows App SDK-Desktop-App: Ein Lernprogramm zum Integrieren der cloudbasierten OpenAI ChatGPT-Abschlussfunktionen in eine WinUI 3 / Windows App SDK-Desktop-App.

  • Hinzufügen von DALL-E zu WinUI 3 / Windows App SDK-Desktop-App: Ein Lernprogramm zum Integrieren der cloudbasierten OpenAI-DALL-E Bildgenerierungsfunktionen in eine WinUI 3/ Windows App SDK-Desktop-App.

  • Azure OpenAI-Dienst: Wenn Ihre Windows App auf OpenAI-Modelle zugreifen soll, z. B. GPT-4, GPT-4 Turbo mit Vision, GPT-3.5-Turbo, DALLE-3 oder die Embeddings-Modellreihe, mit den zusätzlichen Sicherheits- und Unternehmensfunktionen von Azure, finden Sie Anleitungen in dieser Azure OpenAI-Dokumentation.

  • Azure AI Services: Azure bietet eine ganze Suite von KI-Diensten, die über REST-APIs und Clientbibliotheks-SDKs in beliebten Entwicklungssprachen verfügbar sind. Weitere Informationen finden Sie in der Dokumentation zu den einzelnen Diensten. Diese cloudbasierten Dienste helfen Entwicklern und Organisationen, schnell intelligente, modernste, marktfähige und verantwortungsvolle Anwendungen mit sofort einsatzbereiten und vordefinierten und anpassbaren APIs und Modellen zu erstellen. Beispielanwendungen sind die Verarbeitung natürlicher Sprache für Unterhaltungen, Suche, Überwachung, Übersetzung, Sprache, Visions- und Entscheidungsfindung.

Entwerfen eines lokalen/Cloud-Hybridpfads

Verwenden Sie einen hybriden Ansatz, wenn Ihre App die lokale Inferenz nutzen soll, sofern sie verfügbar ist, aber auch auf nicht unterstützten Geräten oder bevor ein lokales Modell bereitsteht dennoch eine sinnvolle Benutzererfahrung bieten soll.

  1. Wählen Sie zuerst die lokale Funktion aus. Beginnen Sie mit einer Windows KI-API, wenn sie Ihrem Szenario entspricht, oder verwenden Sie Windows ML / Foundry Local , wenn Sie ein bestimmtes Modell ausführen müssen.
  2. Überprüfen Sie die Bereitschaft vor der Verwendung. Fragen Sie beim Start oder vor der Anzeige des Features den Bereitschaftsstatus des lokalen Features ab. Wenn die API meldet, dass das Feature nicht unterstützt wird, nicht installiert ist oder einen Download benötigt, rufen Sie es nicht blind auf.
  3. Bitten Sie um Zustimmung, wenn ein lokales Modell heruntergeladen werden muss. Einige lokale Modelle sind optional und können mehrere GB sein. Erläutern Sie die Downloadgröße, warum das Modell benötigt wird und ob die App ohne das Modell fortgesetzt werden kann.
  4. Definieren Sie einen Cloud-Fallback. Wenn das lokale Modell nicht bereit ist, rufen Sie nur dann einen Cloudendpunkt auf, wenn der Benutzer und die Organisation zulassen, dass Daten das Gerät verlassen können. Halten Sie die lokalen und Cloud-Pfade hinter derselben Abstraktion auf Anwendungsebene, damit der Rest der App nicht davon abhängt, wo die Inferenz ausgeführt wird.
  5. Verhalten feststellbar halten. Protokollieren Sie, welcher Pfad verwendet wurde, Bereitschaftsfehler, Modelldownloadergebnisse und Cloud-Fallbackfehler ohne Protokollierung von Eingabeaufforderungen, Token oder vertraulichen Inhalten, es sei denn, Ihre Organisation hat diese Datenverarbeitung genehmigt.

Hybrider Fallback-Entscheidungsfluss

Verwenden Sie diesen Fluss als Ausgangspunkt:

  1. Wenn der Benutzer ein KI-Feature startet, überprüfen Sie, ob ein lokales KI-Feature zur Aufgabe passt.
  2. Wenn kein lokales Feature zur Aufgabe passt, verwenden Sie Cloud-KI oder einen anderen Dienst.
  3. Wenn ein lokales Feature zur Aufgabe passt, überprüfen Sie, ob das Feature auf dem aktuellen Gerät bereit ist.
  4. Wenn das lokale Feature bereit ist, führen Sie lokale Rückschlüsse aus.
  5. Wenn das lokale Feature einen Modelldownload benötigt, bitten Sie vor dem Starten des Downloads um Zustimmung des Benutzers.
  6. Wenn der Benutzer zustimmt, laden Sie das Modell herunter oder bereiten Sie es vor und versuchen Sie anschließend erneut die lokale Inferenz.
  7. Wenn der Benutzer nicht zustimmt oder das lokale Feature nicht unterstützt wird, überprüfen Sie, ob Cloud-Fallback für das Szenario zulässig ist.
  8. Wenn Cloud-Fallback zulässig ist, verwenden Sie den Cloudpfad.
  9. Wenn Cloud-Fallback nicht zulässig ist, erläutern Sie die Geräte-, Modell- oder Richtlinienanforderung, und deaktivieren oder ausblenden Sie das Feature.

Informationen zu lokalen Bereitschaftsdetails finden Sie unter Windows AI-APIs, erste Schritte mit Windows AI-APIs und Foundry LocalWindows ML.