Model transformator berbasis perhatian besar telah memperoleh keuntungan besar pada pemrosesan bahasa alami (NLP). Namun, melatih jaringan raksasa ini dari awal membutuhkan sejumlah besar data dan komputasi. Untuk kumpulan data NLP yang lebih kecil, strategi yang sederhana namun efektif adalah dengan menggunakan transformator yang telah dilatih sebelumnya, biasanya dilatih dengan cara tanpa pengawasan pada kumpulan data yang sangat besar, dan menyempurnakannya pada kumpulan data yang diinginkan. Wajah Memeluk memelihara kebun binatang model besar dari transformator pra-terlatih ini dan membuatnya mudah diakses bahkan untuk pengguna pemula.
Namun, menyempurnakan model ini masih memerlukan pengetahuan ahli, karena mereka cukup sensitif terhadap hyperparameternya, seperti kecepatan pembelajaran atau ukuran batch. Dalam posting ini, kami menunjukkan cara mengoptimalkan hyperparameter ini dengan kerangka kerja sumber terbuka Lagu Sine untuk optimasi hyperparameter terdistribusi (HPO). Syne Tune memungkinkan kita untuk menemukan konfigurasi hyperparameter yang lebih baik yang mencapai peningkatan relatif antara 1-4% dibandingkan dengan hyperparameter default pada populer LEM kumpulan data tolok ukur. Pilihan model pra-terlatih itu sendiri juga dapat dianggap sebagai hyperparameter dan oleh karena itu dipilih secara otomatis oleh Syne Tune. Pada masalah klasifikasi teks, ini mengarah pada peningkatan akurasi tambahan sekitar 5% dibandingkan dengan model default. Namun, kami dapat mengotomatiskan lebih banyak keputusan yang perlu dibuat pengguna; kami mendemonstrasikan ini dengan juga mengekspos tipe instance sebagai hyperparameter yang kemudian kami gunakan untuk menerapkan model. Dengan memilih jenis instans yang tepat, kami dapat menemukan konfigurasi yang secara optimal menghemat biaya dan latensi.
Untuk pengenalan Syne Tune silakan merujuk ke Jalankan pekerjaan penyetelan hyperparameter dan arsitektur saraf terdistribusi dengan Syne Tune.
Optimalisasi hyperparameter dengan Syne Tune
Kami akan menggunakan LEM benchmark suite, yang terdiri dari sembilan set data untuk tugas pemahaman bahasa alami, seperti pengenalan entailment tekstual atau analisis sentimen. Untuk itu, kami mengadaptasi Hugging Face's jalankan_glue.py naskah pelatihan. Set data GLUE dilengkapi dengan set pelatihan dan evaluasi yang telah ditentukan sebelumnya dengan label serta set uji tahan tanpa label. Oleh karena itu, kami membagi set pelatihan menjadi set pelatihan dan validasi (pembagian 70%/30%) dan menggunakan set evaluasi sebagai set data uji ketidaksepakatan kami. Selanjutnya, kami menambahkan fungsi callback lain ke Hugging Face's Trainer API yang melaporkan kinerja validasi setelah setiap epoch kembali ke Syne Tune. Lihat kode berikut:
Kami mulai dengan mengoptimalkan hiperparameter pelatihan tipikal: kecepatan pembelajaran, rasio pemanasan untuk meningkatkan kecepatan pembelajaran, dan ukuran batch untuk menyempurnakan BERT yang telah dilatih sebelumnya (kasus bert-base), yang merupakan model default dalam contoh Memeluk Wajah. Lihat kode berikut:
Sebagai metode HPO kami, kami menggunakan ASHA, yang mengambil sampel konfigurasi hyperparameter secara seragam secara acak dan secara berulang menghentikan evaluasi konfigurasi yang berkinerja buruk. Meskipun metode yang lebih canggih menggunakan model probabilistik dari fungsi tujuan, seperti BO atau MoBster ada, kami menggunakan ASHA untuk posting ini karena datang tanpa asumsi pada ruang pencarian.
Pada gambar berikut, kami membandingkan peningkatan relatif dalam kesalahan pengujian atas konfigurasi hyperparameter default Hugging Faces.
Untuk kesederhanaan, kami membatasi perbandingan untuk MRPC, COLA, dan STSB, tetapi kami juga mengamati peningkatan serupa juga untuk kumpulan data GLUE lainnya. Untuk setiap kumpulan data, kami menjalankan ASHA pada satu ml.g4dn.xlarge Amazon SageMaker instance dengan anggaran runtime 1,800 detik, yang sesuai dengan sekitar 13, 7, dan 9 evaluasi fungsi penuh pada set data ini, masing-masing. Untuk menjelaskan keacakan intrinsik dari proses pelatihan, misalnya yang disebabkan oleh pengambilan sampel mini-batch, kami menjalankan ASHA dan konfigurasi default untuk lima pengulangan dengan seed independen untuk generator nomor acak dan melaporkan rata-rata dan standar deviasi dari perbaikan relatif di seluruh pengulangan. Kami dapat melihat bahwa, di semua kumpulan data, kami sebenarnya dapat meningkatkan kinerja prediktif sebesar 1-3% relatif terhadap kinerja konfigurasi default yang dipilih dengan cermat.
Otomatis memilih model yang sudah terlatih
Kita dapat menggunakan HPO untuk tidak hanya menemukan hyperparameter, tetapi juga secara otomatis memilih model pra-latihan yang tepat. Mengapa kita ingin melakukan ini? Karena tidak ada satu model pun yang berkinerja lebih baik di semua kumpulan data, kita harus memilih model yang tepat untuk kumpulan data tertentu. Untuk menunjukkan hal ini, kami mengevaluasi berbagai model transformator populer dari Hugging Face. Untuk setiap kumpulan data, kami memberi peringkat setiap model berdasarkan kinerja pengujiannya. Peringkat di seluruh kumpulan data (lihat Gambar berikut) berubah dan tidak ada satu model pun yang mendapat skor tertinggi pada setiap kumpulan data. Sebagai referensi, kami juga menunjukkan kinerja pengujian absolut dari setiap model dan kumpulan data pada gambar berikut.
Untuk memilih model yang tepat secara otomatis, kita dapat memilih model sebagai parameter kategoris dan menambahkan ini ke ruang pencarian hyperparameter kita:
Meskipun ruang pencarian sekarang lebih besar, itu tidak berarti lebih sulit untuk dioptimalkan. Gambar berikut menunjukkan kesalahan pengujian konfigurasi terbaik yang diamati (berdasarkan kesalahan validasi) pada dataset MRPC ASHA dari waktu ke waktu ketika kami mencari di ruang asli (garis biru) (dengan model pra-pelatihan berbasis BERT ) atau di ruang pencarian baru yang ditambah (garis oranye). Dengan anggaran yang sama, ASHA mampu menemukan konfigurasi hyperparameter berkinerja jauh lebih baik di ruang pencarian yang diperluas daripada di ruang yang lebih kecil.
Otomatis memilih jenis instans
Dalam praktiknya, kami mungkin tidak hanya peduli dengan mengoptimalkan kinerja prediktif. Kami mungkin juga peduli dengan tujuan lain, seperti waktu pelatihan, biaya (dolar), latensi, atau metrik keadilan. Kita juga perlu membuat pilihan lain di luar hyperparameter model, misalnya memilih tipe instans.
Meskipun jenis instans tidak memengaruhi kinerja prediktif, hal itu sangat memengaruhi biaya (dolar), waktu proses pelatihan, dan latensi. Yang terakhir menjadi sangat penting ketika model dikerahkan. Kami dapat menyatakan HPO sebagai masalah optimasi multi-tujuan, di mana kami bertujuan untuk mengoptimalkan beberapa tujuan secara bersamaan. Namun, tidak ada solusi tunggal yang mengoptimalkan semua metrik secara bersamaan. Sebagai gantinya, kami bertujuan untuk menemukan satu set konfigurasi yang secara optimal menukar satu tujuan vs. yang lain. Ini disebut set pareto.
Untuk menganalisis pengaturan ini lebih lanjut, kami menambahkan pilihan jenis instans sebagai hyperparameter kategoris tambahan ke ruang pencarian kami:
Kami menggunakan MO-ASHA, yang mengadaptasi ASHA ke skenario multi-tujuan dengan menggunakan penyortiran yang tidak didominasi. Dalam setiap iterasi, MO-ASHA juga memilih untuk setiap konfigurasi serta jenis instance yang ingin kita evaluasi. Untuk menjalankan HPO pada serangkaian instans yang heterogen, Syne Tune menyediakan backend SageMaker. Dengan backend ini, setiap uji coba dievaluasi sebagai tugas pelatihan SageMaker independen pada instansnya sendiri. Jumlah pekerja menentukan berapa banyak pekerjaan SageMaker yang kami jalankan secara paralel pada waktu tertentu. Pengoptimal itu sendiri, MO-ASHA dalam kasus kami, berjalan baik di mesin lokal, notebook Sagemaker, atau pada tugas pelatihan SageMaker yang terpisah. Lihat kode berikut:
Gambar berikut menunjukkan latensi vs kesalahan pengujian di sebelah kiri dan latensi vs biaya di sebelah kanan untuk konfigurasi acak yang diambil sampelnya oleh MO-ASHA (kami membatasi sumbu untuk visibilitas) pada set data MRPC setelah menjalankannya selama 10,800 detik pada empat pekerja. Warna menunjukkan jenis instans. Garis hitam putus-putus mewakili himpunan Pareto, yang berarti kumpulan titik yang mendominasi semua titik lain setidaknya dalam satu tujuan.
Kita dapat mengamati trade-off antara latensi dan kesalahan pengujian, yang berarti konfigurasi terbaik dengan kesalahan pengujian terendah tidak mencapai latensi terendah. Berdasarkan preferensi Anda, Anda dapat memilih konfigurasi hyperparameter yang mengorbankan kinerja pengujian tetapi dilengkapi dengan latensi yang lebih kecil. Kami juga melihat trade off antara latensi dan biaya. Dengan menggunakan instans ml.g4dn.xlarge yang lebih kecil, misalnya, kami hanya sedikit meningkatkan latensi, tetapi membayar seperempat dari biaya instans ml.g4dn.8xlarge.
Kesimpulan
Dalam posting ini, kami membahas optimasi hyperparameter untuk fine-tuning model transformator terlatih dari Hugging Face berdasarkan Syne Tune. Kami melihat bahwa dengan mengoptimalkan hyperparameter seperti kecepatan pembelajaran, ukuran batch, dan rasio pemanasan, kami dapat meningkatkan konfigurasi default yang dipilih dengan cermat. Kami juga dapat memperluas ini dengan secara otomatis memilih model yang telah dilatih sebelumnya melalui optimasi hyperparameter.
Dengan bantuan backend SageMaker Syne Tune, kita dapat memperlakukan tipe instans sebagai hyperparameter. Meskipun jenis instans tidak memengaruhi performa, namun memiliki dampak signifikan pada latensi dan biaya. Oleh karena itu, dengan menggunakan HPO sebagai masalah pengoptimalan multi-tujuan, kami dapat menemukan serangkaian konfigurasi yang secara optimal menukar satu tujuan vs. yang lain. Jika Anda ingin mencobanya sendiri, lihat kami contoh notebook.
Tentang Penulis
Harun Klein adalah Ilmuwan Terapan di AWS.
Matias Seeger adalah Ilmuwan Terapan Utama di AWS.
David Salina adalah Ilmuwan Terapan Senior di AWS.
Emily Webber bergabung dengan AWS tepat setelah SageMaker diluncurkan, dan telah mencoba memberi tahu dunia tentang hal itu sejak saat itu! Di luar membangun pengalaman ML baru untuk pelanggan, Emily menikmati bermeditasi dan mempelajari Buddhisme Tibet.
Cedric Archambeau adalah Ilmuwan Terapan Utama di AWS dan Anggota Lab Eropa untuk Pembelajaran dan Sistem Cerdas.
- Coinsmart. Pertukaran Bitcoin dan Crypto Terbaik Eropa.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. AKSES GRATIS.
- CryptoHawk. Radar Altcoin. Uji Coba Gratis.
- Sumber: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- Tentang Kami
- Mutlak
- dapat diakses
- Akun
- Mencapai
- di seluruh
- Tambahan
- mempengaruhi
- Semua
- memungkinkan
- Meskipun
- Amazon
- jumlah
- analisis
- menganalisa
- Lain
- api
- terapan
- sekitar
- arsitektur
- ditambah
- mengotomatisasikan
- secara otomatis
- rata-rata
- AWS
- Sumbu
- karena
- patokan
- TERBAIK
- Lebih baik
- antara
- Luar
- Black
- pin
- mendorong
- anggaran belanja
- Bangunan
- yang
- kasus
- disebabkan
- pilihan
- pilihan
- terpilih
- kelas
- klasifikasi
- kode
- bagaimana
- dibandingkan
- menghitung
- konfigurasi
- kontrol
- pelanggan
- data
- keputusan
- mendemonstrasikan
- menyebarkan
- dikerahkan
- didistribusikan
- Tidak
- Dolar
- setiap
- mudah
- Efektif
- Eropa
- mengevaluasi
- evaluasi
- contoh
- Pengalaman
- ahli
- memperpanjang
- Menghadapi
- Fashion
- Angka
- berikut
- Kerangka
- dari
- penuh
- fungsi
- lebih lanjut
- Selanjutnya
- generator
- membantu
- di sini
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTTPS
- Dampak
- penting
- memperbaiki
- perbaikan
- Meningkatkan
- independen
- mempengaruhi
- contoh
- Cerdas
- bunga
- IT
- Diri
- Pekerjaan
- Jobs
- bergabung
- pengetahuan
- laboratorium
- Label
- bahasa
- besar
- lebih besar
- diluncurkan
- Memimpin
- pengetahuan
- MEMBATASI
- baris
- lokal
- mesin
- membuat
- MEMBUAT
- besar-besaran
- makna
- metode
- Metrik
- mungkin
- ML
- model
- model
- lebih
- beberapa
- Alam
- perlu
- kebutuhan
- jaringan
- buku catatan
- jumlah
- target
- diperoleh
- optimasi
- Optimize
- mengoptimalkan
- asli
- Lainnya
- sendiri
- khususnya
- Membayar
- prestasi
- melakukan
- silahkan
- poin
- Populer
- praktek
- Utama
- Masalah
- proses
- pengolahan
- menyediakan
- jarak
- Peringkat
- melaporkan
- reporter
- laporan
- merupakan
- membutuhkan
- Hasil
- Run
- berjalan
- sama
- ilmuwan
- Pencarian
- detik
- benih
- terpilih
- sentimen
- set
- pengaturan
- Menunjukkan
- penting
- mirip
- Sederhana
- tunggal
- Ukuran
- larutan
- mutakhir
- Space
- tertentu
- membagi
- standar
- awal
- Negara
- Masih
- Penyelarasan
- sistem
- tugas
- uji
- Grafik
- Dunia
- karena itu
- waktu
- perdagangan
- Pelatihan
- mengobati
- dahsyat
- percobaan
- pemahaman
- us
- menggunakan
- Pengguna
- biasanya
- Penggunaan
- pengesahan
- jarak penglihatan
- Wikipedia
- tanpa
- pekerja
- dunia
- Anda