Halaman ini menunjukkan cara melatih model perkiraan dari set data tabel menggunakan konsol Google Cloud atau Vertex AI API.
Sebelum memulai
Sebelum dapat melatih model perkiraan, Anda harus menyelesaikan langkah-langkah berikut:
Melatih model
Konsol Google Cloud
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Datasets.
Klik nama set data yang ingin Anda gunakan untuk melatih model agar dapat membuka halaman detailnya.
Jika jenis data Anda menggunakan kumpulan anotasi, pilih kumpulan anotasi yang ingin digunakan untuk model ini.
Klik Train new model.
Pilih Lainnya.
Di halaman Metode pelatihan, konfigurasi sebagai berikut:
Pilih metode pelatihan model. Untuk mempelajari lebih lanjut, lihat Metode pelatihan model.
Klik Lanjutkan.
Di halaman Detail model, konfigurasi sebagai berikut:
Masukkan nama tampilan untuk model baru Anda.
Pilih kolom target.
Kolom target adalah nilai yang akan diperkirakan oleh model. Pelajari persyaratan kolom target lebih lanjut.
Jika Anda belum menetapkan kolom ID seri dan Stempel waktu di set data, pilih kolom tersebut sekarang.
Pilih Perincian data. Pilih
Daily
jika Anda ingin menggunakan pemodelan efek musim liburan. Pelajari cara memilih tingkat perincian data.Opsional: Di menu dropdown Wilayah liburan, pilih satu atau beberapa wilayah geografis untuk mengaktifkan pemodelan efek musim liburan. Selama pelatihan, Vertex AI membuat fitur kategori liburan dalam model berdasarkan tanggal dari kolom Stempel waktu dan wilayah geografis yang ditentukan. Anda dapat memilih opsi ini hanya jika Perincian data ditetapkan ke
Daily
. Secara default, pemodelan efek liburan dinonaktifkan. Untuk mempelajari wilayah geografis yang digunakan untuk pemodelan efek hari libur, lihat Wilayah liburan.Masukkan Periode konteks dan Horizon perkiraan.
Horizon perkiraan menentukan seberapa jauh model akan memperkirakan nilai target untuk setiap baris data prediksi di masa mendatang. Horizon perkiraan ditentukan dalam unit Perincian data.
Periode konteks menetapkan rentang waktu ke belakang model selama pelatihan (dan untuk perkiraan). Dengan kata lain, untuk setiap titik data pelatihan, jendela konteks menentukan seberapa jauh model mencari pola prediktif. Periode konteks ditentukan dalam unit Perincian data.
Jika Anda ingin mengekspor set data pengujian ke BigQuery, centang Ekspor set data pengujian ke BigQuery dan berikan nama tabelnya.
Jika Anda ingin mengontrol pembagian data secara manual atau mengonfigurasi periode perkiraan, buka Opsi lanjutan.
Pembagian data default dilakukan secara kronologis, dengan persentase standar 80/10/10. Jika Anda ingin menentukan baris mana yang ditetapkan ke pemisahan secara manual, pilih Manual dan tentukan kolom Pemisahan data Anda.
Pelajari pemisahan data lebih lanjut.
Pilih strategi periode bergulir untuk pembuatan periode perkiraan. Strategi defaultnya adalah Jumlah.
- Jumlah: Tetapkan nilai untuk jumlah maksimum periode di kotak teks yang disediakan.
- Jangka: Tetapkan nilai panjang jangka waktu di kotak teks yang disediakan.
- Kolom: Pilih nama kolom yang sesuai dari menu dropdown yang disediakan.
Untuk mempelajari lebih lanjut, lihat Strategi periode bergulir.
Klik Lanjutkan.
Di halaman Opsi pelatihan, konfigurasikan sebagai berikut:
Jika belum melakukannya, klik Buat statistik.
Membuat statistik akan mengisi menu dropdown Transformasi.
Tinjau daftar kolom Anda dan kecualikan setiap kolom dari pelatihan yang tidak boleh digunakan untuk melatih model.
Jika Anda menggunakan kolom pembagian data, kolom tersebut harus disertakan.
Tinjau transformasi yang dipilih untuk fitur yang disertakan dan lakukan update yang diperlukan.
Baris berisi data yang tidak valid untuk transformasi yang dipilih akan dikecualikan dari pelatihan. Pelajari transformasi lebih lanjut
Untuk setiap kolom yang Anda sertakan untuk pelatihan, tentukan Jenis fitur untuk hubungan fitur tersebut dengan deret waktunya, dan apakah fitur tersebut tersedia pada perkiraan waktu. Pelajari jenis dan ketersediaan fitur lebih lanjut.
Jika Anda ingin menentukan kolom bobot, mengubah objektif pengoptimalan dari default, atau mengaktifkan perkiraan hierarkis, buka Opsi lanjutan.
Opsional. Jika Anda ingin menentukan kolom bobot, pilih kolom tersebut dari daftar dropdown. Pelajari kolom bobot lebih lanjut.
Opsional. Jika Anda ingin memilih tujuan pengoptimalan, pilih tujuan tersebut dari daftar. Pelajari tujuan pengoptimalan lebih lanjut.
Opsional. Jika Anda ingin menggunakan perkiraan hierarkis, pilih Aktifkan peningkatan hierarkis. Anda dapat memilih di antara tiga opsi pengelompokkan:
No grouping
Group by columns
Group all
Anda juga dapat memilih untuk menetapkan bobot penurunan agregat berikut:
Group total weight
. Kolom ini hanya dapat ditetapkan jika Anda memilih opsiGroup by columns
atauGroup all
.Temporal total weight
.Group temporal total weight
. Kolom ini hanya dapat ditetapkan jika Anda memilih opsiGroup by columns
atauGroup all
.
Pelajari perkiraan hierarkis lebih lanjut.
Klik Lanjutkan.
Di halaman Komputasi dan harga, konfigurasi sebagai berikut:
Masukkan jumlah jam maksimum yang diinginkan untuk melatih model Anda. Setelan ini membantu Anda membatasi biaya pelatihan. Waktu berlalu sebenarnya bisa lebih lama dari nilai ini, karena ada operasi lain yang terlibat dalam pembuatan model baru.
Waktu pelatihan yang disarankan berkaitan dengan ukuran horizon perkiraan dan data pelatihan Anda. Tabel di bawah ini memberikan beberapa contoh pelatihan perkiraan yang dijalankan, dan rentang waktu pelatihan yang diperlukan untuk melatih model berkualitas tinggi.
Baris Fitur Horizon perkiraan Waktu pelatihan 12 juta 10 6 3-6 jam 20 juta 50 13 6-12 jam 16 juta 30 365 24-48 jam Untuk informasi tentang harga pelatihan, lihat halaman harga.
Klik Mulai Pelatihan.
Pelatihan model dapat memerlukan waktu berjam-jam, bergantung pada ukuran dan kompleksitas data serta anggaran pelatihan, jika Anda menentukannya. Anda dapat menutup tab ini dan kembali membukanya lagi di lain waktu. Anda akan menerima email saat model telah menyelesaikan pelatihan.
API
Pilih tab untuk bahasa atau lingkungan Anda:
REST
Anda menggunakan perintah trainingPipelines.create untuk melatih model.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- LOCATION: Region Anda.
- PROJECT: Project ID Anda.
- TRAINING_PIPELINE_DISPLAY_NAME: Nama tampilan untuk pipeline pelatihan yang dibuat untuk operasi ini.
-
TRAINING_TASK_DEFINITION: Metode pelatihan model.
- Encoder Padat deret waktu (TiDE)
gs://google-cloud-aiplatform/schema/trainingjob/definition/time_series_dense_encoder_forecasting_1.0.0.yaml
- Transformator Temporal Fusion (TFT)
gs://google-cloud-aiplatform/schema/trainingjob/definition/temporal_fusion_transformer_time_series_forecasting_1.0.0.yaml
- AutoML (L2L)
gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_forecasting_1.0.0.yaml
- Seq2Seq+
gs://google-cloud-aiplatform/schema/trainingjob/definition/seq2seq_plus_time_series_forecasting_1.0.0.yaml
- Encoder Padat deret waktu (TiDE)
- TARGET_COLUMN: Kolom (nilai) yang Anda inginkan untuk diprediksi oleh model ini.
- TIME_COLUMN: Kolom waktu. Pelajari lebih lanjut.
- TIME_SERIES_IDENTIFIER_COLUMN: Kolom ID deret waktu. Pelajari lebih lanjut.
- WEIGHT_COLUMN: (Opsional) Kolom bobot. Pelajari lebih lanjut.
- TRAINING_BUDGET: Jumlah waktu maksimum yang Anda inginkan untuk dilatih model, dalam milidetik jam node (1.000 milidetik jam node sama dengan satu jam node).
-
GRANULARITY_UNIT: Unit yang akan digunakan untuk perincian data pelatihan serta horizon perkiraan dan periode konteks Anda. Dapat berupa
minute
,hour
,day
,week
,month
, atauyear
. Pilihday
jika Anda ingin menggunakan pemodelan efek musim liburan. Pelajari cara memilih tingkat perincian data. - GRANULARITY_QUANTITY: Jumlah unit perincian yang membentuk interval di antara pengamatan dalam data pelatihan Anda. Harus berupa satu untuk semua unit kecuali menit, yang dapat berupa 1, 5, 10, 15, atau 30. Pelajari cara memilih tingkat perincian data.
- GROUP_COLUMNS: Nama kolom dalam tabel input pelatihan Anda yang mengidentifikasi pengelompokan untuk tingkat hierarki. Kolom harus berupa `time_Series_attribute_columns`. Pelajari lebih lanjut.
- GROUP_TOTAL_WEIGHT: Berat kerugian gabungan grup relatif terhadap kerugian individual. Dinonaktifkan jika disetel ke `0.0` atau tidak disetel. Jika kolom grup tidak ditetapkan, semua deret waktu akan diperlakukan sebagai bagian dari grup yang sama dan digabungkan pada semua deret waktu. Pelajari lebih lanjut.
- TEMPORAL_TOTAL_WEIGHT: Berat waktu kerugian gabungan relatif terhadap kerugian individual. Dinonaktifkan jika disetel ke `0.0` atau tidak disetel. Pelajari lebih lanjut.
- GROUP_TEMPORAL_TOTAL_WEIGHT: Berat kerugian gabungan total (grup x waktu) yang relatif terhadap kerugian individual. Dinonaktifkan jika disetel ke `0.0` atau tidak disetel. Jika kolom grup tidak ditetapkan, semua deret waktu akan diperlakukan sebagai bagian dari grup yang sama dan digabungkan ke semua deret waktu. Pelajari lebih lanjut.
-
HOLIDAY_REGIONS: (Opsional) Anda dapat memilih satu atau beberapa wilayah geografis untuk mengaktifkan pemodelan efek musim liburan. Selama pelatihan, Vertex AI membuat fitur kategori liburan dalam model berdasarkan tanggal dari TIME_COLUMN dan wilayah geografis yang ditentukan. Untuk mengaktifkannya, tetapkan GRANULARITY_UNIT ke
day
dan tentukan satu atau beberapa region di kolom HOLIDAY_REGIONS. Secara default, pemodelan efek liburan dinonaktifkan. Untuk mempelajari lebih lanjut, lihat Wilayah liburan. - FORECAST_HORIZON: Horizon perkiraan menentukan seberapa jauh model memperkirakan nilai target untuk setiap baris data prediksi di masa mendatang. Horizon perkiraan ditentukan dalam unit perincian data (GRANULARITY_UNIT). Pelajari lebih lanjut.
- CONTEXT_WINDOW: Periode konteks menetapkan rentang waktu ke belakang model selama pelatihan (dan untuk perkiraan). Dengan kata lain, untuk setiap titik data pelatihan, periode konteks menentukan seberapa jauh model mencari pola prediktif. Periode konteks ditentukan dalam unit perincian data (GRANULARITY_UNIT). Pelajari lebih lanjut.
- OPTIMIZATION_OBJECTIVE: Secara default, Vertex AI meminimalkan error akar rataan kuadrat (RMSE). Jika Anda menginginkan tujuan pengoptimalan yang berbeda untuk model perkiraan, pilih salah satu opsi di Tujuan pengoptimalan untuk model perkiraan. Jika memilih untuk meminimalkan kerugian kuantil, Anda juga harus menentukan nilai untuk QUANTILES.
-
PROBABILISTIC_INFERENCE: (Opsional) Jika ditetapkan ke
true
, Vertex AI akan membuat model distribusi probabilitas perkiraan. Inferensi probabilistik dapat meningkatkan kualitas model dengan menangani data yang berisi derau dan mengukur ketidakpastian. Jika QUANTILES ditentukan, Vertex AI juga akan menampilkan kuantil dari distribusi probabilitas. Inferensi probabilistik hanya kompatibel dengan metode pelatihanTime series Dense Encoder (TiDE)
danAutoML (L2L)
. Nilai ini tidak kompatibel dengan perkiraan hierarkis dan tujuan pengoptimalanminimize-quantile-loss
. -
QUANTILES: Kuantil yang akan digunakan untuk tujuan pengoptimalan
minimize-quantile-loss
dan inferensi probabilistik. Berikan daftar hingga lima angka unik antara0
dan1
, eksklusif. - TIME_SERIES_ATTRIBUTE_COL: Nama atau nama kolom yang merupakan atribut deret waktu. Pelajari lebih lanjut.
- AVAILABLE_AT_FORECAST_COL: Nama atau nama kolom kovariat yang nilainya diketahui pada waktu perkiraan. Pelajari lebih lanjut.
- UNAVAILABLE_AT_FORECAST_COL: Nama atau nama kolom kovariat yang nilainya tidak diketahui pada waktu perkiraan. Pelajari lebih lanjut.
- TRANSFORMATION_TYPE: Jenis transformasi disediakan untuk setiap kolom yang digunakan untuk melatih model. Pelajari lebih lanjut.
- COLUMN_NAME: Nama kolom dengan jenis transformasi yang telah ditentukan. Setiap kolom yang digunakan untuk melatih model harus ditetapkan.
- MODEL_DISPLAY_NAME: Nama tampilan untuk model yang baru dilatih.
- DATASET_ID: ID untuk Dataset pelatihan.
-
Anda dapat menyediakan objek
Split
untuk mengontrol pembagian data. Untuk mengetahui informasi tentang cara mengontrol pembagian data, lihat Mengontrol pemisahan data menggunakan REST. -
Anda dapat memberikan objek
windowConfig
guna mengonfigurasi strategi periode berjalan untuk pembuatan periode perkiraan. Untuk informasi selengkapnya, lihat Mengonfigurasi strategi periode berjalan menggunakan REST. - PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Meminta isi JSON:
{ "displayName": "TRAINING_PIPELINE_DISPLAY_NAME", "trainingTaskDefinition": "TRAINING_TASK_DEFINITION", "trainingTaskInputs": { "targetColumn": "TARGET_COLUMN", "timeColumn": "TIME_COLUMN", "timeSeriesIdentifierColumn": "TIME_SERIES_IDENTIFIER_COLUMN", "weightColumn": "WEIGHT_COLUMN", "trainBudgetMilliNodeHours": TRAINING_BUDGET, "dataGranularity": {"unit": "GRANULARITY_UNIT", "quantity": GRANULARITY_QUANTITY}, "hierarchyConfig": {"groupColumns": GROUP_COLUMNS, "groupTotalWeight": GROUP_TOTAL_WEIGHT, "temporalTotalWeight": TEMPORAL_TOTAL_WEIGHT, "groupTemporalTotalWeight": GROUP_TEMPORAL_TOTAL_WEIGHT} "holidayRegions" : ["HOLIDAY_REGIONS_1", "HOLIDAY_REGIONS_2", ...] "forecast_horizon": FORECAST_HORIZON, "context_window": CONTEXT_WINDOW, "optimizationObjective": "OPTIMIZATION_OBJECTIVE", "quantiles": "QUANTILES", "enableProbabilisticInference": "PROBABILISTIC_INFERENCE", "time_series_attribute_columns": ["TIME_SERIES_ATTRIBUTE_COL_1", "TIME_SERIES_ATTRIBUTE_COL_2", ...] "available_at_forecast_columns": ["AVAILABLE_AT_FORECAST_COL_1", "AVAILABLE_AT_FORECAST_COL_2", ...] "unavailable_at_forecast_columns": ["UNAVAILABLE_AT_FORECAST_COL_1", "UNAVAILABLE_AT_FORECAST_COL_2", ...] "transformations": [ {"TRANSFORMATION_TYPE_1": {"column_name" : "COLUMN_NAME_1"} }, {"TRANSFORMATION_TYPE_2": {"column_name" : "COLUMN_NAME_2"} }, ... }, "modelToUpload": {"displayName": "MODEL_DISPLAY_NAME"}, "inputDataConfig": { "datasetId": "DATASET_ID", } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON yang mirip dengan skrip berikut ini:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/trainingPipelines/TRAINING_PIPELINE_ID", "displayName": "myModelName", "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tabular_1.0.0.yaml", "modelToUpload": { "displayName": "myModelName" }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-08-18T01:22:57.479336Z", "updateTime": "2020-08-18T01:22:57.479336Z" }
Vertex AI SDK untuk Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Vertex AI SDK untuk Python.
Mengontrol pemisahan data menggunakan REST
Anda dapat mengontrol pembagian data pelatihan antara set pelatihan, validasi, dan pengujian. Gunakan kolom pemisahan untuk menentukan pembagian data secara manual untuk setiap baris dan menyediakannya sebagai bagianPredefinedSplit
Split
objek berada di inputDataConfig
dari permintaan JSON.
DATA_SPLIT_COLUMN adalah kolom yang berisi nilai pemisahan data (TRAIN
, VALIDATION
, TEST
).
"predefinedSplit": {
"key": DATA_SPLIT_COLUMN
},
Pelajari lebih lanjut pemisahan data.
Mengonfigurasi strategi periode berjalan menggunakan REST
Anda dapat memberikan objek windowConfig
untuk mengonfigurasi strategi periode berjalan untuk pembuatan periode perkiraan. Strategi default adalah maxCount
.
Untuk menggunakan opsi
maxCount
, tambahkan kode berikut ketrainingTaskInputs
pada permintaan JSON. MAX_COUNT_VALUE mengacu pada jumlah maksimum periode."windowConfig": { "maxCount": MAX_COUNT_VALUE }, ```
Untuk menggunakan opsi
strideLength
, tambahkan kode berikut ketrainingTaskInputs
pada permintaan JSON. STRIDE_LENGTH_VALUE mengacu pada nilai panjang jangka waktu."windowConfig": { "strideLength": STRIDE_LENGTH_VALUE }, ```
Untuk menggunakan opsi
column
, tambahkan kode berikut ketrainingTaskInputs
pada permintaan JSON. COLUMN_NAME mengacu pada nama kolom dengan nilaiTrue
atauFalse
."windowConfig": { "column": "COLUMN_NAME" }, ```
Untuk mempelajari lebih lanjut, lihat Strategi periode bergulir.