Fungsi ai.forecast di AlloyDB untuk PostgreSQL memungkinkan Anda menjalankan
prediksi perkiraan deret waktu langsung pada data database menggunakan SQL. Anda dapat mendaftarkan dan
memanggil model perkiraan seperti
TimesFM atau model apa pun yang terdaftar
dengan jenis model ts_forecasting untuk memprediksi tren mendatang dari data historis. Untuk mengetahui informasi selengkapnya tentang arsitektur TimesFM, lihat
blog riset TimesFM.
Sebelum memulai
Sebelum dapat melakukan perkiraan deret waktu, Anda harus mengaktifkan fitur perkiraan di AlloyDB dan mendaftarkan model.
Mendaftarkan model perkiraan
Anda dapat menggunakan berbagai model perkiraan dengan AlloyDB.
Bagian ini memberikan petunjuk untuk mendaftarkan model TimesFM. Untuk mengetahui petunjuk tentang cara mendaftarkan model lain, lihat Mendaftarkan endpoint model dengan pengelolaan endpoint model.
Menggunakan model TimesFM
Model TimesFM tersedia dalam dua versi:
- TimesFM 1.0: versi awal model TimesFM.
- TimesFM 2.0: versi ini berisi checkpoint parameter 500M dengan kode inferensinya. Model ini memberikan performa model yang lebih baik dibandingkan dengan model 1.0.
- TimesFM 2.5: versi ini berisi checkpoint parameter 200M dengan kode inferensinya. Model ini memberikan performa model yang lebih baik dibandingkan dengan model 2.0.
Semua model tersedia di Model Garden untuk deployment cepat.
Untuk menggunakan model TimesFM, Anda harus men-deploy model TimesFM ke endpoint Gemini Enterprise Agent Platform terlebih dahulu, lalu mendaftarkannya di AlloyDB.
Men-deploy model TimesFM ke endpoint Agent Platform
Anda dapat men-deploy model menggunakan deployment sekali klik dari Google Cloud konsol, atau secara manual menggunakan notebook Colaboratory.
Deployment sekali klik
Untuk men-deploy model TimesFM menggunakan deployment sekali klik, ikuti langkah-langkah berikut:
Di Google Cloud konsol, buka halaman Model Garden:
Buka Model Garden- Di kolom Search, masukkan
TimesFM. - Di hasil penelusuran, klik
TimesFM. -
Di halaman TimesFM, selesaikan langkah-langkah berikut:
- Klik Deploy model.
- Pilih Agent Platform.
Di panel Deploy on Agent Platform, konfigurasi dan deploy model Anda:
- Untuk menggunakan model TimesFM versi terbaru, di drop-down Resource ID, pilih
google/timesfm-2.0. - Untuk memudahkan identifikasi deployment nanti, masukkan hal berikut:
- Di Model name,
MODEL_NAMEyang unik. - Di Endpoint name,
ENDPOINT_NAMEyang unik.
- Di Model name,
- Untuk meluaskan opsi konfigurasi, di Deployment settings, klik Advanced.
- Untuk memastikan latensi serendah mungkin, di drop-down Region, pilih region yang sama dengan tempat instance AlloyDB Anda berada.
- Untuk performa terbaik, di drop-down Machine spec, pilih spesifikasi mesin yang sesuai. Perhatikan bahwa GPU atau TPU mungkin menawarkan latensi yang lebih rendah.
Di drop-down Endpoint access pada Availability policies, pilih Public (Shared endpoint).
Tindakan ini akan membuat endpoint di domain
aiplatformyang berfungsi dengan AlloyDB.- Untuk men-deploy model ke endpoint terkelola, klik Deploy. Deployment mungkin memerlukan waktu sekitar 10–15 menit.
- Untuk menggunakan model TimesFM versi terbaru, di drop-down Resource ID, pilih
- Setelah model TimesFM di-deploy, link yang mirip dengan
google_timesfm-VERSION-one-click-deployakan ditampilkan di Endpoints. - Untuk mendapatkan URL permintaan model, di Endpoints, klik link deployment.
- Di halaman detail endpoint, klik Sample request.
Di panel Sample request, temukan dan catat URL permintaan model. Anda menggunakan informasi ini di Mendaftarkan model TimesFM di AlloyDB—misalnya,
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict.Pastikan URL permintaan memiliki
aiplatform.googleapis.comdi dalamnya.
Deployment manual
Untuk men-deploy model TimesFM secara manual menggunakan notebook Colaboratory, ikuti langkah-langkah berikut:
-
Buka halaman Model Garden di Google Cloud konsol:
Buka Model Garden - Di kolom Search, masukkan
TimesFM. - Di hasil penelusuran, klik
TimesFMuntuk membuka kartu model. - Di halaman TimesFM, klik CO Open Notebook.
- Di jendela Open Notebook, klik link Collab Enterprise untuk TimesFM 2.0.
-
Di halaman Collab Enterprise, selesaikan langkah-langkah berikut:
- Untuk membuat koneksi ke lingkungan runtime, klik Connect.
-
Opsional: Selesaikan langkah-langkah berikut jika diperlukan:
-
Di bagian Prerequisites pada Setup Google Cloud project, tetapkan BUCKET_URI dan REGION—misalnya, tetapkan BUCKET_URI ke
gs://your-unique-bucket-namedan REGION keus-central1. - Di drop-down accelerator_type pada Deploy TimesFM to a Vertex AI Endpoint, pilih jenis akselerator lain jika diperlukan.
- Di Step 3: Set the maximum forecast horizon, isi kolom horizon dan max_context —misalnya, tetapkan horizon ke
128dan max_context ke512.
-
- Hapus centang pada kotak
use_dedicated_endpoint. - Jalankan semua sel di Notebook.
Output notebook memberikan detail endpoint dalam format berikut:
projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID. -
Untuk membuat
model_request_urluntuk panggilan pembuatan model SQL, ganti ID project dan endpoint dengan detail endpoint dari langkah sebelumnya sebagai berikut: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');
Anda memerlukan
model_request_urlini dalam panggilanthe google_ml.create_modelsaat mendaftarkan model TimesFM di AlloyDB, seperti yang dijelaskan di bagian berikut. Untuk mengonfirmasi bahwa fungsi
ai.forecastberfungsi seperti yang diharapkan, jalankan contoh kueri berikut: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 );
Mendaftarkan model TimesFM di AlloyDB
Untuk mendaftarkan model TimesFM di AlloyDB, ikuti langkah-langkah berikut:
Pastikan bahwa ekstensi
google_ml_integrationdiinstal di database AlloyDB yang berisi data yang ingin Anda gunakan untuk menjalankan prediksi.Pastikan Anda telah menginstal ekstensi
google_ml_integrationversi 1.4.5 atau yang lebih baru.SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';Berikut adalah contoh output:
extversion ------------ 1.4.5 (1 row)Panggil
google_ml.create_modelmenggunakan URL permintaan model yang Anda catat di Mendaftarkan model perkiraan.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 );Ganti kode berikut:
MODEL_ID: ID unik untuk model terdaftar yang ingin Anda gunakan untuk perkiraan—misalnya,vertex_timesfm.MODEL_QUALIFIED_NAME: nama yang ditentukan pengguna untuk model—misalnya,timesfm_v2.REGION: region tempat instance ditempatkan—misalnya,us-central1.PROJECT_ID: nama project tempat model di-deploy—misalnya,forecast_project.ENDPOINT_ID: nama deployment model—misalnya,my-timesfm-endpoint.model_request_urldisediakan oleh Agent Platform setelah Anda men-deploy model. Salin seluruh URL dari panel Sample request di konsol Agent Platform. URL tersebut sudah berisi informasi project dan endpoint yang benar.
Membuat perkiraan
Setelah mendaftarkan model TimesFM dan mengaktifkan flag yang diperlukan, Anda dapat membuat perkiraan dengan meneruskan tabel sumber atau kueri dengan data deret waktu.
Fungsi ai.forecast didokumentasikan secara terpisah. Untuk mengetahui daftar lengkap parameter, termasuk deskripsi dan contohnya, lihat Referensi pengelolaan endpoint model.
Membuat perkiraan dari tabel sumber
Contoh berikut menunjukkan cara memanggil fungsi ai.forecast menggunakan tabel sumber untuk membuat prediksi:
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
);
Membuat perkiraan dari kueri
Contoh berikut menunjukkan cara membuat perkiraan dengan memanggil fungsi ai.forecast menggunakan subkueri sebagai sumber data:
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
);
Menggunakan model perkiraan lainnya
Anda dapat menggunakan fungsi ai.forecast dengan model perkiraan deret waktu lainnya yang Anda daftarkan di AlloyDB. Kuncinya adalah memastikan model Anda terdaftar dengan jenis model ts_forecasting.
Untuk mengetahui petunjuk mendetail tentang cara mendaftarkan berbagai jenis model, lihat Mendaftarkan dan memanggil model AI jarak jauh menggunakan pengelolaan endpoint model. Setelah model terdaftar, Anda dapat menggunakannya dengan fungsi ai.forecast dengan menentukan model_id.