Modellinferenz – Übersicht
In diesem Dokument werden die in BigQuery ML unterstützten Batchinferenzen erläutert, einschließlich:
Bei der Inferenz des maschinellen Lernens werden Datenpunkte einem Modell für maschinelles Lernen zugeführt, um eine Ausgabe zu berechnen, z. B. einen einzelnen numerischen Wert. Dieser Vorgang wird auch als "Operationalisieren eines ML-Modells" oder "Überführen eines ML-Modells in die Produktion" bezeichnet.
Batchvorhersage
In den folgenden Abschnitten werden die verfügbaren Möglichkeiten zur Vorhersage in BigQuery ML beschrieben.
Inferenz mit trainierten BigQuery ML-Modellen
Vorhersagen in BigQuery ML werden nicht nur für beaufsichtigte Lernmodelle, sondern auch für unbeaufsichtigte Lernmodelle verwendet.
BigQuery ML unterstützt Vorhersagefunktionen über die Funktion ML.PREDICT
mit den folgenden Modellen:
Modellkategorie | Modelltypen | Aufgabe von ML.PREDICT |
---|---|---|
Beaufsichtigtes Lernen |
Lineare und logistische Regression Boosted Trees Random Forest Neuronale Deep-Learning-Netzwerke Wide-and-Deep AutoML-Tabellen |
Label vorhersagen, entweder einen numerischen Wert für Regressionsaufgaben oder einen kategorialen Wert für Klassifizierungsaufgaben. |
Unbeaufsichtigtes Lernen | K-means | Cluster der Entität zuweisen. |
PCA | Dimensionalitätsreduktion auf die Entität anwenden, indem sie in den von den Eigenvektoren umfassten Bereich umgewandelt wird. | |
Autoencoder | Entität in den eingebetteten Bereich umwandeln. |
Inferenzen und importierte Modellen
Bei diesem Ansatz erstellen und trainieren Sie ein Modell außerhalb von BigQuery, importieren es mit der Anweisung CREATE MODEL
und führen dann mithilfe mit Funktion ML.PREDICT
die Inferenz dafür aus.
Die gesamte Inferenzverarbeitung erfolgt in BigQuery mithilfe von Daten aus BigQuery. Importierte Modelle können beaufsichtigtes oder unbeaufsichtigtes Lernen durchführen.
BigQuery ML unterstützt folgende importierte Modelltypen:
- Open Neural Network Exchange (ONNX) für Modelle, die in PyTorch, scikit-learn und anderen beliebten ML-Frameworks trainiert wurden.
- TensorFlow
- TensorFlow Lite
- XGBoost
Nutzen Sie diesen Ansatz, um benutzerdefinierte Modelle zu verwenden, die mit einer Reihe von ML-Frameworks entwickelt wurden. Dabei profitieren Sie von der Inferenzgeschwindigkeit und der Daten-Colocation von BigQuery ML.
Weitere Informationen finden Sie in den folgenden Anleitungen:
- Vorhersagen mit importierten TensorFlow-Modellen erstellen
- Vorhersagen mit scikit-learn-Modellen im ONNX-Format treffen
- Vorhersagen mit PyTorch-Modellen im ONNX-Format erstellen
Inferenzen und Remote-Modelle
Bei diesem Ansatz können Sie einen Verweis auf ein Modell erstellen, das in Vertex AI Prediction gehostet wird, indem Sie die Anweisung CREATE MODEL
verwenden und dann mit der Funktion ML.PREDICT
die Inferenz dafür ausführen.
Die gesamte Inferenzverarbeitung erfolgt in Vertex AI unter Verwendung von Daten aus BigQuery. Remote-Modelle können beaufsichtigtes oder unbeaufsichtigtes Lernen durchführen.
Mit diesem Ansatz können Sie Inferenzen für große Modelle ausführen, für die die von Vertex AI bereitgestellte GPU-Hardwareunterstützung erforderlich ist. Wenn die meisten Ihrer Modelle von Vertex AI gehostet werden, können Sie über SQL Inferenz für diese Modelle ausführen, ohne manuell Datenpipelines erstellen zu müssen, um Daten in Vertex AI zu importieren und Vorhersagen zurück nach BigQuery senden zu können.
Eine detaillierte Anleitung finden Sie unter Vorhersagen mit Remote-Modellen in Vertex AI treffen.
Batch-Inferenz mit BigQuery-Modellen in Vertex AI
BigQuery ML bietet integrierte Unterstützung für Batchvorhersagen, ohne Vertex AI verwenden zu müssen. Es ist auch möglich, ein BigQuery ML-Modell in Model Registry zu registrieren, um Batchvorhersagen in Vertex AI mit einer BigQuery-Tabelle als Eingabe auszuführen. Dies ist jedoch nur mit der Vertex AI API möglich. Legen Sie dazu InstanceConfig.instanceType
auf object
fest.
Onlinevorhersage
Die integrierte Inferenzfunktion von BigQuery ML ist für groß angelegte Anwendungsfälle wie Batchvorhersagen optimiert. BigQuery ML liefert bei der Verarbeitung kleiner Eingabedaten Inferenzergebnisse mit niedriger Latenz. Durch die nahtlose Integration mit Vertex AI können Sie jedoch schnellere Onlinevorhersagen erzielen.
Sie können BigQuery ML-Modelle in der Vertex AI-Umgebung verwalten. Dadurch müssen Sie Modelle nicht aus BigQuery ML exportieren, bevor Sie sie als Vertex AI-Endpunkte bereitstellen. Wenn Sie Modelle in Vertex AI verwalten, erhalten Sie Zugriff auf alle MLOps-Funktionen von Vertex AI sowie auf Funktionen wie den Vertex AI Feature Store.
Darüber hinaus haben Sie die Flexibilität, BigQuery ML-Modelle nach Cloud Storage zu exportieren, um die Verfügbarkeit auf anderen Modellhosting-Plattformen zu gewährleisten.
Nächste Schritte
- Weitere Informationen zur Verwendung von Vertex AI-Modellen zum Generieren von Text und Einbettungen finden Sie unter Generative AI – Übersicht.
- Weitere Informationen zur Verwendung von Cloud AI APIs zum Ausführen von KI-Aufgaben finden Sie unter KI-Anwendung – Übersicht.
- Informationen zu unterstützten Modelltypen und SQL-Funktionen für jeden Inferenztyp finden Sie unter End-to-End-Nutzerpfad für jedes Modell.