In dieser Referenzarchitektur erfahren Sie mehr über die Anwendungsfälle, Designalternativen und Designüberlegungen beim Bereitstellen einer Dataflow-Pipeline, um Bilddateien mit Cloud Vision zu verarbeiten und die verarbeiteten Ergebnisse in BigQuery zu speichern. Sie können diese gespeicherten Ergebnisse für umfangreiche Datenanalysen und zum Trainieren von BigQuery ML-Modellen verwenden.
Dieses Referenzarchitekturdokument richtet sich an Data Engineers und Data Scientists.
Architektur
Das folgende Diagramm veranschaulicht den Systemablauf für diese Referenzarchitektur.
Wie im vorherigen Diagramm dargestellt, fließen Informationen so:
Aufnahme und Trigger: Dies ist die erste Phase des Systemablaufs, in der Bilder zum ersten Mal in das System gelangen. In dieser Phase werden die folgenden Aktionen ausgeführt:
- Clients laden Bilddateien in einen Cloud Storage-Bucket hoch.
- Für jeden Dateiupload sendet Cloud Storage automatisch eine Eingabebenachrichtigung, indem eine Nachricht in Pub/Sub veröffentlicht wird.
Verarbeiten: Diese Phase folgt unmittelbar auf die Aufnahme- und Triggerphase. Für jede neue Eingabebenachrichtigung werden die folgenden Aktionen ausgeführt:
- Die Dataflow-Pipeline wartet auf diese Dateieingabebenachrichtigungen, extrahiert Dateimetadaten aus der Pub/Sub-Nachricht und sendet die Dateireferenz zur Verarbeitung an die Vision API.
- Die Vision API liest das Bild und erstellt Annotationen.
- Die Dataflow-Pipeline speichert die von der Vision API erstellten Annotationen in BigQuery-Tabellen.
Speichern und analysieren: Dies ist die letzte Phase im Ablauf. In dieser Phase können Sie mit den gespeicherten Ergebnissen Folgendes tun:
- BigQuery-Tabellen abfragen und die gespeicherten Annotationen analysieren
- Mit BigQuery ML oder der Gemini Enterprise Agent Platform Modelle erstellen und Vorhersagen basierend auf den gespeicherten Annotationen ausführen.
- Führen Sie zusätzliche Analysen in der Dataflow-Pipeline durch (nicht in diesem Diagramm dargestellt).
Verwendete Produkte
In dieser Referenzarchitektur werden die folgenden Produkte von Google Cloud verwendet:
Anwendungsfälle
Die Vision API unterstützt mehrere Verarbeitungsfunktionen, darunter Bildlabels, Gesichts- und Sehenswürdigkeiten-Erkennung, optische Zeichenerkennung, Tagging expliziter Inhalte und mehr. Jedes dieser Features ermöglicht mehrere Anwendungsfälle, die für verschiedene Branchen relevant sind. Dieses Dokument enthält einige einfache Beispiele dafür, was mit der Vision API möglich ist. Das Spektrum der möglichen Anwendungen ist jedoch sehr breit.
Die Vision API bietet auch über die REST API und die RPC API leistungsstarke, vorab trainierte ML-Modelle. Sie können Bildern Labels zuweisen und sie in Millionen vordefinierter Kategorien einordnen. Außerdem lassen sich Objekte erkennen, gedruckter und handgeschriebener Text lesen und der Bildkatalog um wertvolle Metadaten erweitern.
Diese Architektur erfordert kein Modelltraining, bevor Sie sie verwenden können. Wenn Sie ein benutzerdefiniertes Modell benötigen, das mit Ihren spezifischen Daten trainiert wurde, können Sie mit der Agent Platform ein AutoML- oder ein benutzerdefiniertes Modell für Computer Vision-Ziele wie Bildklassifizierung und Objekterkennung trainieren. Oder Sie können Gemini Enterprise Agent Platform Vision als End-to-End-Anwendungsentwicklungsumgebung verwenden, mit der Sie Computer-Vision-Anwendungen erstellen, bereitstellen und verwalten können.
Designalternativen
Anstatt Bilder in einem Google Cloud Storage-Bucket zu speichern, kann der Prozess, mit dem die Bilder erzeugt werden, sie direkt in einem Nachrichtensystem – z. B. Pub/Sub – veröffentlichen und die Dataflow-Pipeline kann die Bilder direkt zur Vision API senden.
Diese Designalternative kann eine gute Lösung für latenzempfindliche Anwendungsfälle sein, bei denen Sie Bilder mit relativ geringer Größe analysieren müssen. Pub/Sub begrenzt die maximale Größe der Nachricht auf 10 MB.
Wenn Sie eine große Anzahl von Bildern in der Batchverarbeitung verarbeiten müssen, können Sie eine speziell entwickelte asyncBatchAnnotate-API verwenden.
Designaspekte
In diesem Abschnitt werden die Designüberlegungen für diese Referenzarchitektur beschrieben:
Sicherheit, Datenschutz und Compliance
Bilder aus nicht vertrauenswürdigen Quellen können Malware enthalten. Da die Vision API nichts auf Grundlage der analysierten Bilder ausführt, hat bildbasierte Malware keine Auswirkungen auf die API. Wenn Sie Images scannen müssen, ändern Sie die Dataflow-Pipeline, um einen Scanschritt hinzuzufügen. Um dasselbe Ergebnis zu erzielen, können Sie auch ein separates Abo für das Pub/Sub-Thema verwenden und Bilder in einem separaten Prozess scannen.
Weitere Informationen finden Sie unter Malware-Scans für Dateien automatisieren, die in Cloud Storage hochgeladen werden.
Die Vision API verwendet zur Authentifizierung Identity and Access Management (IAM). Für den Zugriff auf die Vision API benötigt das Sicherheitsprinzipal Cloud Storage > Storage Object Viewer (roles/storage.objectViewer) für den Bucket, der die gewünschten Dateien zum Analysieren enthält.
Sicherheitsgrundsätze und Empfehlungen speziell für KI- und ML-Arbeitslasten finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Sicherheit.
Kostenoptimierung
Im Vergleich zu den anderen besprochenen Optionen wie der Verarbeitung mit niedriger Latenz und der asynchronen Batchverarbeitung wird in dieser Referenzarchitektur eine kostengünstige Methode zur Verarbeitung der Bilder in Streamingpipelines verwendet, indem die API-Anfragen im Batch verarbeitet werden. Das im Abschnitt Designalternativen erwähnte direkte Bild-Streaming mit geringerer Latenz könnte aufgrund der zusätzlichen Pub/Sub- und Dataflow-Kosten teurer sein. Für die Bildverarbeitung, die nicht innerhalb von Sekunden oder Minuten erfolgen muss, können Sie die Dataflow-Pipeline im Batchmodus ausführen. Wenn Sie die Pipeline im Batchmodus ausführen, können Sie im Vergleich zu den Kosten für die Ausführung der Streamingpipeline Einsparungen erzielen.
Die Vision API unterstützt für alle Features die asynchrone Batch-Bildannotation. Die asynchrone Anfrage unterstützt bis zu 2.000 Bilder pro Batch. Als Antwort gibt die Vision API JSON-Dateien zurück, die in einem Cloud Storage-Bucket gespeichert werden.
Die Vision API bietet außerdem eine Reihe von Funktionen zur Analyse von Bildern. Die Preise gelten pro Bild und Feature. Um die Kosten zu senken, sollten Sie nur die spezifischen Features anfordern, die Sie für Ihre Lösung benötigen.
Mit dem Preisrechner können Sie eine Kostenschätzung Ihrer voraussichtlichen Nutzung vornehmen.
Prinzipien und Empfehlungen zur Kostenoptimierung, die speziell für KI- und ML-Arbeitslasten gelten, finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Kostenoptimierung.
Leistungsoptimierung
Die Vision API ist eine ressourcenintensive API. Daher ist für die Verarbeitung von Bildern in großem Umfang eine sorgfältige Orchestrierung der API-Aufrufe erforderlich. Die Dataflow-Pipeline übernimmt das Batching der API-Anfragen, die ordnungsgemäße Behandlung von Ausnahmen im Zusammenhang mit dem Erreichen von Kontingenten und die Erstellung benutzerdefinierter Messwerte für die API-Nutzung. Anhand dieser Messwerte können Sie entscheiden, ob eine Erhöhung des API-Kontingents gerechtfertigt ist oder ob die Parameter der Dataflow-Pipeline angepasst werden sollten, um die Häufigkeit von Anfragen zu reduzieren. Weitere Informationen zum Erhöhen von Kontingentanfragen für die Vision API finden Sie unter Kontingente und Limits.
Die Dataflow-Pipeline hat mehrere Parameter, die sich auf die Verarbeitungslatenzen auswirken können. Weitere Informationen zu diesen Parametern finden Sie unter ML-Vision-Analyselösung mit Dataflow und der Vision API bereitstellen.
Prinzipien und Empfehlungen zur Leistungsoptimierung, die speziell für KI- und ML-Arbeitslasten gelten, finden Sie im Well-Architected Framework unter KI- und ML-Perspektive: Leistungsoptimierung.
Bereitstellung
Informationen zum Bereitstellen dieser Architektur finden Sie unter ML-Vision-Analyselösung mit Dataflow und der Vision API bereitstellen.
Nächste Schritte
- Weitere Informationen zu Dataflow.
- Weitere Informationen zu BigQuery ML
- Weitere Informationen zur Zuverlässigkeit von BigQuery finden Sie im Leitfaden Zuverlässigkeit von BigQuery.
- Sehen Sie sich die Liste der Vision API-Funktionen an.
- ML-Vision-Analyselösung mit Dataflow und der Vision API bereitstellen
- Eine Übersicht über Architekturprinzipien und Empfehlungen, die speziell für KI- und ML-Arbeitslasten in Google Cloudgelten, finden Sie im Well-Architected Framework unter KI- und ML-Perspektive.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autoren:
- Masud Hasan | Site Reliability Engineering Manager
- Sergei Lilichenko | Solutions Architect
- Lakshmanan Sethu | Technical Account Manager
Weitere Beitragende:
- Jiyeon Kang | Customer Engineer
- Sunil Kumar Jang Bahadur | Customer Engineer