Bagikan melalui


Tanya jawab umum tentang prakiraan di AutoML

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

Artikel ini menjawab pertanyaan umum tentang prakiraan dalam pembelajaran mesin otomatis (AutoML). Untuk informasi umum tentang metodologi prakiraan di AutoML, lihat artikel Gambaran Umum metode prakiraan di AutoML .

Bagaimana cara mulai membangun model prakiraan di AutoML?

Anda dapat memulai dengan membaca artikel Siapkan AutoML untuk melatih model prakiraan rangkaian waktu. Anda juga dapat menemukan contoh langsung di beberapa notebook Jupyter:

Mengapa AutoML lambat pada data saya?

Kami selalu berupaya membuat AutoML lebih cepat dan lebih dapat diskalakan. Untuk bekerja sebagai platform prakiraan umum, AutoML melakukan validasi data yang luas dan rekayasa fitur yang kompleks, dan mencari ruang model yang besar. Kompleksitas ini dapat membutuhkan banyak waktu, tergantung pada data dan konfigurasinya.

Salah satu sumber umum runtime lambat adalah melatih AutoML dengan pengaturan default pada data yang berisi banyak rangkaian waktu. Biaya banyak metode prakiraan diskalakan dengan jumlah seri. Misalnya, metode seperti Exponential Smoothing dan Prophet melatih model untuk setiap rangkaian waktu dalam data pelatihan.

Fitur Banyak Model dari skala AutoML ke skenario ini dengan mendistribusikan pekerjaan pelatihan di seluruh kluster komputasi. Ini telah berhasil diterapkan ke data dengan jutaan rangkaian waktu. Untuk informasi selengkapnya, lihat bagian artikel banyak model . Anda juga dapat membaca tentang keberhasilan Banyak Model pada himpunan data kompetisi profil tinggi.

Bagaimana cara membuat AutoML lebih cepat?

Lihat jawaban Mengapa AutoML lambat pada data saya? jawaban untuk memahami mengapa AutoML mungkin lambat dalam kasus Anda.

Pertimbangkan perubahan konfigurasi berikut yang mungkin mempercepat pekerjaan Anda:

  • Memblokir model rangkaian waktu seperti ARIMA dan Nabi.
  • Nonaktifkan fitur look-back seperti jeda dan jendela bergulir.
  • Mengurangi:
    • Jumlah uji coba/perulangan.
    • Batas waktu uji coba/perulangan.
    • Batas waktu eksperimen.
    • Jumlah lipatan validasi silang.
  • Pastikan bahwa penghentian dini diaktifkan.

Konfigurasi pemodelan apa yang harus saya gunakan?

Prakiraan AutoML mendukung empat konfigurasi dasar:

Konfigurasi Skenario Pro Kontra
Default AutoML Direkomendasikan jika himpunan data memiliki sejumlah kecil rangkaian waktu yang memiliki perilaku historis yang kira-kira mirip. - Mudah dikonfigurasi dari kode/SDK atau studio Azure Pembelajaran Mesin.

- AutoML dapat belajar di berbagai rangkaian waktu karena model regresi mengumpulkan semua seri bersama-sama dalam pelatihan. Untuk informasi selengkapnya, lihat Pengelompokan model.
- Model regresi mungkin kurang akurat jika rangkaian waktu dalam data pelatihan memiliki perilaku yang berbeda.

- Model rangkaian waktu mungkin membutuhkan waktu lama untuk dilatih jika data pelatihan memiliki sejumlah besar seri. Untuk informasi selengkapnya, lihat jawaban Mengapa AutoML lambat pada data saya?
AutoML dengan pembelajaran mendalam Direkomendasikan untuk himpunan data dengan lebih dari 1.000 pengamatan dan, berpotensi, banyak rangkaian waktu yang menunjukkan pola kompleks. Ketika diaktifkan, AutoML akan menyapu model jaringan neural konvolusional temporal (TCN) selama pelatihan. Untuk informasi selengkapnya, lihat Mengaktifkan pembelajaran mendalam. - Mudah dikonfigurasi dari kode/SDK atau studio Azure Pembelajaran Mesin.

- Peluang lintas pembelajaran, karena TCN mengumpulkan data di semua seri.

- Berpotensi akurasi yang lebih tinggi karena kapasitas besar model jaringan neural dalam (DNN). Untuk informasi selengkapnya, lihat Model prakiraan di AutoML.
- Pelatihan dapat memakan waktu lebih lama karena kompleksitas model DNN.

- Seri dengan sejumlah kecil riwayat tidak mungkin mendapat manfaat dari model-model ini.
Banyak Model Disarankan jika Anda perlu melatih dan mengelola sejumlah besar model prakiraan dengan cara yang dapat diskalakan. Untuk informasi selengkapnya, lihat bagian artikel banyak model . -Scalable.

- Berpotensi akurasi yang lebih tinggi ketika rangkaian waktu memiliki perilaku berbeda satu sama lain.
- Tidak ada pembelajaran di seluruh rangkaian waktu.

- Anda tidak dapat mengonfigurasi atau menjalankan banyak pekerjaan Model dari studio Azure Pembelajaran Mesin. Hanya pengalaman kode/SDK yang saat ini tersedia.
Rangkaian waktu hierarkis (HTS) Disarankan jika seri dalam data Anda memiliki struktur hierarkis berlapis, dan Anda perlu melatih atau membuat prakiraan pada tingkat hierarki agregat. Untuk informasi selengkapnya, lihat bagian artikel prakiraan rangkaian waktu hierarkis. - Pelatihan pada tingkat agregat dapat mengurangi kebisingan dalam rangkaian waktu simpul daun dan berpotensi menyebabkan model akurasi yang lebih tinggi.

- Anda dapat mengambil prakiraan untuk tingkat hierarki apa pun dengan menggabungkan atau memisahkan prakiraan dari tingkat pelatihan.
- Anda perlu memberikan tingkat agregasi untuk pelatihan. AutoML saat ini tidak memiliki algoritma untuk menemukan tingkat optimal.

Catatan

Sebaiknya gunakan simpul komputasi dengan GPU ketika pembelajaran mendalam diaktifkan untuk memanfaatkan kapasitas DNN yang tinggi. Waktu pelatihan bisa jauh lebih cepat dibandingkan dengan simpul hanya dengan CPU. Untuk informasi selengkapnya, lihat artikel ukuran komputer virtual yang dioptimalkan GPU.

Catatan

HTS dirancang untuk tugas di mana pelatihan atau prediksi diperlukan pada tingkat agregat dalam hierarki. Untuk data hierarkis yang hanya memerlukan pelatihan dan prediksi simpul daun, gunakan banyak model sebagai gantinya.

Bagaimana cara mencegah overfitting dan kebocoran data?

AutoML menggunakan praktik terbaik pembelajaran mesin, seperti pemilihan model yang divalidasi silang, yang mengurangi banyak masalah overfitting. Namun, ada potensi sumber overfitting lainnya:

  • Data input berisi kolom fitur yang berasal dari target dengan rumus sederhana. Misalnya, fitur yang merupakan kelipatan tepat dari target dapat menghasilkan skor pelatihan yang hampir sempurna. Namun, model ini kemungkinan tidak akan digeneralisasi ke data di luar sampel. Kami menyarankan Anda untuk menjelajahi data sebelum memodelkan pelatihan dan untuk menghilangkan kolom yang "membocorkan" informasi target.

  • Data pelatihan menggunakan fitur yang tidak diketahui di masa depan, hingga cakrawala prakiraan. Model regresi AutoML saat ini mengasumsikan bahwa semua fitur diketahui oleh cakrawala prakiraan. Kami menyarankan Anda untuk menjelajahi data Anda sebelum melatih dan menghapus kolom fitur apa pun yang hanya diketahui secara historis.

  • Ada perbedaan struktural yang signifikan (perubahan rezim) antara bagian pelatihan, validasi, atau pengujian data. Misalnya, pertimbangkan efek pandemi COVID-19 sesuai permintaan untuk hampir semua kebaikan selama 2020 dan 2021. Ini adalah contoh klasik perubahan rezim. Overfitting karena perubahan rezim adalah masalah yang paling menantang untuk ditangani karena sangat bergantung pada skenario dan dapat memerlukan pengetahuan mendalam untuk mengidentifikasi.

    Sebagai garis pertahanan pertama, coba cadangkan 10 hingga 20 persen dari total riwayat untuk data validasi atau data validasi silang. Tidak selalu mungkin untuk memesan jumlah data validasi ini jika riwayat pelatihan singkat, tetapi ini adalah praktik terbaik. Untuk informasi selengkapnya, lihat Data pelatihan dan validasi.

Apa artinya jika pekerjaan pelatihan saya mencapai skor validasi yang sempurna?

Anda dapat melihat skor sempurna saat Anda melihat metrik validasi dari pekerjaan pelatihan. Skor sempurna berarti bahwa perkiraan dan aktual pada set validasi sama atau hampir sama. Misalnya, Anda memiliki kesalahan kuadrat rata-rata akar sama dengan 0,0 atau skor R2 1,0.

Skor validasi yang sempurna biasanya menunjukkan bahwa model sangat overfit, kemungkinan karena kebocoran data. Tindakan terbaik adalah memeriksa data untuk kebocoran dan menghilangkan kolom yang menyebabkan kebocoran.

Bagaimana jika data rangkaian waktu saya tidak memiliki pengamatan spasi secara teratur?

Model prakiraan AutoML semuanya mengharuskan data pelatihan memiliki pengamatan spasi secara teratur sehubungan dengan kalender. Persyaratan ini mencakup kasus seperti pengamatan bulanan atau tahunan di mana jumlah hari antara pengamatan dapat bervariasi. Data yang bergantung pada waktu mungkin tidak memenuhi persyaratan ini dalam dua kasus:

  • Data memiliki frekuensi yang terdefinisi dengan baik, tetapi pengamatan yang hilang menciptakan celah dalam seri. Dalam hal ini, AutoML akan mencoba mendeteksi frekuensi, mengisi pengamatan baru untuk kesenjangan, dan meniru target dan nilai fitur yang hilang. Secara opsional, pengguna dapat mengonfigurasi metode imputasi melalui pengaturan SDK atau melalui UI Web. Untuk informasi selengkapnya, lihat Fiturisasi kustom.

  • Data tidak memiliki frekuensi yang terdefinisi dengan baik. Artinya, durasi antara pengamatan tidak memiliki pola yang terlihat. Data transaksi, seperti itu dari sistem titik penjualan, adalah salah satu contohnya. Dalam hal ini, Anda dapat mengatur AutoML untuk mengagregasi data Anda ke frekuensi yang dipilih. Anda dapat memilih frekuensi reguler yang paling sesuai dengan data dan tujuan pemodelan. Untuk informasi selengkapnya, lihat Agregasi data.

Bagaimana cara memilih metrik utama?

Metrik utama penting karena nilainya pada data validasi menentukan model terbaik selama pembersihan dan pemilihan. Kesalahan kuadrat rata-rata akar yang dinormalisasi (NRMSE) dan kesalahan absolut rata-rata yang dinormalisasi (NMAE) biasanya merupakan pilihan terbaik untuk metrik utama dalam tugas prakiraan.

Untuk memilih di antara mereka, perhatikan bahwa NRMSE menghukus outlier dalam data pelatihan lebih dari NMAE karena menggunakan kuadrat kesalahan. NMAE mungkin merupakan pilihan yang lebih baik jika Anda ingin model kurang sensitif terhadap outlier. Untuk informasi selengkapnya, lihat Metrik regresi dan prakiraan.

Catatan

Kami tidak merekomendasikan penggunaan skor R2, atau R2, sebagai metrik utama untuk prakiraan.

Catatan

AutoML tidak mendukung fungsi kustom atau yang disediakan pengguna untuk metrik utama. Anda harus memilih salah satu metrik utama yang telah ditentukan sebelumnya yang didukung AutoML.

Bagaimana cara meningkatkan akurasi model saya?

  • Pastikan Anda mengonfigurasi AutoML dengan cara terbaik untuk data Anda. Untuk informasi selengkapnya, lihat jawaban Konfigurasi pemodelan apa yang harus saya gunakan?
  • Lihat buku catatan resep prakiraan untuk panduan langkah demi langkah tentang cara membuat dan meningkatkan model prakiraan.
  • Evaluasi model dengan menggunakan pengujian kembali selama beberapa siklus prakiraan. Prosedur ini memberikan perkiraan kesalahan prakiraan yang lebih kuat dan memberi Anda garis besar untuk mengukur peningkatan. Misalnya, lihat buku catatan pengujian kembali.
  • Jika data berisik, pertimbangkan untuk menggabungkannya ke frekuensi kasar untuk meningkatkan rasio sinyal ke kebisingan. Untuk informasi selengkapnya, lihat Frekuensi dan agregasi data target.
  • Tambahkan fitur baru yang dapat membantu memprediksi target. Keahlian subjek dapat sangat membantu saat Anda memilih data pelatihan.
  • Bandingkan nilai metrik validasi dan pengujian, dan tentukan apakah model yang dipilih mendasar atau overfitting data. Pengetahuan ini dapat memandu Anda ke konfigurasi pelatihan yang lebih baik. Misalnya, Anda mungkin menentukan bahwa Anda perlu menggunakan lebih banyak lipatan validasi silang sebagai respons terhadap overfitting.

Apakah AutoML akan selalu memilih model terbaik yang sama dari data dan konfigurasi pelatihan yang sama?

Proses pencarian model AutoML tidak deterministik, sehingga tidak selalu memilih model yang sama dari data dan konfigurasi yang sama.

Bagaimana cara memperbaiki kesalahan di luar memori?

Ada dua jenis kesalahan memori:

  • RAM kehabisan memori
  • Disk kehabisan memori

Pertama, pastikan Anda mengonfigurasi AutoML dengan cara terbaik untuk data Anda. Untuk informasi selengkapnya, lihat jawaban Konfigurasi pemodelan apa yang harus saya gunakan?

Untuk pengaturan AutoML default, Anda dapat memperbaiki kesalahan RAM kehabisan memori dengan menggunakan simpul komputasi dengan lebih banyak RAM. Aturan umum adalah bahwa jumlah RAM gratis harus setidaknya 10 kali lebih besar dari ukuran data mentah untuk menjalankan AutoML dengan pengaturan default.

Anda dapat mengatasi kesalahan kehabisan memori disk dengan menghapus kluster komputasi dan membuat yang baru.

Skenario prakiraan tingkat lanjut apa yang didukung AutoML?

AutoML mendukung skenario prediksi tingkat lanjut berikut:

  • Prakiraan kuantil
  • Evaluasi model yang kuat melalui prakiraan bergulir
  • Prakiraan di luar cakrawala prakiraan
  • Prakiraan ketika ada kesenjangan waktu antara periode pelatihan dan prakiraan

Untuk contoh dan detailnya, lihat buku catatan untuk skenario prakiraan tingkat lanjut.

Bagaimana cara melihat metrik dari pekerjaan pelatihan prakiraan?

Untuk menemukan nilai metrik pelatihan dan validasi, lihat Menampilkan informasi tentang pekerjaan atau eksekusi di studio. Anda dapat melihat metrik untuk model prakiraan apa pun yang dilatih di AutoML dengan membuka model dari UI pekerjaan AutoML di studio dan memilih tab Metrik .

Cuplikan layar yang memperlihatkan antarmuka metrik untuk model prakiraan AutoML.

Bagaimana cara men-debug kegagalan dengan memperkirakan pekerjaan pelatihan?

Jika pekerjaan prakiraan AutoML Anda gagal, pesan kesalahan di antarmuka pengguna studio dapat membantu Anda mendiagnosis dan memperbaiki masalah. Sumber informasi terbaik tentang kegagalan di luar pesan kesalahan adalah log driver untuk pekerjaan tersebut. Untuk petunjuk tentang menemukan log driver, lihat Melihat informasi pekerjaan/eksekusi dengan MLflow.

Catatan

Untuk pekerjaan Banyak Model atau HTS, pelatihan biasanya ada pada kluster komputasi multi-simpul. Log untuk pekerjaan ini ada untuk setiap alamat IP simpul. Dalam hal ini, Anda perlu mencari log kesalahan di setiap simpul. Log kesalahan, bersama dengan log driver, berada di folder user_logs untuk setiap IP simpul.

Bagaimana cara menyebarkan model dari memperkirakan pekerjaan pelatihan?

Anda dapat menyebarkan model dari memperkirakan pekerjaan pelatihan dengan salah satu cara berikut:

  • Titik akhir online: Periksa file penilaian yang digunakan dalam penyebaran, atau pilih tab Uji pada halaman titik akhir di studio, untuk memahami struktur input yang diharapkan penyebaran. Lihat buku catatan ini sebagai contoh. Untuk informasi selengkapnya tentang penyebaran online, lihat Menyebarkan model AutoML ke titik akhir online.
  • Titik akhir batch: Metode penyebaran ini mengharuskan Anda mengembangkan skrip penilaian kustom. Lihat buku catatan ini misalnya. Untuk informasi selengkapnya tentang penyebaran batch, lihat Menggunakan titik akhir batch untuk penilaian batch.

Untuk penyebaran UI, kami mendorong Anda untuk menggunakan salah satu opsi ini:

  • Titik akhir real time
  • Titik akhir batch

Cuplikan layar opsi penyebaran untuk model prakiraan AutoML.

Jangan gunakan opsi pertama, Titik akhir real time (cepat).

Catatan

Sampai sekarang, kami tidak mendukung penyebaran model MLflow dari memperkirakan pekerjaan pelatihan melalui SDK, CLI, atau UI. Anda akan mendapatkan kesalahan jika mencobanya.

Apa itu ruang kerja, lingkungan, eksperimen, instans komputasi, atau target komputasi?

Jika Anda tidak terbiasa dengan konsep Azure Pembelajaran Mesin, mulailah dengan artikel Apa itu Azure Pembelajaran Mesin? dan Apa itu ruang kerja Azure Pembelajaran Mesin?

Langkah berikutnya