Halaman ini menjelaskan cara melakukan prediksi deret waktu langsung di database AlloyDB Anda. Anda dapat menggunakan berbagai model perkiraan, termasuk model TimesFM, untuk membantu Anda mengatasi ketidakpastian dan membuat keputusan strategis yang tepat. Untuk mengetahui detail selengkapnya tentang model ini, lihat blog riset TimesFM.
Fungsi ai.forecast AlloyDB dirancang untuk bekerja dengan model apa pun yang terdaftar dengan jenis model ts_forecasting, sehingga Anda dapat menggunakan model terbaik untuk kebutuhan Anda. Dokumen ini memberikan panduan mendetail tentang penggunaan TimesFM, tetapi Anda juga dapat menerapkan prinsipnya ke model lain.
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 direkomendasikan karena memberikan akurasi hingga 25% lebih tinggi dibandingkan dengan versi 1.0.
Kedua model tersedia di Model Garden untuk deployment cepat.
Untuk menggunakan model TimesFM, Anda harus men-deploy model TimesFM terlebih dahulu ke endpoint Vertex AI, lalu mendaftarkannya di AlloyDB.
Men-deploy model TimesFM ke endpoint Vertex AI
Anda dapat men-deploy model menggunakan deployment sekali klik dari konsol Google Cloud , atau secara manual menggunakan notebook Colaboratory.
Deployment sekali klik
Untuk men-deploy model TimesFM menggunakan deployment sekali klik, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Model Garden:
Buka Model Garden- Di kolom Penelusuran, masukkan
TimesFM. - Di hasil penelusuran, klik
TimesFM. -
Di halaman TimesFM, selesaikan langkah-langkah berikut:
- Klik Deploy model.
- Pilih Vertex AI.
Di panel Deploy di Vertex AI, konfigurasi dan deploy model Anda:
- Untuk menggunakan model TimesFM versi terbaru, di drop-down Resource ID, pilih
google/timesfm-2.0. - Untuk mempermudah identifikasi deployment nanti, masukkan perintah berikut:
- Di Model name,
MODEL_NAMEunik. - Di Endpoint name,
ENDPOINT_NAMEyang unik.
- Di Model name,
- Untuk meluaskan opsi konfigurasi, di Setelan deployment, klik Lanjutan.
- 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 Spesifikasi mesin, 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 Contoh permintaan.
Di panel Contoh permintaan, 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 berisi
aiplatform.googleapis.com.
Deployment manual
Untuk men-deploy model TimesFM secara manual menggunakan notebook Colaboratory, ikuti langkah-langkah berikut:
-
Buka halaman Model Garden di konsol Google Cloud :
Buka Model Garden - Di kolom Penelusuran, 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 Colab Enterprise, selesaikan langkah-langkah berikut:
- Untuk membuat koneksi ke lingkungan runtime, klik Hubungkan.
-
Opsional: Selesaikan langkah-langkah berikut jika diperlukan:
-
Di bagian Prasyarat pada Menyiapkan project Google Cloud, 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 Langkah 3: Tetapkan horizon perkiraan maksimum, isi kolom horizon dan max_context—misalnya, tetapkan horizon ke
128dan max_context ke512.
-
- Batalkan pilihan pada kotak centang
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 project dan ID 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 kueri contoh 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 ekstensi
google_ml_integrationtelah diinstal di database AlloyDB yang berisi data yang ingin Anda jalankan prediksinya.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 peramalan—misalnya,vertex_timesfm.MODEL_QUALIFIED_NAME: nama yang ditentukan pengguna untuk model—misalnya,timesfm_v2.PROJECT_ID: nama project tempat model di-deploy—misalnya,forecast_project.ENDPOINT_ID: nama deployment model—misalnya,my-timesfm-endpoint.model_request_urldisediakan oleh Vertex AI setelah Anda men-deploy model. Salin seluruh URL dari panel Sample request di konsol Vertex AI. File ini sudah berisi informasi project dan endpoint yang benar.
Membuat perkiraan
Setelah mendaftarkan model TimesFM dan mengaktifkan tanda yang diperlukan, Anda dapat membuat perkiraan dengan meneruskan tabel atau kueri sumber dengan data deret waktu Anda.
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 1) AS time_series_data',
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 peramalan 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 Anda terdaftar, Anda dapat menggunakannya dengan fungsi ai.forecast dengan menentukan model_id-nya.