Kontainer Docker untuk melatih dan menerapkan model - Amazon SageMaker

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.

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.

Pohon keputusan untuk kasus penggunaan kontainer.

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.

Setelah Anda menentukan jenis wadah yang Anda butuhkan, daftar berikut memberikan rincian tentang opsi yang tercantum sebelumnya.

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 sebagai container_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