Mit der Funktion ai.forecast in AlloyDB for PostgreSQL können Sie
Zeitreihen Vorhersagen
direkt für Ihre Datenbankdaten mit SQL ausführen. Sie können Vorhersagemodelle wie
TimesFM oder jedes Modell registrieren und
aufrufen, das mit dem Modelltyp ts_forecasting registriert wurde, um zukünftige Trends aus Verlaufsdaten vorherzusagen. Weitere Informationen zur TimesFM-Architektur finden Sie im
TimesFM-Forschungsblog.
Hinweis
Bevor Sie Zeitreihenvorhersagen ausführen können, müssen Sie die Vorhersagefunktion in AlloyDB aktivieren und ein Modell registrieren.
Vorhersagemodell registrieren
Sie können verschiedene Vorhersagemodelle mit AlloyDB verwenden.
In diesem Abschnitt finden Sie eine Anleitung zum Registrieren des TimesFM-Modells. Eine Anleitung zum Registrieren anderer Modelle finden Sie unter Modellendpunkt mit der Modellendpunktverwaltung registrieren.
TimesFM-Modell verwenden
TimesFM-Modelle sind in zwei Versionen verfügbar:
- TimesFM 1.0: die erste Version des TimesFM-Modells.
- TimesFM 2.0: Diese Version enthält einen Checkpoint mit 500 Millionen Parametern und den zugehörigen Inferenzcode. Sie bietet eine bessere Modellleistung als das Modell 1.0.
- TimesFM 2.5: Diese Version enthält einen Checkpoint mit 200 Millionen Parametern und den zugehörigen Inferenzcode. Sie bietet eine bessere Modellleistung als das Modell 2.0.
Alle Modelle sind in Model Garden für die schnelle Bereitstellung verfügbar.
Wenn Sie TimesFM-Modelle verwenden möchten, müssen Sie das TimesFM-Modell zuerst auf einem Gemini Enterprise Agent Platform-Endpunkt bereitstellen und es dann in AlloyDB registrieren.
TimesFM-Modell auf einem Agent Platform-Endpunkt bereitstellen
Sie können das Modell mit einer Bereitstellung mit einem Klick über die Google Cloud Console oder manuell mit einem Colaboratory-Notebook bereitstellen.
Bereitstellung mit nur einem Klick
So stellen Sie das TimesFM-Modell mit einer Bereitstellung mit einem Klick bereit:
Rufen Sie in der Google Cloud Console die Seite Model Garden auf:
Zu Model Garden- Geben Sie im Feld Suchen
TimesFMein. - Klicken Sie in den Suchergebnissen auf
TimesFM. -
Führen Sie auf der Seite TimesFM die folgenden Schritte aus:
- Klicken Sie auf Modell bereitstellen.
- Wählen Sie Agent Platform aus.
Konfigurieren und stellen Sie Ihr Modell im Bereich Auf Agent Platform bereitstellen bereit:
- Wenn Sie die aktuelle Version des TimesFM-Modells verwenden möchten, wählen Sie im Drop-down-Menü Ressourcen-ID die Option
google/timesfm-2.0aus. - Geben Sie Folgendes ein, um die Bereitstellung später leichter zu identifizieren:
- Geben Sie unter Modellname eine eindeutige
MODEL_NAMEein. - Geben Sie unter Endpunktname eine eindeutige
ENDPOINT_NAMEein.
- Geben Sie unter Modellname eine eindeutige
- Wenn Sie die Konfigurationsoptionen maximieren möchten, klicken Sie unter Bereitstellungseinstellungen auf Erweitert.
- Wählen Sie im Drop-down-Menü Region dieselbe Region aus, in der sich Ihre AlloyDB-Instanz befindet, um die Latenz so gering wie möglich zu halten.
- Wählen Sie im Drop-down-Menü Maschinenspezifikation eine geeignete Maschinenspezifikation aus, um die beste Leistung zu erzielen. Eine GPU oder TPU bietet möglicherweise eine geringere Latenz.
Wählen Sie im Drop-down-Menü Endpunktzugriff unter Verfügbarkeitsrichtlinien die Option Öffentlich (gemeinsamer Endpunkt) aus.
Dadurch wird ein Endpunkt in der Domain
aiplatformerstellt, der mit AlloyDB funktioniert.- Klicken Sie auf Bereitstellen, um das Modell auf einem verwalteten Endpunkt bereitzustellen. Die Bereitstellung kann etwa 10 bis 15 Minuten dauern.
- Wenn Sie die aktuelle Version des TimesFM-Modells verwenden möchten, wählen Sie im Drop-down-Menü Ressourcen-ID die Option
- Nachdem das TimesFM-Modell bereitgestellt wurde, wird unter Endpunkte ein Link ähnlich
google_timesfm-VERSION-one-click-deployangezeigt. - Klicken Sie unter Endpunkte auf den Bereitstellungslink, um die Modellanfrage-URL abzurufen.
- Klicken Sie auf der Endpunkt-Detailseite auf Beispielanfrage.
Suchen Sie im Bereich Beispielanfrage nach der Modellanfrage-URL und notieren Sie sie. Sie verwenden diese Informationen unter TimesFM-Modell in AlloyDB registrieren, z. B.
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict.Achten Sie darauf, dass die Anfrage-URL
aiplatform.googleapis.comenthält.
Manuelle Bereitstellung
So stellen Sie das TimesFM-Modell manuell mit einem Colaboratory-Notebook bereit:
-
Rufen Sie in der Google Cloud Console die Seite Model Garden auf:
Zu Model Garden - Geben Sie im Feld Suchen
TimesFMein. - Klicken Sie in den Suchergebnissen auf
TimesFM, um die Modellkarte zu öffnen. - Klicken Sie auf der Seite TimesFM auf CO Notebook öffnen.
- Klicken Sie im Fenster Notebook öffnen auf den Link Colab Enterprise für TimesFM 2.0.
-
Führen Sie auf der Seite Colab Enterprise die folgenden Schritte aus:
- Klicken Sie auf Verbinden, um eine Verbindung zur Laufzeitumgebung herzustellen.
-
Optional: Führen Sie bei Bedarf die folgenden Schritte aus:
-
Legen Sie im Abschnitt Voraussetzungen unter Google Cloud-Projekt einrichten die BUCKET_URI und die REGION fest. Setzen Sie beispielsweise die BUCKET_URI auf
gs://your-unique-bucket-nameund die REGION aufus-central1. - Wählen Sie im Drop-down-Menü accelerator_type unter TimesFM auf einem Vertex AI-Endpunkt bereitstellen bei Bedarf einen anderen Beschleunigertyp aus.
- Füllen Sie unter Schritt 3: Maximalen Vorhersagezeitraum festlegen die Felder horizon und max_context aus. Setzen Sie beispielsweise horizon auf
128und max_context auf512.
-
- Deaktivieren Sie das Kästchen
use_dedicated_endpoint. - Führen Sie alle Zellen im Notebook aus.
Die Ausgabe des Notebooks enthält die Endpunktdetails im folgenden Format:
projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID. -
Ersetzen Sie die Projekt- und Endpunkt-IDs durch die Endpunktdetails aus dem vorherigen Schritt, um die
model_request_urlfür den SQL-Aufruf zur Modellerstellung zu erstellen:CALL google_ml.create_model( model_id => 'timesfm_v2', model_qualified_name => 'timesfm_v2', model_type => 'ts_forecasting', model_provider => 'google', model_request_url => 'https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict');
Sie benötigen diese
model_request_urlim Aufrufthe google_ml.create_model, wenn Sie das TimesFM-Modell in AlloyDB registrieren, wie im folgenden Abschnitt beschrieben. Führen Sie die folgende Beispielabfrage aus, um zu prüfen, ob die Funktion
ai.forecastwie erwartet funktioniert:SELECT * FROM ai.forecast( source_query=> ' SELECT my_timestamp, my_data_value FROM ( VALUES (CAST(''2025-01-01'' AS TIMESTAMP), 10.0), (CAST(''2025-01-02'' AS TIMESTAMP), 12.0), (CAST(''2025-01-03'' AS TIMESTAMP), 11.0), (CAST(''2025-01-04'' AS TIMESTAMP), 13.0), (CAST(''2025-01-05'' AS TIMESTAMP), 15.0), (CAST(''2025-01-06'' AS TIMESTAMP), 14.0), (CAST(''2025-01-07'' AS TIMESTAMP), 16.0), (CAST(''2025-01-08'' AS TIMESTAMP), 18.0), (CAST(''2025-01-09'' AS TIMESTAMP), 17.0), (CAST(''2025-01-10'' AS TIMESTAMP), 20.0) ) AS t (my_timestamp, my_data_value) ' , model_id => 'timesfm_v2', data_col => 'my_data_value', timestamp_col => 'my_timestamp', -- The rest of the parameters are the same horizon => 7, conf_level => 0.80 );
TimesFM-Modell in AlloyDB registrieren
So registrieren Sie das TimesFM-Modell in AlloyDB:
Prüfen Sie, ob die Erweiterung
google_ml_integrationinstalliert ist in der AlloyDB-Datenbank, die die Daten enthält, für die Sie Vorhersagen ausführen möchten.Prüfen Sie, ob Version 1.4.5 oder höher der Erweiterung
google_ml_integrationinstalliert ist.SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';Hier ein Beispiel für eine Ausgabe:
extversion ------------ 1.4.5 (1 row)Rufen Sie
google_ml.create_modelmit der Modellanfrage-URL auf, die Sie unter Vorhersagemodell registrieren notiert haben.CALL google_ml.create_model( model_id => 'MODEL_ID', model_qualified_name => 'MODEL_QUALIFIED_NAME', model_type => 'ts_forecasting', model_provider => 'google', model_request_url => 'https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict' -- Example endpoint from Model Garden );Ersetzen Sie Folgendes:
MODEL_ID: eine eindeutige ID für das registrierte Modell, das Sie für Vorhersagen verwenden möchten, z. B.vertex_timesfm.MODEL_QUALIFIED_NAME: ein nutzerdefinierter Name für das Modell, z. B.timesfm_v2.REGION: die Region, in der sich die Instanz befindet, z. B.us-central1.PROJECT_ID: der Name des Projekts, in dem das Modell bereitgestellt wird, z. B.forecast_project.ENDPOINT_ID: der Name der Modellbereitstellung, z. B.my-timesfm-endpoint.Die
model_request_urlwird von Agent Platform bereitgestellt, nachdem Sie Ihr Modell bereitgestellt haben. Kopieren Sie die gesamte URL aus dem Bereich Beispielanfrage in der Agent Platform-Konsole. Sie enthält bereits die korrekten Projekt- und Endpunktinformationen.
Vorhersagen generieren
Nachdem Sie das TimesFM-Modell registriert und das erforderliche Flag aktiviert haben, können Sie Vorhersagen generieren, indem Sie entweder eine Quelltabelle oder eine Abfrage mit Ihren Zeitreihendaten übergeben.
Die Funktion ai.forecast ist separat dokumentiert. Eine vollständige Liste der Parameter mit Beschreibungen und Beispielen finden Sie in der Referenz zur Modellendpunktverwaltung.
Vorhersagen aus einer Quelltabelle generieren
Das folgende Beispiel zeigt, wie die Funktion ai.forecast mit einer Quelltabelle aufgerufen wird, um Vorhersagen zu generieren:
SELECT * FROM ai.forecast(
model_id => 'MODEL_ID',
source_table => 'time_series_data',
data_col => 'data_points',
timestamp_col => 'timestamp',
horizon => 2,
conf_level => 0.80
);
Vorhersagen aus einer Abfrage generieren
Das folgende Beispiel zeigt, wie Vorhersagen generiert werden, indem die Funktion ai.forecast mit einer Unterabfrage als Datenquelle aufgerufen wird:
SELECT * FROM ai.forecast(
model_id => 'MODEL_ID',
source_query => 'SELECT * FROM time_series_data ORDER BY timestamp LIMIT 10',
data_col => 'data_points',
timestamp_col => 'timestamp',
horizon => 2,
conf_level => 0.80
);
Andere Vorhersagemodelle verwenden
Sie können die Funktion ai.forecast mit jedem anderen Zeitreihenvorhersagemodell verwenden, das Sie in AlloyDB registrieren. Wichtig ist, dass Ihr Modell mit dem Modelltyp ts_forecasting registriert ist.
Eine detaillierte Anleitung zum Registrieren verschiedener Modelltypen finden Sie unter Remote-KI-Modelle mit der Modellendpunktverwaltung registrieren und aufrufen. Sobald Ihr Modell registriert ist, können Sie es mit der Funktion ai.forecast verwenden, indem Sie die model_id angeben.