Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon SageMaker AI memanfaatkan kontainer Docker secara ekstensif untuk tugas build dan runtime. SageMaker AI 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 gambar SageMaker AI Anda sendiri.
Topik
Skenario untuk Menjalankan Skrip, Algoritma Pelatihan, atau Menerapkan Model dengan AI SageMaker
Amazon SageMaker AI selalu menggunakan container 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 AI; Kasus penggunaan untuk memperluas wadah Docker yang sudah dibuat sebelumnya; Kasus penggunaan untuk membangun wadah Anda sendiri.

Topik
Kasus penggunaan untuk menggunakan kontainer Docker yang sudah dibuat sebelumnya dengan AI SageMaker
Pertimbangkan kasus penggunaan berikut saat menggunakan wadah dengan SageMaker AI:
-
Algoritma SageMaker AI pra-bangun — Gunakan gambar yang disertakan dengan algoritme bawaan. Lihat Menggunakan Algoritma Bawaan Amazon SageMaker AI atau Model Pra-terlatih untuk informasi selengkapnya.
-
Model khusus dengan kontainer SageMaker AI yang sudah dibuat sebelumnya — Jika Anda melatih atau menerapkan model khusus, tetapi menggunakan kerangka kerja yang memiliki wadah SageMaker AI bawaan 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 AI 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 algoritma atau kerangka kerja SageMaker AI 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 konsol SageMaker AI, AWS Command Line Interface (AWS CLI), notebook Python, atau Amazon Python SDK. SageMaker
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 algoritme 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 algoritme dan kerangka kerja bawaan menggunakan wadah Docker. SageMaker AI menyediakan wadah untuk algoritme bawaan dan gambar Docker yang dibuat sebelumnya untuk beberapa kerangka kerja pembelajaran mesin yang paling umum, seperti Apache MXNet,,, dan Chainer. TensorFlow PyTorch Untuk daftar lengkap Gambar SageMaker AI yang tersedia, lihat 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 container dengan meneruskan URI kontainer lengkap ke kelas AI SDK masing-masing SageMaker . Estimator
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-bangun scikit-learn dan SparkMl, lihat. Mengakses Gambar Docker untuk Scikit-learn dan Spark ML Untuk informasi selengkapnya tentang penggunaan framework dengan Amazon SageMaker PythonSDK, lihat topiknya masing-masing di. Kerangka Kerja dan Bahasa Machine Learning -
Perluas gambar kontainer SageMaker AI yang sudah dibuat sebelumnya. Jika Anda ingin memperluas algoritme SageMaker AI pra-bangun atau memodelkan gambar Docker, Anda dapat memodifikasi gambar SageMaker AI untuk memenuhi kebutuhan Anda. Sebagai contoh, lihat Memperluas PyTorch kontainer kami
. -
Menyesuaikan gambar kontainer yang ada: Jika Anda ingin mengadaptasi image container yang sudah ada sebelumnya agar berfungsi dengan SageMaker AI, Anda harus memodifikasi container Docker untuk mengaktifkan toolkit SageMaker Training atau Inference. 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 kontainer dengan SageMaker AI. Setiap kesalahan diikuti oleh solusi untuk kesalahan tersebut.
-
Kesalahan: SageMaker AI 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. 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.yaml
dan tambahkan konfigurasi berikut. Direktori yang Anda tentukan sebagaicontainer_root
harus sudah ada. SageMaker AI Python SDK tidak 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 volume root Amazon EBS dari instance notebook secara default. Untuk mengatasi kesalahan ruang rendah, berikan jalur volume Amazon EBS yang dilampirkan ke instance notebook sebagai bagian dari parameter volume Docker perintah.
docker run -v
EBS-volume-path
:container-path