Praktik terbaik pelatihan - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik pelatihan

Ada beberapa hal yang dapat Anda lakukan untuk meningkatkan performa Neptune ML.

Pilih properti simpul yang tepat

Tidak semua properti dalam grafik Anda bermakna atau relevan dengan tugas machine learning Anda. Setiap properti yang tidak relevan harus dikecualikan selama ekspor data.

Berikut ini adalah beberapa praktik terbaik:

  • Gunakan ahli domain untuk membantu mengevaluasi pentingnya fitur dan kelayakan menggunakannya untuk prediksi.

  • Menghapus fitur yang Anda tentukan bersifat berlebihan atau tidak relevan untuk mengurangi kebisingan dalam data dan korelasi tidak penting.

  • Iterate saat Anda membangun model Anda. Sesuaikan fitur, kombinasi fitur, dan tujuan penyetelan saat Anda mengikuti.

Pemrosesan Fiturdi Panduan Developer Amazon Machine Learning menyediakan pedoman tambahan untuk pemrosesan fitur yang relevan dengan Neptune ML.

Menangani titik data outlier

Outlier adalah titik data yang berbeda secara signifikan dari data yang tersisa. Outier data dapat merusak atau menyesatkan proses pelatihan, sehingga waktu pelatihan lebih lama atau model yang kurang akurat. Kecuali outlier benar-benar penting, Anda harus menghilangkan outlier sebelum mengekspor data.

Hapus simpul dan edge duplikat

Grafik yang disimpan di Neptune mungkin memiliki simpul atau edge duplikat . Elemen yang berlebihan ini akan memperkenalkan kebisingan untuk pelatihan Model ML. Hilangkan simpul atau edge duplikat sebelum mengekspor data.

Menyetel struktur grafik

Ketika grafik diekspor, Anda dapat mengubah cara fitur diproses dan cara grafik dibangun, untuk meningkatkan performa model.

Berikut ini adalah beberapa praktik terbaik:

  • Ketika properti edge memiliki arti kategori edge, ada baiknya mengubahnya menjadi jenis edge dalam beberapa kasus.

  • Kebijakan normalisasi default yang digunakan untuk properti numerik adalah min-max, tetapi dalam beberapa kasus kebijakan normalisasi lainnya bekerja lebih baik. Anda dapat melakukan pra-proses properti dan mengubah kebijakan normalisasi seperti yang dijelaskan dalam Elemen file model-HPO-configuration.json.

  • Proses ekspor secara otomatis menghasilkan jenis fitur berdasarkan jenis properti. Sebagai contoh, itu memperlakukan properti String sebagai fitur kategoris dan properti Float dan Int sebagai fitur numerik. Jika perlu, Anda dapat mengubah jenis fitur setelah ekspor (lihat Elemen file model-HPO-configuration.json).

Menyetel rentang dan default hyperparameter

Operasi pemrosesan data menyimpulkan rentang konfigurasi hyperparameter dari grafik. Jika rentang dan default hyperparameter model yang dihasilkan tidak bekerja dengan baik untuk data grafik Anda, Anda dapat mengedit file konfigurasi HPO untuk membuat strategi penyetelan hyperparameter Anda sendiri.

Berikut ini adalah beberapa praktik terbaik:

  • Ketika grafik menjadi besar, ukuran dimensi tersembunyi default mungkin tidak cukup besar untuk berisi semua informasi. Anda dapat mengubah hyperparameter num-hidden untuk mengontrol ukuran dimensi tersembunyi.

  • Untuk model knowledge graph embedding (KGE), Anda mungkin ingin mengubah model spesifik yang digunakan sesuai dengan struktur grafik dan anggaran Anda.

    TrainsEmodel mengalami kesulitan dalam berurusan dengan one-to-many (1-N), many-to-one (N-1), dan many-to-many (N-N) hubungan. DistMultmodel mengalami kesulitan dalam berurusan dengan hubungan simetris. RotatEpandai memodelkan semua jenis hubungan tetapi lebih mahal daripadaTrainsE danDistMult selama pelatihan.

  • Dalam beberapa kasus, ketika identifikasi simpul dan informasi fitur simpul penting, Anda harus menggunakan `concat-node-embed` untuk memberitahu model Neptune ML untuk mendapatkan representasi awal dari simpul dengan menggabungkan fitur-fiturnya dengan penanaman awalnya.

  • Ketika Anda mendapatkan performa yang cukup baik atas beberapa hyperparameters, Anda dapat menyesuaikan ruang pencarian hyperparameter sesuai dengan hasil tersebut.

Penghentian awal proses pelatihan model di Neptune

Penghentian awal dapat secara signifikan mengurangi waktu berjalan pelatihan model dan biaya terkait tanpa menurunkan kinerja model. Ini juga mencegah model dari overfitting pada data pelatihan.

Penghentian awal tergantung pada pengukuran reguler kinerja yang ditetapkan validasi. Awalnya, kinerja meningkat seiring dengan hasil pelatihan, tetapi ketika model mulai overfitting, itu mulai menurun lagi. Fitur penghentian awal mengidentifikasi titik di mana model mulai overfitting dan menghentikan pelatihan model pada saat itu.

Neptune MLmemonitor panggilan metrik validasi dan membandingkan metrik validasi terbaru dengan rata-rata metrik validasi selama nevaluasi terakhir, di mana nangka ditetapkan menggunakanwindow-for-early-stop parameter. Segera setelah metrik validasi lebih buruk dari rata-rata itu, Neptune MLmenghentikan pelatihan model dan menyimpan model terbaik sejauh ini.

Anda dapat mengontrol berhenti lebih awal menggunakan parameter berikut ini:

  • window-for-early-stop- Nilai parameter ini adalah bilangan bulat yang menentukan jumlah skor validasi terbaru menjadi rata-rata saat memutuskan pemberhentian awal. Nilai default-nya adalah 3.

  • enable-early-stop- Gunakan parameter Boolean ini untuk mematikan fitur berhenti awal. Secara default, nilainya adalahtrue.

Penghentian awal proses HPO di Neptune

Fitur berhenti awal di Neptune MLjuga menghentikan pekerjaan pelatihan yang tidak berkinerja baik dibandingkan dengan pekerjaan pelatihan lainnya, menggunakan fitur mulai hangat SageMaker HPO. Ini juga dapat mengurangi biaya dan meningkatkan kualitas HPO.

Lihat Jalankan pekerjaan penyetelan hyperparameter awal yang hangat untuk deskripsi tentang cara kerjanya.

Mulai yang hangat memberikan kemampuan untuk menyampaikan informasi yang dipelajari dari pekerjaan pelatihan sebelumnya ke pekerjaan pelatihan berikutnya dan memberikan dua manfaat berbeda:

  • Pertama, hasil pekerjaan pelatihan sebelumnya digunakan untuk memilih kombinasi hyperparameter yang baik untuk dicari dalam pekerjaan penyetelan baru.

  • Kedua, memungkinkan penghentian awal untuk mengakses lebih banyak model berjalan, yang mengurangi waktu penyetelan.

Fitur ini diaktifkan secara otomatis di Neptune ML, dan memungkinkan Anda mencapai keseimbangan antara waktu pelatihan model dan kinerja. Jika Anda puas dengan kinerja model saat ini, Anda dapat menggunakan model itu. Jika tidak, Anda menjalankan lebih banyak HPO yang hangat dimulai dengan hasil lari sebelumnya untuk menemukan model yang lebih baik.

Dapatkan layanan dukungan profesional

AWS menawarkan layanan dukungan profesional untuk membantu Anda dengan masalah dalam machine learning Anda pada proyek Neptune. Jika Anda terjebak, hubungi dukungan AWS.