Dieses Dokument in Well-Architected Framework: AI and MLperspektive bietet einen Überblick über Prinzipien und Empfehlungen, mit denen Sie die Leistung Ihrer KI- und ML-Arbeitslasten auf Google Cloudoptimieren können. Die Empfehlungen in diesem Dokument entsprechen der Säule zur Leistungsoptimierung des Google Cloud Well-Architected Framework.
KI- und ML-Systeme ermöglichen Ihrer Organisation neue Automatisierungs- und Entscheidungsfunktionen. Die Leistung dieser Systeme kann sich direkt auf Ihre Geschäftsfaktoren wie Umsatz, Kosten und Kundenzufriedenheit auswirken. Damit Sie das volle Potenzial Ihrer KI- und ML-Systeme ausschöpfen können, müssen Sie deren Leistung im Hinblick auf Ihre Geschäftsziele und technischen Anforderungen optimieren. Der Prozess zur Leistungsoptimierung bringt häufig bestimmte Kompromisse mit sich. Beispielsweise kann eine Designentscheidung, die die erforderliche Leistung bietet, zu höheren Kosten führen. Bei den Empfehlungen in diesem Dokument wird die Leistung gegenüber anderen Faktoren wie Kosten priorisiert.
Zur Optimierung der KI- und ML-Leistung müssen Sie Entscheidungen in Bezug auf Faktoren wie die Modellarchitektur, die Parameter und die Trainingsstrategie treffen. Berücksichtigen Sie bei diesen Entscheidungen den gesamten Lebenszyklus der KI- und ML-Systeme und deren Bereitstellungsumgebung. Sehr große LLMs können beispielsweise in einer riesigen Trainingsinfrastruktur eine gute Leistung erzielen, aber sehr große Modelle funktionieren in Umgebungen mit begrenzter Kapazität wie Mobilgeräten möglicherweise nicht gut.
Geschäftsziele in Leistungsziele umwandeln
Wenn Sie Architekturentscheidungen zur Leistungsoptimierung treffen möchten, beginnen Sie mit einer klaren Reihe von Geschäftszielen. Entwerfen Sie KI- und ML-Systeme, die die für Ihre Geschäftsziele und Prioritäten erforderliche technische Leistung bereitstellen. Ihre technischen Teams müssen die Zuordnung zwischen Leistungszielen und Geschäftszielen kennen.
Beachten Sie die folgenden Empfehlungen:
- Geschäftsziele in technische Anforderungen umwandeln: Setzen 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. Für eine Anwendung, die Kundenabwanderung vorhersagt, sollte das ML-Modell beispielsweise bei Standardmesswerten wie Accuracy und Recall gut funktionieren und die Anwendung sollte betriebliche Anforderungen wie niedrige Latenz erfüllen.
- Leistung in allen Phasen des Modelllebenszyklus überwachen: Während der Tests und des Trainings nach der Modellbereitstellung sollten Sie Ihre Leistungskennzahlen (Key Performance Indicators, KPIs) überwachen und Abweichungen von Ihren Geschäftszielen beobachten.
- Automatisieren der Bewertung, um sie reproduzierbar und standardisiert zu machen: Mit einer standardisierten und vergleichbaren Plattform und Methodik für die Testauswertung können Ihre Entwickler das Tempo der Leistungsverbesserung beschleunigen.
Häufige Tests ausführen und erfassen
Um Innovation und Kreativität in Leistungsverbesserungen zu verwandeln, benötigen Sie eine Kultur und eine Plattform, die Experimente unterstützt. Die Leistungssteigerung ist ein kontinuierlicher Prozess, da KI- und ML-Technologien kontinuierlich und schnell entwickelt werden. Für einen schnellen, iterativen Prozess müssen Sie den Testbereich von Ihren Trainings- und Bereitstellungsplattformen trennen. Ein standardisierter und zuverlässiger Testprozess ist wichtig.
Beachten Sie die folgenden Empfehlungen:
- Testumgebung erstellen: Leistungsverbesserungen erfordern eine dedizierte, leistungsstarke und interaktive Umgebung, die das Experimentieren und die gemeinsame Entwicklung von ML-Pipelines unterstützt.
- Tests als Kultur einbetten: Führen Sie Tests vor jeder Produktionsbereitstellung aus. Sie können neue Versionen iterativ veröffentlichen und immer Leistungsdaten erfassen. Mit verschiedenen Datentypen, Featuretransformationen, Algorithmen und Hyperparametern experimentieren
Schulungs- und Bereitstellungsdienste erstellen und automatisieren
KI-Modelle trainieren und bereitstellen sind die Hauptkomponenten Ihrer KI-Dienste. Sie benötigen robuste Plattformen und Praktiken, die das schnelle und zuverlässige Erstellen, Bereitstellen und Bereitstellen von KI-Modellen unterstützen. Investieren Sie Zeit und Mühe, um grundlegende Plattformen für die wichtigsten Schulungs- und Bereitstellungsaufgaben im Bereich KI zu erstellen. Diese grundlegenden Plattformen helfen, Zeit und Aufwand für Ihre Teams zu reduzieren und die Qualität der Ausgaben mittel- und langfristig zu verbessern.
Beachten Sie die folgenden Empfehlungen:
- Verwenden Sie KI-spezialisierte Komponenten eines Trainingsdienstes: Zu diesen Komponenten gehören Hochleistungs-Computing und MLOps-Komponenten wie Feature-Stores, Modell-Registries, Metadatenspeicher und Dienste zur Bewertung der Modellleistung.
- KI-spezifische Komponenten eines Vorhersagedienstes verwenden: Solche Komponenten bieten leistungsstarke und skalierbare Ressourcen, unterstützen das Featuremonitoring und ermöglichen das Monitoring der Modellleistung. Implementieren Sie zuverlässige Bereitstellungs- und Rollback-Strategien, um Leistungseinbußen zu verhindern und zu verwalten.
Designentscheidungen an Leistungsanforderungen anpassen
Wenn Sie Designentscheidungen zur Verbesserung der Leistung treffen, prüfen Sie sorgfältig, ob die Entscheidungen Ihre Geschäftsanforderungen erfüllen oder verschwenderisch und kontraproduktiv sind. Bei der Auswahl der geeigneten Infrastruktur, Modelle oder Konfigurationen müssen Sie Leistungsengpässe identifizieren und bewerten, wie diese mit Ihren Leistungskennzahlen zusammenhängen. Selbst bei sehr leistungsstarken GPU-Beschleunigern kann es bei Ihren Trainingsaufgaben beispielsweise aufgrund von Daten-E/A-Problemen aus der Speicherebene oder aufgrund von Leistungseinschränkungen des Modells selbst zu Leistungsengpässen kommen.
Beachten Sie die folgenden Empfehlungen:
- Hardwareverbrauch basierend auf Leistungszielen optimieren: Zum Trainieren und Bereitstellen von ML-Modellen, die Ihren Leistungsanforderungen entsprechen, müssen Sie die Infrastruktur auf Rechen-, Speicher- und Netzwerkebene optimieren. Sie müssen die Variablen, die sich auf Ihre Leistungsziele auswirken, messen und verstehen, denn diese Variablen unterscheiden sich für Training und Inferenz.
- Fokus auf arbeitslastspezifische Anforderungen: Konzentrieren Sie Ihre Bemühungen zur Leistungsoptimierung auf die besonderen Anforderungen Ihrer KI- und ML-Arbeitslasten. Verlassen Sie sich bei der Leistung der zugrunde liegenden Infrastruktur auf verwaltete Dienste.
- Geeignete Trainingsstrategien auswählen: Es sind mehrere vortrainierte und grundlegende Modelle verfügbar. Mehr dieser Modelle werden häufig veröffentlicht. Wählen Sie eine Trainingsstrategie aus, mit der Sie für Ihre Aufgabe eine optimale Leistung erzielen können. Entscheiden Sie, ob Sie ein eigenes Modell erstellen, ein vortrainiertes Modell mit Ihren Daten optimieren oder eine vortrainierte Modell-API verwenden möchten.
- Erkennen, dass Strategien zur Leistungsoptimierung nachlassende Ergebnisse haben können: Wenn eine bestimmte Strategie zur Leistungsoptimierung keinen messbaren zusätzlichen Geschäftswert liefert, sollten Sie diese Strategie nicht mehr verfolgen.
Leistungsmesswerte mit Design- und Konfigurationsoptionen verknüpfen
Um innovativ zu sein, Leistungsprobleme zu beheben und zu untersuchen, müssen Sie eine klare Verbindung zwischen Designentscheidungen und Leistungsergebnissen herstellen. Zusätzlich zu Tests müssen Sie die Herkunft Ihrer Assets, Bereitstellungen, Modellausgaben sowie die Konfigurationen und Eingaben, die die Ausgaben erzeugt haben, zuverlässig aufzeichnen.
Beachten Sie die folgenden Empfehlungen:
- Daten- und Modellherkunftssystem 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. Darüber hinaus müssen die Modellausgaben mit bestimmten Modellversionen und mit der Art und Weise, wie sie erzeugt wurden, verknüpft werden.
- Tools zur Erklärbarkeit zur Verbesserung der Modellleistung verwenden: Übernehmen und standardisieren Sie Tools und Benchmarks für die explorative Datenanalyse und Erklärbarkeit von Modellen. Diese Tools helfen Ihren ML-Entwicklern, das Modellverhalten zu verstehen und die Leistung zu verbessern oder Verzerrungen zu beseitigen.
Beitragende
Autoren:
- Benjamin Sadik | AI and ML Specialist Customer Engineer
- Filipe Gracio, PhD | Customer Engineer
Weitere Beitragende:
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Zach Seils | Networking Specialist