Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontainer Docker untuk melatih dan menerapkan model
Amazon SageMaker menggunakan kontainer Docker secara ekstensif untuk tugas build dan runtime. SageMaker menyediakan gambar Docker pra-bangun untuk algoritme bawaannya dan kerangka kerja pembelajaran mendalam yang didukung yang digunakan untuk pelatihan dan inferensi. Dengan menggunakan kontainer, Anda dapat melatih algoritme pembelajaran mesin dan menerapkan model dengan cepat dan andal pada skala apa pun. Topik di bagian ini menunjukkan cara menerapkan kontainer ini untuk kasus penggunaan Anda sendiri. Untuk informasi tentang cara membawa kontainer Anda sendiri untuk digunakan dengan Amazon SageMaker Studio Classic, lihatBawa SageMaker gambar Anda sendiri.
Topik
- Skenario untuk Menjalankan Skrip, Algoritma Pelatihan, atau Menerapkan Model dengan SageMaker
- Docker dasar-dasar kontainer
- Gambar SageMaker Docker yang sudah dibuat sebelumnya
- Wadah Docker khusus dengan SageMaker
- Pembuatan kontainer dengan algoritme dan model Anda sendiri
- Contoh dan Informasi Lebih Lanjut: Gunakan Algoritma atau Model Anda Sendiri
- Memecahkan masalah Anda Docker kontainer dan penyebaran
Skenario untuk Menjalankan Skrip, Algoritma Pelatihan, atau Menerapkan Model dengan SageMaker
Amazon SageMaker selalu menggunakan kontainer Docker saat menjalankan skrip, algoritma pelatihan, dan menerapkan model. Tingkat keterlibatan Anda dengan kontainer tergantung pada kasus penggunaan Anda.
Pohon keputusan berikut mengilustrasikan tiga skenario utama: Kasus penggunaan untuk menggunakan wadah Docker yang sudah dibuat sebelumnya dengan SageMaker; Gunakan kasus untuk memperluas wadah Docker yang sudah dibuat sebelumnya; Kasus penggunaan untuk membangun wadah Anda sendiri.
Topik
Gunakan kasus untuk menggunakan wadah Docker yang sudah dibuat sebelumnya dengan SageMaker
Pertimbangkan kasus penggunaan berikut saat menggunakan wadah dengan SageMaker:
-
SageMaker Algoritma pra-dibangun - Gunakan gambar yang disertakan dengan algoritma bawaan. Lihat Menggunakan Algoritma SageMaker Bawaan Amazon atau Model Pra-terlatih untuk informasi selengkapnya.
-
Model kustom dengan SageMaker kontainer pra-bangun - Jika Anda melatih atau menerapkan model kustom, tetapi menggunakan kerangka kerja yang memiliki SageMaker wadah pra-bangun termasuk TensorFlow dan PyTorch, pilih salah satu opsi berikut:
-
Jika Anda tidak memerlukan paket khusus, dan wadah sudah menyertakan semua paket yang diperlukan: Gunakan gambar Docker pra-bangun yang terkait dengan kerangka kerja Anda. Untuk informasi selengkapnya, lihat Gambar SageMaker Docker yang sudah dibuat sebelumnya.
-
Jika Anda memerlukan paket khusus yang diinstal ke salah satu kontainer yang sudah dibuat sebelumnya: Konfirmasikan bahwa image Docker yang sudah dibuat sebelumnya mengizinkan file requirements.txt, atau perluas wadah yang sudah dibuat sebelumnya berdasarkan kasus penggunaan berikut.
-
Kasus penggunaan untuk memperluas wadah Docker yang sudah dibuat sebelumnya
Berikut ini adalah kasus penggunaan untuk memperluas wadah Docker yang sudah dibuat sebelumnya:
-
Anda tidak dapat mengimpor dependensi — Perluas image Docker pra-bangun yang terkait dengan kerangka kerja Anda. Untuk informasi selengkapnya, lihat Perluas Kontainer Pra-dibangun.
-
Anda tidak dapat mengimpor dependensi dalam wadah pra-bangun dan wadah pra-bangun mendukung requirements.txt - Tambahkan semua dependensi yang diperlukan di requirements.txt. Kerangka kerja berikut mendukung menggunakan requirements.txt.
Kasus penggunaan untuk membangun wadah Anda sendiri
Jika Anda membuat atau melatih model kustom dan memerlukan kerangka kerja khusus yang tidak memiliki gambar yang dibuat sebelumnya, buat wadah khusus.
Sebagai contoh kasus penggunaan pelatihan dan penerapan TensorFlow model, panduan berikut menunjukkan cara menentukan opsi mana dari bagian kasus Penggunaan sebelumnya yang cocok dengan kasus tersebut.
Asumsikan bahwa Anda memiliki persyaratan berikut untuk pelatihan dan penerapan TensorFlow model.
-
TensorFlow Model adalah model khusus.
-
Karena TensorFlow model akan dibangun dalam TensorFlow kerangka kerja, gunakan wadah kerangka kerja TensorFlow pra-bangun untuk melatih dan meng-host model.
-
Jika Anda memerlukan paket khusus baik dalam skrip entrypoint
atau skrip inferensi Anda, perluas wadah pra-bangun atau gunakan file requirements.txt untuk menginstal dependensi saat runtime.
Setelah Anda menentukan jenis wadah yang Anda butuhkan, daftar berikut memberikan rincian tentang opsi yang tercantum sebelumnya.
-
Gunakan SageMaker algoritma atau kerangka kerja bawaan. Untuk sebagian besar kasus penggunaan, Anda dapat menggunakan algoritme dan kerangka kerja bawaan tanpa mengkhawatirkan kontainer. Anda dapat melatih dan menerapkan algoritme ini dari SageMaker konsol, AWS Command Line Interface (AWS CLI), notebook Python, atau Amazon Python. SageMaker SDK
Anda dapat melakukannya dengan menentukan algoritme atau versi kerangka kerja saat membuat Estimator Anda. Algoritma bawaan yang tersedia diperinci dan dijelaskan dalam topik. Algoritma bawaan dan model yang telah dilatih sebelumnya di Amazon SageMaker Untuk informasi selengkapnya tentang kerangka kerja yang tersedia, lihatKerangka Kerja dan Bahasa. Untuk contoh cara melatih dan menerapkan algoritma bawaan menggunakan notebook Jupyter yang berjalan di instance SageMaker notebook, lihat topiknya. Panduan untuk mengatur dengan Amazon SageMaker -
Gunakan gambar SageMaker kontainer yang sudah dibuat sebelumnya. Atau, Anda dapat menggunakan algoritme dan kerangka kerja bawaan menggunakan kontainer Docker. SageMaker menyediakan wadah untuk algoritme bawaan dan gambar Docker yang dibuat sebelumnya untuk beberapa kerangka kerja pembelajaran mesin yang paling umum, seperti ApacheMXNet,,, dan Chainer. TensorFlow PyTorch Untuk daftar lengkap Gambar yang tersedia, lihat SageMaker Gambar Deep Learning Containers yang Tersedia
. Ini juga mendukung perpustakaan pembelajaran mesin seperti scikit-learn dan SparkMl. Jika Anda menggunakan Amazon SageMaker Python SDK , Anda dapat menerapkan kontainer dengan meneruskan kontainer penuh URI ke kelasnya masing-masing. SageMaker SDK Estimator
Untuk daftar lengkap kerangka kerja pembelajaran mendalam yang saat ini didukung oleh SageMaker, lihatGambar SageMaker Docker bawaan untuk pembelajaran mendalam. Untuk informasi tentang gambar kontainer pra-bangun scikit-learn dan SparkMl, lihat. Mengakses Gambar Docker untuk Scikit-learn dan Spark ML Untuk informasi selengkapnya tentang penggunaan framework dengan Amazon SageMaker SDK Python, lihat topiknya masing-masing di. Kerangka Kerja dan Bahasa Machine Learning -
Perluas gambar SageMaker kontainer yang sudah dibuat sebelumnya. Jika Anda ingin memperluas SageMaker algoritma pra-bangun atau memodelkan gambar Docker, Anda dapat memodifikasi SageMaker gambar untuk memenuhi kebutuhan Anda. Sebagai contoh, lihat Memperluas PyTorch kontainer kami
. -
Menyesuaikan gambar kontainer yang ada: Jika Anda ingin mengadaptasi gambar kontainer yang sudah ada sebelumnya untuk dikerjakan SageMaker, Anda harus memodifikasi wadah Docker untuk mengaktifkan toolkit SageMaker Pelatihan atau Inferensi. Untuk contoh yang menunjukkan cara membuat kontainer Anda sendiri untuk melatih dan menghosting algoritme, lihat Membawa Algoritma R Anda Sendiri
.
Memecahkan masalah Anda Docker kontainer dan penyebaran
Berikut ini adalah kesalahan umum yang mungkin Anda alami saat menggunakan Docker wadah dengan SageMaker. Setiap kesalahan diikuti oleh solusi untuk kesalahan tersebut.
-
Kesalahan: SageMaker telah kehilangan Docker daemon.
Untuk memperbaiki kesalahan ini, restart Docker menggunakan perintah berikut.
sudo service docker restart
-
Kesalahan:
/tmp
Direktori Anda Docker kontainer telah kehabisan ruang.Docker kontainer menggunakan
/tmp
partisi/
dan untuk menyimpan kode. Partisi ini dapat diisi dengan mudah saat menggunakan modul kode besar dalam mode lokal. SageMakerPython SDK mendukung menentukan direktori temp khusus untuk direktori root mode lokal Anda untuk menghindari masalah ini.Untuk menentukan direktori temp kustom di penyimpanan volume Amazon Elastic Block Store, buat file di jalur berikut
~/.sagemaker/config.yaml
dan tambahkan konfigurasi berikut. Direktori yang Anda tentukan sebagaicontainer_root
harus sudah ada. SageMakerPython tidak SDK akan mencoba membuatnya.local: container_root: /home/ec2-user/SageMaker/temp
Dengan konfigurasi ini, mode lokal menggunakan
/temp
direktori dan bukan/tmp
direktori default. -
Kesalahan ruang rendah pada instance SageMaker notebook
A Docker container yang berjalan pada instance SageMaker notebook menggunakan EBS volume root Amazon dari instance notebook secara default. Untuk mengatasi kesalahan ruang rendah, berikan jalur EBS volume Amazon yang dilampirkan ke instance notebook sebagai bagian dari parameter volume Docker perintah.
docker run -v
EBS-volume-path
:container-path