Designprinzipien für KI-Workloads in Azure
In diesem Artikel werden die Kernprinzipien für KI-Workloads in Azure beschrieben, die sich auf die KI-Aspekte einer Architektur konzentrieren. Es ist wichtig, alle Well-Architected Framework-Säulen zusammen zu berücksichtigen, einschließlich ihrer Kompromisse. Wenden Sie jede Säule auf die funktionalen und nicht funktionalen Anforderungen der Workload an.
Zuverlässigkeit
AI-Workloads, die in Azure ausgeführt werden, müssen viele der gleichen Zuverlässigkeitsanforderungen berücksichtigen wie andere Workloadsklassen. Besondere Überlegungen für Modellschulungen, Hosting und Ableitungen sind jedoch besonders wichtig und werden in erster Linie in diesem Prinzip behandelt. Es ist wichtig zu beachten, dass die hier beschriebenen Methoden zusätzlich zu den bewährten Standarddesignmethoden für Cloudanwendungen gehören und entsprechend integriert werden sollten.
Überprüfen Sie die Zuverlässigkeitsdesignprinzipien , um ein grundlegendes Verständnis der hier beschriebenen Konzepte zu erhalten.
Entwurfsprinzip | Überlegungen |
---|---|
Verringern einzelner Fehlerpunkte. | Die Verwendung einer einzelnen Instanz für kritische Komponenten kann zu erheblichen Problemen führen. Um dies zu verhindern, erstellen Sie Redundanz in alle kritischen Komponenten. Verwenden Sie Plattformen mit integrierten Fehlertoleranz- und Hochverfügbarkeitsfeatures, und implementieren Sie Redundanz, indem Sie mehrere Instanzen oder Knoten bereitstellen. |
Führen Sie Fehlermodusanalysen durch. Nutzen Sie die bekannten Designmuster. |
Analysieren Sie regelmäßig potenzielle Fehlermodi in Ihren Systemkomponenten, und erstellen Sie Resilienz gegen diese Fehler. Verwenden Sie bekannte Entwurfsmuster, um Teile Ihres Systems zu isolieren und Kaskadierende Fehler zu verhindern. Beispielsweise kann das Bulkhead-Muster Fehler isolieren, während Wiederholungsmechanismen und Schaltkreisbrecher vorübergehende Fehler wie Drosselungsanforderungen behandeln können. Auf der Datenebene kann das Cache-Aside-Muster verwendet werden, um Vorhersagen vorzurechnen und schnellere Nachschlagevorgänge zu ermöglichen und den Aufwand für das Modell zu verringern. |
Ausgewogene Zuverlässigkeitsziele über abhängige Komponenten hinweg. | Stellen Sie sicher, dass der ableitende Endpunkt oder das Modell und der Datenspeicher hinsichtlich der Zuverlässigkeit ausgerichtet sind. Anwendungskomponenten müssen auch unter unerwarteten Bedingungen verfügbar bleiben, z. B. einer Zunahme gleichzeitiger Benutzer. Darüber hinaus sollte die Workload über die Möglichkeit verfügen, bei Fehlern zu Sicherungssystemen fehlzuschlagen. Wenn eine Komponente fehlschlägt, wirkt sich dies auf die Zuverlässigkeit des anderen aus. Ebenso sollten Layer-APIs, die kritische Produktionsressourcen sind, den gleichen Zuverlässigkeitsstandards entsprechen wie andere Arbeitsauslastungsflüsse mit hoher Kritischer Qualität. Wenn diese APIs eine hohe Verfügbarkeit erfordern, muss die Hostingplattform Verfügbarkeitszonen oder ein Multiregion-Design unterstützen, um einen kontinuierlichen Betrieb und eine Ausfallsicherheit sicherzustellen. |
Design für Betriebssicherheit. | Sorgen Sie für die Zuverlässigkeit von Modellantworten, indem Sie sicherstellen, dass Updates häufig und zeitnah sind. Entscheiden Sie, ob aktuelle Daten verwendet werden sollen oder ob etwas ältere Daten ausreichend sind, und ausgleichen Sie den Bedarf an aktuellen Informationen mit der Praktischkeit der Aktualisierungshäufigkeit. Onlineschulungen sollten aufgrund ihrer Häufigkeits- und Zuverlässigkeitsanforderungen automatisiert werden, während offline-Schulungen durch eine Kosten-Nutzen-Analyse gerechtfertigt und mit günstigeren Ressourcen durchgeführt werden können. |
Entwerfen Sie eine zuverlässige Benutzererfahrung. | Verwenden Sie Auslastungstests, um zu bewerten, wie Ihre Workload Stress verarbeitet und Ihre Benutzeroberfläche gestaltet, um die Erwartungen der Benutzer hinsichtlich der Reaktionszeiten zu verwalten. Implementieren Sie UI-Elemente, die Benutzer über potenzielle Wartezeiten informieren und asynchrone Clouddesignprinzipien einführen, um Unterbrechungen, Latenz oder Fehler zu beheben. |
Sicherheit
Modelle verwenden häufig sensible Produktionsdaten, um relevante Ergebnisse zu erzeugen. Daher müssen robuste Sicherheitsmaßnahmen auf allen Ebenen der Architektur verwendet werden. Dazu gehört die Implementierung eines sicheren Anwendungsdesigns frühzeitig im Lebenszyklus, das Verschlüsseln von Ruhedaten und der Übertragung sowie die Einhaltung von Branchencompliancestandards. Regelmäßige Sicherheitsbewertungen sind entscheidend für die Identifizierung und Milderung von Sicherheitsrisiken, während erweiterte Bedrohungserkennungsmechanismen schnelle Reaktionen auf potenzielle Bedrohungen gewährleisten.
Sicherheitsprinzipien sind grundlegende Grundlagen für KI-Lösungen, Schutz der Datenintegrität, Entwurfsintegrität und Datenschutz der Benutzer. Als Arbeitsauslastungsbesitzer sind Sie für das Erstellen von Vertrauensstellungen und zum Schutz vertraulicher Informationen verantwortlich und sorgen für eine sichere Benutzererfahrung.
Entwurfsprinzip | Überlegungen |
---|---|
Verdienen Sie die Benutzervertrauensstellung. | Integrieren Sie die Inhaltssicherheit in jeder Phase des Lebenszyklus mithilfe von benutzerdefiniertem Code, geeigneten Tools und effektiven Sicherheitskontrollen. Entfernen Sie nicht benötigte persönliche und vertrauliche Informationen über alle Datenspeicherpunkte hinweg, einschließlich aggregierter Datenspeicher, Suchindizes, Caches und Anwendungen. Halten Sie dieses Sicherheitsniveau in der gesamten Architektur konsistent. Stellen Sie sicher, dass es eine gründliche Kon Zelt-Modus ration gibt, die Daten sowohl in Richtungen prüft als auch unangemessene und anstößige Inhalte herausfiltert. |
Schützen Sie ruhende Daten, während der Übertragung und werden entsprechend den Vertraulichkeitsanforderungen der Workload verwendet. | Verwenden Sie mindestens die Verschlüsselung auf Plattformebene mit von Microsoft verwalteten oder vom Kunden verwalteten Schlüsseln in allen Datenspeichern, die in der Architektur verwendet werden. Bewerten Sie, wo Sie höhere Verschlüsselungsebenen benötigen, und verwenden Sie bei Bedarf doppelte Verschlüsselung. Stellen Sie sicher, dass der gesamte Datenverkehr HTTPS für die Verschlüsselung verwendet. Entscheiden Sie bei jedem Hop über die TLS-Endpunkte. Das Modell selbst muss geschützt werden, um Angreifer daran zu hindern, vertrauliche Informationen zu extrahieren, die während des Trainings verwendet werden. Dies erfordert das höchste Maß an Sicherheitsmaßnahmen. Erwägen Sie die Verwendung von homomorpher Verschlüsselung, die das Ableiten von verschlüsselten Daten ermöglicht. |
Investieren Sie in eine robuste Zugriffsverwaltung, um Identitäten (Benutzer und System) beizubehalten, die auf das System zugreifen. | Implementieren Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) und attributbasierte Zugriffssteuerung (Attribute-Based Access Control, ABAC) für Steuerelemente und Datenebenen. Behalten Sie die richtige Identitätssegmentierung zum Schutz der Privatsphäre bei, sodass nur der Zugriff auf Inhalte gewährt wird, die sie anzeigen dürfen. |
Schützen Sie die Integrität des Designs durch Segmentierung. | Stellen Sie private Netzwerke für den Zugriff auf zentrale Repositorys für Containerimages, Daten und Coderessourcen bereit. Beim Freigeben der Infrastruktur für andere Workloads wird segmentierungsweise erstellt, z. B. beim Hosten ihres Rückschlussservers in AKS, sollte der Knotenpool von anderen APIs oder anderen Workloads isoliert werden. |
Führen Sie Sicherheitstests durch. | Entwickeln Sie einen detaillierten Testplan, der Tests enthält, um unethische Verhaltensweisen zu erkennen, wenn Änderungen am System vorgenommen werden. Integrieren Sie KI-Komponenten in Ihre vorhandenen Sicherheitstests. Integrieren Sie beispielsweise den Ableitungsendpunkt zusammen mit anderen öffentlichen Endpunkten in Ihre Routinetests. Erwägen Sie, Tests auf dem Livesystem durchzuführen, z. B. Penetrationstests oder rote Teamübungen, um potenzielle Sicherheitsrisiken effektiv zu identifizieren und zu beheben. |
Reduzieren Sie die Angriffsfläche, indem Sie strengen Benutzerzugriff und API-Design erzwingen. | Erfordern der Authentifizierung für alle Ableitungsendpunkte, einschließlich System-zu-System-Aufrufe. Vermeiden Sie anonyme Endpunkte. Bevorzugen Sie den eingeschränkten API-Entwurf auf Kosten der clientseitigen Flexibilität. |
Kompromiss. Die Bereitstellung höchster Sicherheit hat Kompromisse in Kosten und Genauigkeit, da die Möglichkeit, die verschlüsselten Daten zu analysieren, zu prüfen oder zu protokollieren, eingeschränkt ist. Inhaltssicherheitsprüfungen und die Erklärbarkeit können auch in hochsicheren Umgebungen eine Herausforderung darstellen.
Diese Entwurfsbereiche enthalten Details zu den vorherigen Prinzipien und Überlegungen:
Kostenoptimierung
Die Säule "Kostenoptimierung" zielt darauf ab, Investitionen zu maximieren, nicht notwendigerweise die Kosten zu senken. Jede architekturbezogene Wahl hat sowohl direkte als auch indirekte finanzielle Auswirkungen. Verstehen Sie die Kosten, die an verschiedene Optionen gebunden sind, einschließlich Build- und Kaufentscheidungen, Technologieauswahl, Abrechnungsmodelle, Lizenzierung, Schulung und Betriebskosten. Es ist wichtig, Ihre Investition in die ausgewählte Stufe zu maximieren und abrechnungsmodelle kontinuierlich neu zu bewerten. Fortlaufende Auswertung der Kosten im Zusammenhang mit Änderungen an Architektur, Geschäftsanforderungen, Prozessen und Teamstruktur.
Überprüfen Sie die Kostenoptimierungsprinzipien mit Fokus auf Rate und Nutzungsoptimierung.
Entwurfsprinzip | Überlegungen |
---|---|
Ermitteln Sie die Kostentreiber, indem Sie eine umfassende Kostenmodellierungsübung durchführen. | Berücksichtigen Sie die wichtigsten Faktoren der Daten- und Anwendungsplattform: - Datenvolumen. Schätzen Sie die Datenmenge, die Sie indizieren und verarbeiten möchten. Größere Mengen können die Speicher- und Verarbeitungskosten erhöhen. - Anzahl der Abfragen. Vorhersagen der Häufigkeit und Komplexität von Abfragen. Höhere Abfragevolumes können kostenaufwendigen, insbesondere, wenn sie erhebliche Rechenressourcen benötigen. - Durchsatz: Bewerten Sie den erwarteten Durchsatz, der sich auf die benötigte Leistungsstufe auswirkt. Höhere Durchsatzanforderungen können zu höheren Kosten führen. - Abhängigkeitskosten. Möglicherweise gibt es versteckte Kosten in Abhängigkeiten. Wenn Sie z. B. die Kosten des Indexes berechnen, schließen Sie die Kosten des Qualifikationssatzes ein, der Teil der Datenverarbeitung ist, aber außerhalb des Indexbereichs. |
Bezahlen Sie für das, was Sie verwenden möchten. | Wählen Sie eine Technologielösung aus, die Ihren Anforderungen entspricht, ohne unnötige Kosten entstehen zu müssen. Wenn erweiterte Features nicht erforderlich sind, sollten Sie günstigere Optionen und Open-Source-Tools in Betracht ziehen. Faktor der Nutzungshäufigkeit. Bevorzugen Sie flexible Berechnungsoptionen für Orchestrierungstools, um die Nutzungskosten zu minimieren, da sie immer aktiviert sind. Vermeiden Sie die serverlose Berechnung für Vollzeitvorgänge aufgrund potenzieller Kosteneskalation. Zahlen Sie nicht für höhere Stufen, ohne ihre volle Kapazität zu nutzen. Stellen Sie sicher, dass Die ausgewählte Ebene ihren Produktionsnutzungsmustern entspricht, um Ausgaben zu optimieren. Verwenden Sie standardpreise für reguläre Aufgaben und Spotpreise für hochunterbrechbare Schulungen. Verwenden Sie GPU-basiertes Compute nur für KI-Workloadfunktionen, um Kosten zu reduzieren. Testen und messen Sie Ihre Schulung und Feinabstimmung umfassend, um die ideale SKU zu finden, die Leistung und Kosten ausgleicht. |
Verwenden Sie das, wofür Sie bezahlen. Minimieren Sie Abfälle. | Überwachen Sie die Auslastungsmetriken genau. KI-Workloads können teuer sein, und Die Kosten können schnell eskalieren, wenn Ressourcen nicht heruntergefahren, verkleinert oder abgeglichen werden, wenn sie nicht verwendet werden. Optimieren Sie das System für einmaliges Schreiben, lesen Sie viele , um zu vermeiden, dass die Datenspeicherung außer Kraft steht. Schulungsdaten benötigen nicht die sofortige Reaktionsfähigkeit einer Produktionsdatenbank. Stresstests für einen Azure OpenAI-Ableitungsendpunkt können aufgrund von Gebühren für jeden Anruf teuer sein. Um Kosten zu reduzieren, verwenden Sie nicht verwendete PTUs von OpenAI in einer Testumgebung, oder simulieren Sie stattdessen den Ableitungsendpunkt. Aktivitäten wie explorative Datenanalyse (EDA), Modellschulungen und Feinabstimmungen werden in der Regel nicht in Vollzeit ausgeführt, bevorzugen eine Plattform, die beendet werden kann, wenn sie nicht verwendet wird. EDA-Aufträge sind z. B. in der Regel interaktiv, sodass Benutzer virtuelle Computer starten und während der Ausführung von Aufträgen beenden können. Legen Sie Kostenkonten für die Betriebsteams fest, die sicherstellen sollten, dass die Kosten in den erwarteten Parametern bleiben, indem Sie die Ressourcenauslastung aktiv überwachen und verwalten. |
Optimieren Sie die Betriebskosten. | Onlineschulungen können aufgrund ihrer häufigen Natur kostspielig sein. Durch die Automatisierung dieses Prozesses wird die Konsistenz beibehalten und die Kosten von menschlichen Fehlern minimiert. Darüber hinaus kann die Verwendung von etwas älteren Daten für Schulungen und verzögerte Updates nach Möglichkeit die Ausgaben weiter reduzieren, ohne dass sich die Modellgenauigkeit erheblich auswirkt. Bewerten Sie für Offlineschulungen, ob günstigere Ressourcen verwendet werden können, z. B. Offlinehardware. Löschen Sie im Allgemeinen Daten aus Featurespeichern, um Unübersichtlichkeit und Speicherkosten für Features zu reduzieren. |
Kompromiss: Kostenoptimierung und Leistungseffizienz. Das Ausgleichen der Kosten mit der Leistung in der Datenbankverwaltung umfasst unter Berücksichtigung von Kompromissen. Effizientes Indexdesign beschleunigt Abfragen, kann aber die Kosten aufgrund der Metadatenverwaltung und der Indexgröße erhöhen. Ebenso kann das Partitionieren großer Tabellen die Abfrageleistung verbessern und die Speicherlast verringern, aber zusätzliche Kosten verursachen. Umgekehrt können Techniken, die übermäßige Indizierung vermeiden, Kosten reduzieren, aber die Leistung beeinträchtigen, wenn sie nicht ordnungsgemäß verwaltet werden.
Kompromiss: Kostenoptimierung und Operative Exzellenz. Es gibt Kompromisse in den beiden hauptansätzen für die Modellschulung. Die Schulung in der Entwicklungsumgebung mit vollständigen Produktionsdaten kann die Berechnungskosten senken, indem sie das Modell einmal trainieren und nur das Artefakt fördern, erfordert jedoch strenge Sicherheitsmaßnahmen für die Verarbeitung von Produktionsdaten in niedrigeren Umgebungen, die komplex und ressourcenintensiv sein können. Umgekehrt verbessert das Training des Modells in jeder Umgebung die Stabilität und Zuverlässigkeit durch gründliche Codeüberprüfung und -tests, erhöht jedoch die Rechenkosten aufgrund mehrerer Trainingsläufe.
Optimaler Betrieb
Das Hauptziel besteht darin, die Funktionen während des gesamten Entwicklungslebenszyklus effizient bereitzustellen. Dies umfasst die Erstellung wiederholbarer Prozesse, die die Entwurfsmethodik der Experimentierung unterstützen und Ergebnisse liefern, um die Modellleistung zu verbessern. Operative Exzellenz geht es auch um eine nachhaltige Genauigkeit von Modellen im Laufe der Zeit, die Implementierung effektiver Überwachungspraktiken und Governance zur Minimierung von Risiken und die Entwicklung von Change Management-Prozessen zur Anpassung an Modellabweichungen.
Während alle Grundsätze der Operational Excellence auf KI-Workloads angewendet werden, priorisieren Sie Automatisierung und Überwachung als grundlegende betriebliche Strategien.
Entwurfsprinzip | Überlegungen |
---|---|
Fördern Sie eine kontinuierliche Lern- und Experimentier-Denkweise während des gesamten Lebenszyklus der Anwendungsentwicklung, der Datenverarbeitung und des KI-Modellmanagements. | Workload-Operationen sollten auf branchenbewährten Methoden wie DevOps, DataOps, MLOps und GenAIOps aufbauen. Eine frühzeitige Zusammenarbeit zwischen Vorgängen, Anwendungsentwicklung und Datenteams ist unerlässlich, um ein gegenseitiges Verständnis der akzeptablen Modellleistung zu schaffen. Betriebsteams bieten Qualitätssignale und umsetzbare Warnungen, während Anwendungs- und Datenteams dabei helfen, Probleme effizient zu diagnostizieren und zu beheben. |
Wählen Sie Technologien aus, die den Betriebsaufwand minimieren. | Wenn Sie Plattformlösungen auswählen, bevorzugen Sie PaaS gegenüber selbst gehosteten Optionen, um das Design zu vereinfachen, die Workflow-Orchestrierung zu automatisieren und Day-2-Vorgänge zu vereinfachen. |
Erstellen Sie ein automatisiertes Überwachungssystem, das Warnungsfunktionen unterstützt, einschließlich Protokollierung und Auditierbarkeit. | Angesichts der nicht deterministischen Natur der KI sind Qualitätsmessungen wichtig, um frühzeitig im Lebenszyklus zu etablieren. Arbeiten Sie mit Data Scientists zusammen, um Qualitätsmetriken zu definieren, visualisieren Sie fortlaufende Erkenntnisse in umfassenden Dashboards. Verfolgen Sie Experimente mithilfe von Tools, mit denen Details wie Codeversionen, Umgebungen, Parameter, Ausführung und Ergebnisse erfasst werden können. Implementieren Sie Aktionen erfordernde Warnungen mit nur ausreichend Informationen, damit die Operatoren schnell reagieren können. |
Automatisieren Sie die Erkennung und Entschärfung des Modellzerfalls. | Verwenden Sie automatisierte Tests, um die Drift im Laufe der Zeit zu bewerten. Stellen Sie sicher, dass Ihr Überwachungssystem Warnungen sendet, wenn Die Antworten von den erwarteten Ergebnissen abweichen und dies regelmäßig starten. Verwenden Sie Tools, mit denen neue Modelle automatisch ermittelt und aktualisiert werden können. Passen Sie sich bei Bedarf an neue Anwendungsfälle an, indem Sie die Datenverarbeitungs- und Modellschulungslogik anpassen. |
Üben Sie sichere Bereitstellungen. | Wählen Sie zwischen parallelen Bereitstellungen oder direkten Updates aus, um Ausfallzeiten zu minimieren. Implementieren Sie gründliche Tests vor der Bereitstellung, um sicherzustellen, dass das Modell ordnungsgemäß konfiguriert ist und Ziele, Benutzererwartungen und Qualitätsstandards erfüllt. Planen Sie immer Notfalleinsätze, unabhängig von der Bereitstellungsstrategie. |
Kontinuierliche Auswertung der Benutzererfahrung in der Produktion | Ermöglichen Sie benutzern, Feedback zu ihrer Erfahrung zu geben und ihre Zustimmung zum Teilen von Teilen oder allen Unterhaltungen zu erhalten, die ein zugeordnetes Protokoll zur Problembehandlung enthalten. Überlegen Sie, wie viel einer Benutzerinteraktion lebensfähig, konform, sicher und nützlich ist, um die Daten sorgfältig zu erfassen und zu verwenden, um die Leistung Ihrer Workload mit echten Benutzerinteraktionen zu bewerten. |
Kompromiss: Operative Exzellenz und die Kosten der Komplexität.
Diese Entwurfsbereiche enthalten Details zu den vorherigen Prinzipien und Überlegungen:
Effiziente Leistung
Ziel der KI-Modell-Leistungsbewertung ist es, zu bestimmen, wie effektiv ein Modell seine beabsichtigten Aufgaben erfüllt. Dazu gehören die Bewertung verschiedener Metriken wie Genauigkeit, Präzision und Fairness. Darüber hinaus ist die Leistung der Plattform- und Anwendungskomponenten, die das Modell unterstützen, von entscheidender Bedeutung.
Die Modellleistung wirkt sich auch auf die Effizienz von Vorgängen wie Experimentverfolgung und Datenverarbeitung aus. Das Anwenden von Leistungseffizienzprinzipien trägt dazu bei, die Leistung anhand eines akzeptablen Qualitätsbalkens zu messen. Dies ist der Schlüssel zum Erkennen von Abbau oder Verfall. Um die Arbeitsauslastung aufrechtzuerhalten, einschließlich KI-Komponenten, sind automatisierte Prozesse zur kontinuierlichen Überwachung und Auswertung erforderlich.
Entwurfsprinzip | Überlegungen |
---|---|
Legen Sie Leistungs-Benchmarks fest. | Führen Sie strenge Leistungstests in verschiedenen Architekturbereichen durch und legen Sie akzeptable Ziele fest. Diese laufende Bewertung sollte Teil Ihrer betrieblichen Prozesse sein, nicht nur ein einmaliger Test. Benchmarking gilt für die Vorhersageleistung. Beginnen Sie mit einer Basislinie, um die anfängliche Modellleistung zu verstehen und kontinuierlich neu zu bewerten, um sicherzustellen, dass sie den Erwartungen entspricht. |
Bewerten Sie die Ressourcenanforderungen, um Leistungsziele zu erfüllen. | Verstehen sie die Ladeeigenschaften, um die richtige Plattform und Ressourcen mit der richtigen Größe auszuwählen. Berücksichtigen Sie diese Daten für die Kapazitätsplanung im großen Maßstab. Verwenden Sie beispielsweise Auslastungstests, um die optimale Computeplattform und SKU zu ermitteln. Hochleistungs-GPU-optimierte Compute wird häufig für Modellschulungen und Feinabstimmungen benötigt, während allgemeine SKUs für Orchestrierungstools geeignet sind. Wählen Sie auf ähnliche Weise eine Datenplattform aus, die die Datenaufnahme effizient verarbeitet, gleichzeitige Schreibvorgänge verwaltet und individuelle Schreibleistung ohne Beeinträchtigung aufrecht erhält. Verschiedene Ableitungsserver weisen unterschiedliche Leistungsmerkmale auf und wirken sich auf die Modellleistung zur Laufzeit aus. Wählen Sie einen Server aus, der die grundlegenden Erwartungen erfüllt. |
Sammeln und analysieren Sie Leistungsmetriken, und identifizieren Sie Engpässe. |
Auswerten der Telemetrie aus der Datenpipeline, um sicherzustellen, dass Leistungsziele für Durchsatz- und Lese-/Schreibvorgänge erfüllt sind. Berücksichtigen Sie für den Suchindex Metriken wie die Abfragelatenz, den Durchsatz, die Genauigkeit der Ergebnisse. Da das Datenvolumen steigt, sollten fehlerraten nicht steigen. Analysieren Sie Telemetrie aus den Codekomponenten, z. B. dem Orchestrator, der Daten aus Dienstaufrufen sammelt. Die Analyse dieser Daten kann Ihnen helfen, die für die lokale Verarbeitung aufgewendete Zeit im Vergleich zu Netzwerkaufrufen zu verstehen und potenzielle Latenz in anderen Komponenten zu identifizieren. Bewerten Sie die Benutzeroberfläche mithilfe von Engagement-Metriken, um festzustellen, ob Benutzer positiv eingebunden oder frustriert sind. Eine höhere Zeit auf einer Seite kann beides angeben. Multimodale Funktionen wie Sprach- oder Videoantworten können zu erheblichen Wartezeiten führen, was zu längeren Reaktionszeiten führt. |
Verbessern Sie die Benchmark-Leistung kontinuierlich mithilfe von Qualitätsmessungen aus der Produktion. | Die automatisierte Erfassung und Analyse von Leistungsmetriken, Warnungen und Modellumschulungen ist erforderlich, um die Modelleffizienz aufrechtzuerhalten. |
Kompromiss. Bei der Betrachtung der Plattformfunktionen ist es wichtig, Kosten und Leistung auszugleichen. Beispielsweise sind GPU-SKUs teuer, sodass sie bei Bedarf kontinuierlich auf Unternutzung und Ressourcen mit der richtigen Größe überwacht werden. Testen Sie nach Anpassungen die Ressourcenauslastung, um ein Gleichgewicht zwischen den Kosten der Plattformressourcen und ihren Vorgängen und der erwarteten Leistung gemäß der Baseline sicherzustellen. Informationen zu Kostenoptimierungsstrategien finden Sie unter Empfehlungen zur Optimierung der Komponentenkosten.
Diese Entwurfsbereiche enthalten Details zu den vorherigen Prinzipien und Überlegungen: