KI und ML: Leistungsoptimierung

Last reviewed 2024-10-11 UTC

Dieses Dokument im Architektur-Framework: KI- und ML-Perspektive bietet einen Überblick über Prinzipien und Empfehlungen, mit denen Sie die Leistung Ihrer KI- und ML-Arbeitslasten in Google Cloud optimieren können. Die Empfehlungen in diesem Dokument entsprechen dem Säulenelement „Leistungsoptimierung“ des Architektur-Frameworks.

KI- und ML-Systeme ermöglichen neue Automatisierungs- und Entscheidungsfunktionen für Ihr Unternehmen. Die Leistung dieser Systeme kann sich direkt auf Ihre Geschäftskennzahlen wie Umsatz, Kosten und Kundenzufriedenheit auswirken. Wenn Sie das volle Potenzial Ihrer KI- und ML-Systeme ausschöpfen möchten, müssen Sie ihre Leistung anhand Ihrer Geschäftsziele und technischen Anforderungen optimieren. Die Leistungsoptimierung erfordert oft bestimmte Kompromisse. So kann beispielsweise 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 den Kosten.

Um die KI- und ML-Leistung zu optimieren, müssen Sie Entscheidungen zu Faktoren wie der Modellarchitektur, den Parametern und der Trainingsstrategie treffen. Berücksichtigen Sie bei diesen Entscheidungen den gesamten Lebenszyklus der KI- und ML-Systeme und ihrer Bereitstellungsumgebung. Sehr große LLMs können beispielsweise bei einer massiven Trainingsinfrastruktur eine hohe Leistung erzielen, aber sehr große Modelle funktionieren möglicherweise nicht gut in kapazitätsbeschränkten Umgebungen wie Mobilgeräten.

Geschäftsziele in Leistungsziele umwandeln

Wenn Sie architektonische Entscheidungen treffen möchten, die die Leistung optimieren, beginnen Sie mit klaren Geschäftszielen. Entwerfen Sie KI- und ML-Systeme, die die technische Leistung bieten, die für die 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 umsetzen: Wandeln Sie die Geschäftsziele Ihrer KI- und ML-Systeme in spezifische technische Leistungsanforderungen um und bewerten Sie die Auswirkungen, wenn diese nicht erfüllt werden. Bei einer Anwendung, die beispielsweise die Kundenabwanderung vorhersagt, sollte das ML-Modell bei Standardmesswerten wie Genauigkeit und Rückruf gut abschneiden und die Anwendung sollte betriebliche Anforderungen wie eine geringe Latenz erfüllen.
  • Leistung in allen Phasen des Modelllebenszyklus überwachen: Beobachten Sie während der Tests und des Trainings nach der Bereitstellung des Modells Ihre wichtigsten Leistungskennzahlen (Key Performance Indicators, KPIs) und achten Sie auf Abweichungen von den Geschäftszielen.
  • Automatische Bewertung für reproduzierbare und standardisierte Ergebnisse: Mit einer standardisierten und vergleichbaren Plattform und Methodik für die Testbewertung können Ihre Entwickler die Leistungsverbesserung beschleunigen.

Häufige Tests ausführen und verfolgen

Wenn Sie Innovation und Kreativität in Leistungsverbesserungen umwandeln möchten, benötigen Sie eine Kultur und eine Plattform, die Experimente unterstützen. Die Leistungssteigerung ist ein fortlaufender Prozess, da sich KI- und ML-Technologien kontinuierlich und schnell weiterentwickeln. Um einen zügigen, iterativen Prozess aufrechtzuerhalten, müssen Sie den Testbereich von Ihren Trainings- und Bereitstellungsplattformen trennen. Ein standardisierter und robuster Testprozess ist wichtig.

Beachten Sie die folgenden Empfehlungen:

  • Testumgebung erstellen: Für Leistungsverbesserungen ist eine spezielle, leistungsstarke und interaktive Umgebung erforderlich, die das Testen und die gemeinsame Entwicklung von ML-Pipelines unterstützt.
  • Experimentieren als Kultur etablieren: Führen Sie Tests vor jeder Produktionsbereitstellung durch. Neue Versionen iterativ veröffentlichen und immer Leistungsdaten erfassen Experimentieren Sie mit verschiedenen Datentypen, Feature-Transformationen, Algorithmen und Hyperparametern.

Training und Bereitstellung von Diensten erstellen und automatisieren

Das Training und Bereitstellen von KI-Modellen sind Kernkomponenten Ihrer KI-Dienste. Sie benötigen robuste Plattformen und Praktiken, die eine schnelle und zuverlässige Erstellung, Bereitstellung und Ausführung von KI-Modellen unterstützen. Nehmen Sie sich Zeit und Mühe, um grundlegende Plattformen für Ihre wichtigsten Aufgaben im Bereich KI-Training und -Bereitstellung zu erstellen. Diese grundlegenden Plattformen helfen Ihren Teams, Zeit und Aufwand zu sparen und die Qualität der Ergebnisse mittel- und langfristig zu verbessern.

Beachten Sie die folgenden Empfehlungen:

  • KI-spezifische Komponenten eines Trainingsdienstes verwenden: Dazu gehören Hochleistungs-Computing- und MLOps-Komponenten wie Feature Stores, Modellregistre, Metadatenspeicher und Dienste zur Modellleistungsbewertung.
  • KI-spezifische Komponenten eines Vorhersagedienstes verwenden: Diese Komponenten bieten leistungsstarke und skalierbare Ressourcen, unterstützen das Feature-Monitoring und ermöglichen die Überwachung der Modellleistung. Implementieren Sie zuverlässige Bereitstellungs- und Rollback-Strategien, um Leistungseinbußen zu verhindern und zu verwalten.

Designentscheidungen an die Leistungsanforderungen anpassen

Wenn Sie Designentscheidungen zur Leistungsverbesserung treffen, sollten Sie sorgfältig prüfen, ob diese Entscheidungen Ihre Geschäftsanforderungen erfüllen oder verschwenderisch und kontraproduktiv sind. Um die richtige Infrastruktur, Modelle oder Konfigurationen auszuwählen, müssen Sie Leistungsengpässe identifizieren und prüfen, wie sie mit Ihren Leistungsmesswerten zusammenhängen. So können beispielsweise selbst bei sehr leistungsstarken GPU-Beschleunigern Leistungsengpässe bei Ihren Trainingsaufgaben auftreten, die auf Probleme bei der Daten-E/A der Speicherebene oder auf Leistungseinschränkungen des Modells selbst zurückzuführen sind.

Beachten Sie die folgenden Empfehlungen:

  • Hardwareverbrauch basierend auf Leistungszielen optimieren: Wenn Sie ML-Modelle trainieren und bereitstellen möchten, die Ihre Leistungsanforderungen erfüllen, müssen Sie die Infrastruktur auf den Ebenen Rechenleistung, Speicher und Netzwerk optimieren. Sie müssen die Variablen messen und verstehen, die sich auf Ihre Leistungsziele auswirken. Diese Variablen unterscheiden sich für das Training und die Inferenz.
  • Konzentrieren Sie sich auf arbeitslastspezifische Anforderungen: Konzentrieren Sie Ihre Bemühungen zur Leistungsoptimierung auf die individuellen Anforderungen Ihrer KI- und ML-Arbeitslasten. Verwaltete Dienste für die Leistung der zugrunde liegenden Infrastruktur nutzen
  • Passende Trainingsstrategien auswählen: Es gibt mehrere vortrainierte und grundlegende Modelle. Es werden regelmäßig weitere solcher Modelle veröffentlicht. Wählen Sie eine Trainingsstrategie aus, die für Ihre Aufgabe eine optimale Leistung erzielen kann. Entscheiden Sie, ob Sie ein eigenes Modell erstellen, ein vorab trainiertes Modell an Ihre Daten anpassen oder eine API für vorab trainierte Modelle verwenden sollten.
  • Bedenken Sie, dass sich die Vorteile von Leistungsoptimierungsstrategien mit der Zeit verringern können: Wenn eine bestimmte Strategie zur Leistungsoptimierung keinen messbaren zusätzlichen Geschäftswert bietet, sollten Sie sie nicht weiter verfolgen.

Um Innovationen zu entwickeln, Probleme zu beheben und Leistungsprobleme zu untersuchen, sollten Sie einen klaren Zusammenhang zwischen Designentscheidungen und Leistungsergebnissen herstellen. Neben den Tests müssen Sie auch die Herkunft Ihrer Assets, Bereitstellungen, Modellausgaben sowie die Konfigurationen und Eingaben, die zu den Ausgaben geführt haben, zuverlässig erfassen.

Beachten Sie die folgenden Empfehlungen:

  • Ein Daten- und Modellabstammungssystem erstellen: Alle bereitgestellten Assets und ihre Leistungsmesswerte müssen mit den Daten, Konfigurationen, dem Code und den Entscheidungen verknüpft sein, die zu den bereitgestellten Systemen geführt haben. Außerdem müssen Modellausgaben mit bestimmten Modellversionen und der Art und Weise verknüpft sein, wie die Ausgaben erstellt wurden.
  • Erklärbarkeitstools zur Verbesserung der Modellleistung verwenden: Tools und Benchmarks für die explorative Datenanalyse und Erklärbarkeit von Modellen einführen und standardisieren. Mit diesen Tools können Ihre ML-Entwickler das Modellverhalten besser verstehen und die Leistung verbessern oder Verzerrungen beseitigen.

Beitragende

Autoren:

Weitere Beitragende: