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 AI memanfaatkan wadah Docker secara ekstensif untuk tugas build dan runtime. SageMaker AI menyediakan gambar Docker yang sudah dibuat sebelumnya untuk algoritma bawaannya dan kerangka kerja pembelajaran mendalam yang didukung yang digunakan untuk pelatihan dan inferensi. Dengan menggunakan wadah, Anda dapat melatih algoritma pembelajaran mesin dan menerapkan model dengan cepat dan andal dalam skala apa pun. Topik di bagian ini menunjukkan cara menerapkan wadah ini untuk kasus penggunaan Anda sendiri. Untuk informasi tentang cara membawa wadah Anda sendiri untuk digunakan dengan Amazon SageMaker Studio Classic, lihatGambar Kustom di Amazon SageMaker Studio Classic.
Topik
Skenario untuk Menjalankan Skrip, Algoritma Pelatihan, atau Menyebarkan Model dengan AI SageMaker
Amazon SageMaker AI selalu menggunakan wadah Docker saat menjalankan skrip, algoritma pelatihan, dan menerapkan model. Tingkat keterlibatan Anda dengan wadah tergantung pada kasus penggunaan Anda.
Pohon keputusan berikut menggambarkan tiga skenario utama: Kasus penggunaan untuk menggunakan container Docker pra-build dengan SageMaker AI; Kasus penggunaan untuk memperluas wadah Docker yang sudah dibuat sebelumnya; Kasus penggunaan untuk membangun wadah Anda sendiri.
Topik
Kasus penggunaan untuk menggunakan wadah Docker yang sudah dibuat sebelumnya dengan AI SageMaker
Pertimbangkan kasus penggunaan berikut saat menggunakan wadah dengan SageMaker AI:
-
Pre-built SageMaker Algoritma AI — Gunakan gambar yang disertakan dengan algoritma bawaan. Lihat Menggunakan Built-in Algoritma atau Pre-trained Model SageMaker AI Amazon untuk informasi selengkapnya.
-
Model kustom dengan wadah SageMaker AI yang sudah dibuat sebelumnya — Jika Anda melatih atau menerapkan model khusus, tetapi menggunakan kerangka kerja yang memiliki wadah SageMaker AI yang sudah dibuat sebelumnya 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 yang sudah dibuat sebelumnya yang terkait dengan kerangka kerja Anda. Untuk informasi selengkapnya, lihat Pre-built SageMaker Gambar AI Docker.
-
Jika Anda memerlukan paket khusus yang diinstal ke salah satu wadah yang sudah dibuat sebelumnya: Konfirmasikan bahwa image Docker pra-build memungkinkan file requirements.txt, atau perluas wadah pra-build berdasarkan kasus penggunaan berikut.
-
Gunakan kasus 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 gambar Docker yang sudah dibuat sebelumnya yang terkait dengan kerangka kerja Anda. Untuk informasi selengkapnya, lihat Perpanjang Pre-built Wadah.
-
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.
Gunakan case untuk membangun wadah Anda sendiri
Jika Anda membangun 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 sesuai dengan kasus tersebut.
Asumsikan bahwa Anda memiliki persyaratan berikut untuk melatih dan menerapkan TensorFlow model.
-
TensorFlow Model adalah model khusus.
-
Karena TensorFlow model akan dibangun dalam kerangka kerja, gunakan wadah TensorFlow kerangka kerja TensorFlow pra-bangun untuk melatih dan meng-host model.
-
Jika Anda memerlukan paket khusus baik di skrip
titik masuk atau skrip inferensi, perluas wadah pra-buat 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 algoritma atau kerangka kerja SageMaker AI bawaan. Untuk sebagian besar kasus penggunaan, Anda dapat menggunakan algoritma dan kerangka kerja bawaan tanpa khawatir tentang wadah. Anda dapat melatih dan menerapkan algoritma ini dari konsol SageMaker AI, AWS Command Line Interface (AWS CLI), notebook Python, atau Amazon SageMaker Python SDK
. Anda dapat melakukannya dengan menentukan algoritma atau versi kerangka kerja saat membuat ModelTrainer. Algoritma bawaan yang tersedia dirinci dan dijelaskan dalam Built-in algoritma dan model terlatih di Amazon SageMaker topik. 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 AI -
Gunakan gambar kontainer SageMaker AI yang sudah dibuat sebelumnya. Atau, Anda dapat menggunakan algoritma dan kerangka kerja bawaan menggunakan wadah Docker. SageMaker AI menyediakan wadah untuk algoritma bawaan dan gambar Docker yang dibuat sebelumnya untuk beberapa kerangka kerja pembelajaran mesin yang paling umum, seperti Apache MXnet,, TensorFlow PyTorch, dan Chainer. Untuk daftar lengkap Gambar yang tersedia, lihat SageMaker Gambar Wadah Pem belajaran Mendalam 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 URI kontainer penuh ke ModelTrainerkelas SageMaker SDK masing-masing. Untuk daftar lengkap kerangka kerja pembelajaran mendalam yang saat ini didukung oleh SageMaker AI, lihatGambar SageMaker AI Docker bawaan untuk pembelajaran mendalam. Untuk informasi tentang gambar kontainer pra-build scikit-learn dan SparkML, lihat. Mengakses Gambar Docker untuk Scikit-learn dan Spark ML Untuk informasi selengkapnya tentang menggunakan kerangka kerja dengan Amazon SageMaker Python SDK, lihat topik masing-masing diKerangka Kerja dan Bahasa Machine Learning. -
Perluas gambar kontainer SageMaker AI yang sudah dibuat sebelumnya. Jika Anda ingin memperluas algoritma SageMaker AI yang sudah dibuat sebelumnya atau model gambar Docker, Anda dapat memodifikasi SageMaker gambar untuk memenuhi kebutuhan Anda. Sebagai contoh, lihat Memperluas PyTorch wadah kami
. -
Mengadaptasi gambar kontainer yang ada: Jika Anda ingin mengadaptasi gambar kontainer yang sudah ada sebelumnya untuk bekerja dengan SageMaker AI, Anda harus memodifikasi wadah Docker untuk mengaktifkan toolkit Pel SageMaker atihan atau Inferensi. Untuk contoh yang menunjukkan cara membangun wadah Anda sendiri untuk melatih dan meng-host algoritma, lihat Mem bawa Algoritma R Anda Sendiri
.
Memecahkan masalah Docker kontainer dan penerapan
Berikut ini adalah kesalahan umum yang mungkin Anda temui saat menggunakan Docker wadah dengan SageMaker AI. Setiap kesalahan diikuti oleh solusi untuk kesalahan.
-
Kesalahan: SageMaker AI telah kehilangan Docker daemon.
Untuk memperbaiki kesalahan ini, restart Docker menggunakan perintah berikut.
sudo service docker restart -
Kesalahan:
/tmpDirektori Docker wadah Anda kehabisan ruang.Dockerwadah menggunakan
/tmppartisi/dan untuk menyimpan kode. Partisi ini dapat terisi dengan mudah saat menggunakan modul kode besar dalam mode lokal. SageMaker AI Python SDK mendukung penentuan 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.yamldan tambahkan konfigurasi berikut. Direktori yang Anda tentukancontainer_rootharus sudah ada. SageMaker AI Python SDK tidak akan mencoba membuatnya.local: container_root: /home/ec2-user/SageMaker/tempDengan konfigurasi ini, mode lokal menggunakan
/tempdirektori dan bukan/tmpdirektori default. -
Kesalahan ruang rendah pada instance SageMaker notebook
DockerWadah yang berjalan pada instans SageMaker notebook menggunakan volume root Amazon EBS dari instance notebook secara default. Untuk mengatasi kesalahan ruang rendah, berikan jalur volume Amazon EBS yang terpasang ke instance notebook sebagai bagian dari parameter volume Docker perintah.
docker run -vEBS-volume-path:container-path