KI und ML: Leistungsoptimierung

Last reviewed 2024-10-11 UTC

Dieses Dokument im Well-Architected Framework: AI & ML Perspective bietet einen Überblick über Prinzipien und Empfehlungen, die Ihnen helfen, die Leistung Ihrer KI- und ML-Arbeitslasten auf Google Cloudzu optimieren. Die Empfehlungen in diesem Dokument entsprechen der Säule zur Leistungsoptimierung des Google Cloud Well-Architected Framework.

KI- und ML-Systeme ermöglichen neue Automatisierungs- und Entscheidungsfunktionen für Ihr Unternehmen. Die Leistung dieser Systeme kann sich direkt auf Ihre geschäftlichen Faktoren wie Umsatz, Kosten und Kundenzufriedenheit auswirken. Um das volle Potenzial Ihrer KI- und ML-Systeme auszuschöpfen, müssen Sie ihre Leistung auf Grundlage Ihrer Geschäftsziele und technischen Anforderungen optimieren. Bei der Leistungsoptimierung müssen oft Kompromisse eingegangen werden. Beispielsweise kann eine Designentscheidung, die die erforderliche Leistung bietet, zu höheren Kosten führen. Bei den Empfehlungen in diesem Dokument hat die Leistung Vorrang vor anderen Aspekten wie Kosten.

Um die Leistung von KI und ML zu optimieren, müssen Sie Entscheidungen in Bezug auf Faktoren wie die Modellarchitektur, Parameter und Trainingsstrategie treffen. Berücksichtigen Sie bei diesen Entscheidungen den gesamten Lebenszyklus der KI- und ML-Systeme und ihre Bereitstellungsumgebung. Sehr große LLMs können beispielsweise auf einer umfangreichen Trainingsinfrastruktur sehr leistungsstark sein, aber in Umgebungen mit begrenzter Kapazität wie Mobilgeräten möglicherweise nicht gut funktionieren.

Geschäftsziele in Leistungsziele umwandeln

Um Architektur-Entscheidungen zu treffen, die die Leistung optimieren, beginnen Sie mit einer klaren Reihe von Geschäftszielen. Entwerfen Sie KI- und ML-Systeme, die die technische Leistung bieten, die zur Unterstützung Ihrer Geschäftsziele und Prioritäten erforderlich ist. Ihre technischen Teams müssen die Zuordnung zwischen Leistungszielen und Geschäftszielen verstehen.

Beachten Sie die folgenden Empfehlungen:

  • Geschäftsziele in technische Anforderungen umwandeln: Wandeln Sie die Geschäftsziele Ihrer KI- und ML-Systeme in spezifische technische Leistungsanforderungen um und bewerten Sie die Auswirkungen, wenn die Anforderungen nicht erfüllt werden. Bei einer Anwendung, die beispielsweise den Kundenabgang vorhersagt, sollte das ML-Modell bei Standardmesswerten wie Accuracy und Recall gut abschneiden und die Anwendung sollte betriebliche Anforderungen wie eine niedrige Latenz erfüllen.
  • Leistung in allen Phasen des Modelllebenszyklus beobachten: Beobachten Sie während der Tests und des Trainings nach der Modellbereitstellung Ihre wichtigsten Leistungskennzahlen (KPIs) und achten Sie auf Abweichungen von den Geschäftszielen.
  • Bewertung automatisieren, um sie reproduzierbar und standardisiert zu machen: Mit einer standardisierten und vergleichbaren Plattform und Methodik für die Bewertung von Tests können Ihre Entwickler die Leistungssteigerung beschleunigen.

Häufige Tests ausführen und verfolgen

Damit Innovation und Kreativität zu Leistungssteigerungen führen, benötigen Sie eine Kultur und eine Plattform, die Experimente unterstützt. Die Leistungssteigerung ist ein fortlaufender Prozess, da sich KI- und ML-Technologien kontinuierlich und schnell weiterentwickeln. Um einen schnellen, iterativen Prozess aufrechtzuerhalten, müssen Sie den Experimentierbereich von Ihren Trainings- und Bereitstellungsplattformen trennen. Ein standardisierter und robuster Prozess für A/B-Tests ist wichtig.

Beachten Sie die folgenden Empfehlungen:

  • Testumgebung erstellen: Leistungsverbesserungen erfordern eine dedizierte, leistungsstarke und interaktive Umgebung, die das Testen und die gemeinsame Entwicklung von ML-Pipelines unterstützt.
  • Experimente als Kultur verankern: Führen Sie vor jeder Produktionsbereitstellung Tests durch. Veröffentlichen Sie neue Versionen iterativ und erheben Sie immer Leistungsdaten. Experimentieren Sie mit verschiedenen Datentypen, Feature-Transformationen, Algorithmen und Hyperparametern.

Training und Bereitstellung von Diensten erstellen und automatisieren

Das Trainieren und Bereitstellen von KI-Modellen sind Kernkomponenten Ihrer KI-Dienste. Sie benötigen robuste Plattformen und Verfahren, die die schnelle und zuverlässige Erstellung, Bereitstellung und Bereitstellung von KI‑Modellen unterstützen. Investieren Sie Zeit und Mühe in die Entwicklung grundlegender Plattformen für Ihre wichtigsten KI-Trainings- und ‑Bereitstellungsaufgaben. Diese grundlegenden Plattformen helfen, den Zeit- und Arbeitsaufwand für Ihre Teams zu reduzieren und die Qualität der Ergebnisse mittel- und langfristig zu verbessern.

Beachten Sie die folgenden Empfehlungen:

  • KI-spezialisierte Komponenten eines Trainingsdienstes verwenden: Dazu gehören Hochleistungs-Compute- und MLOps-Komponenten wie Feature Stores, Modellregistrierungen, Metadatenspeicher und Dienste zur Bewertung der Modellleistung.
  • KI-spezialisierte Komponenten eines Vorhersagedienstes verwenden: Diese Komponenten bieten leistungsstarke und skalierbare Ressourcen, unterstützen das Feature-Monitoring und ermöglichen das Monitoring der Modellleistung. Um Leistungseinbußen zu verhindern und zu beheben, sollten Sie zuverlässige Bereitstellungs- und Rollback-Strategien implementieren.

Designentscheidungen an Leistungsanforderungen anpassen

Wenn Sie Designentscheidungen treffen, um die Leistung zu verbessern, sollten Sie sorgfältig prüfen, ob sie Ihren geschäftlichen Anforderungen entsprechen oder verschwenderisch und kontraproduktiv sind. Um die geeignete Infrastruktur, die richtigen Modelle oder Konfigurationen auszuwählen, müssen Sie Leistungsengpässe ermitteln und bewerten, wie sie mit Ihren Leistungsmessungen zusammenhängen. Selbst bei sehr leistungsstarken GPU-Beschleunigern können bei Ihren Trainingsaufgaben Leistungsengpässe auftreten, die auf Probleme mit der Daten-E/A der Speicherebene oder auf Leistungsbeschränkungen des Modells selbst zurückzuführen sind.

Beachten Sie die folgenden Empfehlungen:

  • Hardwareverbrauch basierend auf Leistungszielen optimieren: Um ML-Modelle zu trainieren und bereitzustellen, die Ihren Leistungsanforderungen entsprechen, müssen Sie die Infrastruktur auf den Compute-, Speicher- und Netzwerkschichten optimieren. Sie müssen die Variablen, die sich auf Ihre Leistungsziele auswirken, messen und verstehen. Diese Variablen sind für Training und Inferenz unterschiedlich.
  • Arbeitslastspezifische Anforderungen berücksichtigen: Konzentrieren Sie sich bei der Leistungsoptimierung auf die spezifischen Anforderungen Ihrer KI- und ML-Arbeitslasten. Verlassen Sie sich auf verwaltete Dienste für die Leistung der zugrunde liegenden Infrastruktur.
  • Geeignete Trainingsstrategien auswählen: Es sind mehrere vortrainierte und grundlegende Modelle verfügbar und es werden häufig weitere veröffentlicht. Wählen Sie eine Trainingsstrategie aus, mit der sich die optimale Leistung für Ihre Aufgabe erzielen lässt. Entscheiden Sie, ob Sie ein eigenes Modell erstellen, ein vorab trainiertes Modell mit Ihren Daten abstimmen oder eine API für vorab trainierte Modelle verwenden sollten.
  • Berücksichtigen Sie, dass Strategien zur Leistungsoptimierung einen abnehmenden Grenzertrag haben können. Wenn eine bestimmte Strategie zur Leistungsoptimierung keinen messbaren zusätzlichen Geschäftswert bietet, sollten Sie sie nicht weiter verfolgen.

Um Innovationen zu schaffen, Fehler zu beheben und Leistungsprobleme zu untersuchen, müssen Sie eine klare Verbindung zwischen Designentscheidungen und Leistungsergebnissen herstellen. Neben Tests müssen Sie die Herkunft Ihrer Assets, Bereitstellungen, Modellausgaben sowie der Konfigurationen und Eingaben, die die Ausgaben erzeugt haben, zuverlässig aufzeichnen.

Beachten Sie die folgenden Empfehlungen:

  • System zur Nachverfolgung von Daten und Modellen erstellen: Alle bereitgestellten Assets und ihre Leistungsmesswerte müssen mit den Daten, Konfigurationen, dem Code und den Entscheidungen verknüpft werden, die zu den bereitgestellten Systemen geführt haben. Außerdem müssen die Modellausgaben mit bestimmten Modellversionen verknüpft werden und es muss angegeben werden, wie die Ausgaben erstellt wurden.
  • Tools zur Erklärbarkeit verwenden, um die Modellleistung zu verbessern: Tools und Benchmarks für die Modellanalyse und Erklärbarkeit einführen und standardisieren. Mit diesen Tools können Ihre ML-Entwickler das Modellverhalten nachvollziehen und die Leistung verbessern oder Bias entfernen.

Beitragende

Autoren:

Weitere Beitragende: