View a markdown version of this page

Debugger demo dan visualisasi lanjutan - Amazon SageMaker AI

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

Debugger demo dan visualisasi lanjutan

catatan

Amazon SageMaker Debugger tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan seperti biasa. AWS terus berinvestasi dalam peningkatan keamanan dan ketersediaan untuk Debugger, tetapi kami tidak berencana untuk memperkenalkan fitur baru. Untuk informasi selengkapnya, lihat Perubahan ketersediaan debugger.

Demo berikut memandu Anda melalui kasus penggunaan lanjutan dan skrip visualisasi menggunakan Debugger.

Pelatihan dan pemangkasan model dengan Amazon SageMaker Experiments and Debugger

Dr. Nathalie Rauschmayr, Ilmuwan Terapan | Dur AWS asi: 49 menit 26 detik

Cari tahu bagaimana Amazon SageMaker Experiments and Debugger dapat menyederhanakan pengelolaan pekerjaan pelatihan Anda. Amazon SageMaker Debugger memberikan visibilitas transparan ke dalam pekerjaan pelatihan dan menyimpan metrik pelatihan ke bucket Amazon S3 Anda. SageMaker Eksperimen memungkinkan Anda untuk menyebut informasi pelatihan sebagai uji coba melalui SageMaker Studio dan mendukung visualisasi pekerjaan pelatihan. Ini membantu Anda menjaga kualitas model tetap tinggi sambil mengurangi parameter yang kurang penting berdasarkan peringkat kepentingan.

Video ini menunjukkan teknik pemangkasan model yang membuat model ResNet 50 dan AlexNet model yang telah dilatih sebelumnya lebih ringan dan terjangkau sambil menjaga standar tinggi untuk akurasi model.

SageMaker AI ModelTrainer melatih algoritme yang disediakan dari kebun binatang PyTorch model dalam AWS Deep Learning Containers dengan PyTorch kerangka kerja, dan Debugger mengekstrak metrik pelatihan dari proses pelatihan.

Video ini juga menunjukkan cara menyiapkan aturan khusus Debugger untuk menonton keakuratan model yang dipangkas, untuk memicu CloudWatch peristiwa Amazon dan AWS Lambda fungsi ketika akurasi mencapai ambang batas, dan untuk secara otomatis menghentikan proses pemangkasan untuk menghindari iterasi yang berlebihan.

Tujuan pembelajaran adalah sebagai berikut:

  • Pelajari cara menggunakan SageMaker AI untuk mempercepat pelatihan model ML dan meningkatkan kualitas model.

  • Pahami cara mengelola iterasi pelatihan dengan SageMaker Eksperimen dengan menangkap parameter input, konfigurasi, dan hasil secara otomatis.

  • Temukan bagaimana Debugger membuat proses pelatihan transparan dengan secara otomatis menangkap data tensor real-time dari metrik seperti bobot, gradien, dan keluaran aktivasi jaringan saraf konvolusional.

  • Gunakan CloudWatch untuk memicu Lambda saat Debugger menangkap masalah.

  • Kuasai proses SageMaker pelatihan menggunakan SageMaker Eksperimen dan Debugger.

Anda dapat menemukan buku catatan dan skrip pelatihan yang digunakan dalam video ini dari SageMaker Debugger PyTorch Iterative Model Pruning.

Gambar berikut menunjukkan bagaimana proses pemangkasan model berulang mengurangi ukuran AlexNet dengan memotong 100 filter yang paling tidak signifikan berdasarkan peringkat kepentingan yang dievaluasi oleh keluaran dan gradien aktivasi.

Proses pemangkasan mengurangi 50 juta parameter awal menjadi 18 juta. Ini juga mengurangi perkiraan ukuran model dari 201 MB menjadi 73 MB.

Gambar yang berisi visualisasi keluaran hasil pemangkasan model.

Anda juga perlu melacak akurasi model, dan gambar berikut menunjukkan bagaimana Anda dapat memplot proses pemangkasan model untuk memvisualisasikan perubahan akurasi model berdasarkan jumlah parameter di SageMaker Studio.

Gambar visualisasi tensor menggunakan Debugger di SageMaker Studio.

Di SageMaker Studio, pilih tab Eksperimen, pilih daftar tensor yang disimpan oleh Debugger dari proses pemangkasan, lalu buat panel Daftar Komponen U ji Coba. Pilih semua sepuluh iterasi dan kemudian pilih Tambahkan bagan untuk membuat Bagan Komponen U ji Coba. Setelah Anda memutuskan model yang akan digunakan, pilih komponen uji coba dan pilih menu untuk melakukan tindakan atau pilih Deplo y model.

catatan

Untuk menerapkan model melalui SageMaker Studio menggunakan contoh buku catatan berikut, tambahkan baris di akhir train fungsi dalam train.py skrip.

# In the train.py script, look for the train function in line 58. def train(epochs, batch_size, learning_rate): ... print('acc:{:.4f}'.format(correct/total)) hook.save_scalar("accuracy", correct/total, sm_metric=True) # Add the following code to line 128 of the train.py script to save the pruned models # under the current SageMaker Studio model directory torch.save(model.state_dict(), os.environ['SM_MODEL_DIR'] + '/model.pt')

Menggunakan SageMaker Debugger untuk memantau pelatihan model autoencoder konvolusional

Buku catatan ini menunjukkan bagaimana SageMaker Debugger memvisualisasikan tensor dari proses pembelajaran yang tidak diawasi (atau diawasi sendiri) pada kumpulan data gambar MNIST dari angka tulisan tangan.

Model pelatihan di notebook ini adalah autoencoder konvolusional dengan kerangka kerja MXnet. Autoencoder konvolusional memiliki jaringan saraf konvolusional berbentuk kemacetan yang terdiri dari bagian encoder dan bagian decoder.

Encoder dalam contoh ini memiliki dua lapisan konvolusi untuk menghasilkan representasi terkompresi (variabel laten) dari gambar input. Dalam hal ini, encoder menghasilkan variabel laten ukuran (1, 20) dari gambar input asli ukuran (28, 28) dan secara signifikan mengurangi ukuran data untuk pelatihan sebanyak 40 kali.

Dekoder memiliki dua lapisan dekonvolusi dan memastikan bahwa variabel laten mempertahankan informasi kunci dengan merekonstruksi gambar keluaran.

Encoder konvolusional mendukung algoritma pengelompokan dengan ukuran data input yang lebih kecil dan kinerja algoritma pengelompokan seperti k-mean, k-NN, dan T-Stochastic Neighbor Embedding (t-SNE).

Contoh buku catatan ini menunjukkan bagaimana memvisualisasikan variabel laten menggunakan Debugger, seperti yang ditunjukkan dalam animasi berikut. Ini juga menunjukkan bagaimana algoritma t-SNE mengklasifikasikan variabel laten menjadi sepuluh cluster dan memproyeksikannya ke dalam ruang dua dimensi. Skema warna plot pencar di sisi kanan gambar mencerminkan nilai sebenarnya untuk menunjukkan seberapa baik model BERT dan algoritma t-SNE mengatur variabel laten ke dalam cluster.

Gambar konseptual autoencoder konvolusional.

Menggunakan SageMaker Debugger untuk memantau perhatian dalam pelatihan model BERT

Representasi Encode Bidirectional dari Transformers (BERT) adalah model representasi bahasa. Seperti yang dicerminkan oleh nama model, model BERT dibangun di atas pembelajaran transfer dan model Transformer untuk pemrosesan bahasa alami (NLP).

Model BERT dilatih sebelumnya pada tugas-tugas tanpa pengawasan seperti memprediksi kata-kata yang hilang dalam kalimat atau memprediksi kalimat berikutnya yang secara alami mengikuti kalimat sebelumnya. Data pelatihan berisi 3,3 miliar kata (token) teks bahasa Inggris, dari sumber-sumber seperti Wikipedia dan buku elektronik. Sebagai contoh sederhana, model BERT dapat memberikan perhatian tinggi pada token kata kerja yang sesuai atau token kata ganti dari token subjek.

Model BERT yang telah dilatih sebelumnya dapat disesuaikan dengan lapisan keluaran tambahan untuk mencapai pelatihan model canggih dalam tugas-tugas NLP, seperti tanggapan otomatis terhadap pertanyaan, klasifikasi teks, dan banyak lainnya.

Debugger mengumpulkan tensor dari proses fine tuning. Dalam konteks NLP, berat neuron disebut perhatian.

Buku catatan ini menunjukkan cara menggunakan model BERT yang telah dilatih sebelumnya dari kebun binatang model GluonNLP pada dataset Stanford Question and Answering dan cara mengatur SageMaker Debugger untuk memantau pekerjaan pelatihan.

Merencanakan skor perhatian dan neuron individu dalam kueri dan vektor kunci dapat membantu mengidentifikasi penyebab prediksi model yang salah. Dengan SageMaker AI Debugger, Anda dapat mengambil tensor dan memplot tampilan kepala perhatian secara real time saat pelatihan berlangsung dan memahami apa yang dipelajari model.

Animasi berikut menunjukkan skor perhatian dari 20 token input pertama untuk sepuluh iterasi dalam pekerjaan pelatihan yang disediakan dalam contoh buku catatan.

Animasi skor perhatian.

Menggunakan SageMaker Debugger untuk memvisualisasikan peta aktivasi kelas dalam jaringan saraf konvolusional (CNN)

Buku catatan ini menunjukkan cara menggunakan SageMaker Debugger untuk memplot peta aktivasi kelas untuk deteksi dan klasifikasi gambar dalam jaringan saraf konvolusional (CNN). Dalam pembelajaran mendalam, jaringan saraf konvolusional (CNN atau ConvNet) adalah kelas jaringan saraf dalam, yang paling sering diterapkan untuk menganalisis citra visual. Salah satu aplikasi yang mengadopsi peta aktivasi kelas adalah mobil self-driving, yang memerlukan deteksi instan dan klasifikasi gambar seperti rambu lalu lintas, jalan, dan rintangan.

Dalam buku catatan ini, PyTorch ResNet model dilatih pada Dataset Rambu Lalu Lint as Jerman, yang berisi lebih dari 40 kelas objek terkait lalu lintas dan total lebih dari 50.000 gambar.

Animasi peta aktivasi kelas CNN.

Selama proses pelatihan, SageMaker Debugger mengumpulkan tensor untuk memplot peta aktivasi kelas secara real time. Seperti yang ditunjukkan pada gambar animasi, peta aktivasi kelas (juga disebut sebagai peta saliency) menyoroti daerah dengan aktivasi tinggi dalam warna merah.

Menggunakan tensor yang ditangkap oleh Debugger, Anda dapat memvisualisasikan bagaimana peta aktivasi berkembang selama pelatihan model. Model dimulai dengan mendeteksi tepi di sudut kiri bawah di awal pekerjaan pelatihan. Saat pelatihan berlangsung, fokus bergeser ke tengah dan mendeteksi tanda batas kecepatan, dan model berhasil memprediksi gambar input sebagai Kelas 3, yang merupakan kelas 60km/h tanda batas kecepatan, dengan tingkat kepercayaan 97%.