SageMaker Kolam Hangat yang Dikelola AI - Amazon SageMaker AI

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

SageMaker Kolam Hangat yang Dikelola AI

SageMaker Kolam hangat yang dikelola AI memungkinkan Anda mempertahankan dan menggunakan kembali infrastruktur yang disediakan setelah menyelesaikan pekerjaan pelatihan untuk mengurangi latensi beban kerja berulang, seperti eksperimen berulang atau menjalankan banyak pekerjaan secara berurutan. Pekerjaan pelatihan berikutnya yang sesuai dengan parameter tertentu dijalankan pada infrastruktur kolam hangat yang dipertahankan, yang mempercepat waktu mulai dengan mengurangi waktu yang dihabiskan untuk menyediakan sumber daya.

penting

SageMaker Kolam hangat yang dikelola AI adalah sumber daya yang dapat ditagih. Untuk informasi selengkapnya, lihat Penagihan.

Cara kerjanya

Untuk menggunakan kolam hangat yang dikelola SageMaker AI dan mengurangi latensi antara pekerjaan pelatihan berturut-turut yang serupa, buat pekerjaan pelatihan yang KeepAlivePeriodInSeconds menentukan nilainya. ResourceConfig Nilai ini mewakili durasi waktu dalam hitungan detik untuk mempertahankan sumber daya yang dikonfigurasi di kolam hangat untuk pekerjaan pelatihan berikutnya. Jika Anda perlu menjalankan beberapa pekerjaan pelatihan menggunakan konfigurasi serupa, Anda dapat mengurangi latensi dan waktu yang dapat ditagih lebih lanjut dengan menggunakan direktori cache persisten khusus untuk menyimpan dan menggunakan kembali informasi Anda dalam pekerjaan yang berbeda.

Siklus hidup kolam hangat

  1. Buat pekerjaan pelatihan awal dengan KeepAlivePeriodInSeconds nilai lebih besar dari 0. Saat Anda menjalankan pekerjaan pelatihan pertama ini, ini “memulai” klaster dengan waktu startup yang khas.

  2. Ketika pekerjaan pelatihan pertama selesai, sumber daya yang disediakan tetap hidup di kolam hangat untuk periode yang ditentukan dalam nilai. KeepAlivePeriodInSeconds Selama cluster sehat dan kolam hangat berada dalam yang ditentukanKeepAlivePeriodInSeconds, maka status kolam hangat adalahAvailable.

  3. Kolam hangat tetap Available sampai mengidentifikasi pekerjaan pelatihan yang cocok untuk digunakan kembali atau melebihi yang ditentukan KeepAlivePeriodInSeconds dan dihentikan. Panjang maksimum waktu yang diizinkan untuk KeepAlivePeriodInSeconds adalah 3600 detik (60 menit). Jika status kolam hangatTerminated, maka ini adalah akhir dari siklus hidup kolam hangat.

  4. Jika kolam hangat mengidentifikasi pekerjaan pelatihan kedua dengan spesifikasi yang cocok seperti jumlah instance atau jenis instance, maka kolam hangat berpindah dari pekerjaan pelatihan pertama ke pekerjaan pelatihan kedua untuk digunakan kembali. Status pekerjaan pelatihan pertama kolam hangat menjadiReused. Ini adalah akhir dari siklus hidup kolam hangat untuk pekerjaan pelatihan pertama.

  5. Status pekerjaan pelatihan kedua yang menggunakan kembali kolam hangat menjadiInUse. Setelah pekerjaan pelatihan kedua selesai, kolam hangat adalah Available untuk KeepAlivePeriodInSeconds durasi yang ditentukan dalam pekerjaan pelatihan kedua. Kolam hangat dapat terus bergerak ke pekerjaan pelatihan pencocokan berikutnya selama maksimal 28 hari.

  6. Jika kolam hangat tidak lagi tersedia untuk digunakan kembali, status kolam hangat adalahTerminated. Kolam hangat tidak lagi tersedia jika dihentikan oleh pengguna, untuk pembaruan tambalan, atau untuk melebihi yang ditentukan. KeepAlivePeriodInSeconds

Untuk informasi selengkapnya tentang opsi status kolam hangat, lihat WarmPoolStatusdi SageMaker APIReferensi Amazon.

Pembuatan kolam hangat

Jika pekerjaan pelatihan awal berhasil diselesaikan dan memiliki KeepAlivePeriodInSeconds nilai lebih besar dari 0, ini menciptakan kolam yang hangat. Jika Anda menghentikan pekerjaan pelatihan setelah cluster diluncurkan, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena algoritma atau kesalahan klien, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena alasan lain yang mungkin membahayakan kesehatan cluster, maka kolam hangat tidak dibuat.

Untuk memverifikasi pembuatan kolam hangat yang berhasil, periksa status kolam hangat dari pekerjaan pelatihan Anda. Jika kolam hangat berhasil disediakan, status kolam hangat adalahAvailable. Jika kolam hangat gagal disediakan, status kolam hangat adalahTerminated.

Lowongan kerja pelatihan yang cocok

Agar kolam hangat bertahan, ia harus menemukan pekerjaan pelatihan yang cocok dalam waktu yang ditentukan dalam KeepAlivePeriodInSeconds nilai. Pekerjaan pelatihan berikutnya adalah kecocokan jika nilai-nilai berikut identik:

  • RoleArn

  • ResourceConfignilai:

    • InstanceCount

    • InstanceType

    • VolumeKmsKeyId

    • VolumeSizeInGB

  • VpcConfignilai:

    • SecurityGroupIds

    • Subnets

  • EnableInterContainerTrafficEncryption

  • EnableNetworkIsolation

  • Jika Anda melewati tag sesi untuk pekerjaan pelatihan Anda dengan EnableSessionTagChaining set ke True dalam pekerjaan pelatihanSessionChainingConfig, maka pekerjaan pelatihan yang cocok juga harus diatur EnableSessionTagChaining ke True dan memiliki kunci sesi yang identik. Untuk informasi selengkapnya, lihat Gunakan kontrol akses berbasis atribut (ABAC) untuk pelatihan multi-tenancy.

Semua nilai ini harus sama untuk kolam hangat untuk pindah ke pekerjaan pelatihan berikutnya untuk digunakan kembali.

Durasi kolam hangat maksimum

Maksimum KeepAlivePeriodInSeconds untuk satu pekerjaan pelatihan adalah 3600 detik (60 menit) dan durasi maksimum waktu cluster kolam hangat dapat terus menjalankan pekerjaan pelatihan berturut-turut adalah 28 hari.

Setiap pekerjaan pelatihan berikutnya juga harus menentukan KeepAlivePeriodInSeconds nilai. Ketika kolam hangat pindah ke pekerjaan pelatihan berikutnya, ia mewarisi KeepAlivePeriodInSeconds nilai baru yang ditentukan dalam pekerjaan pelatihan ituResourceConfig. Dengan cara ini, Anda dapat menjaga kolam hangat bergerak dari pekerjaan pelatihan ke pekerjaan pelatihan selama maksimal 28 hari.

Jika tidak KeepAlivePeriodInSeconds ditentukan, maka kolam hangat berputar setelah pekerjaan pelatihan selesai.

Menggunakan cache persisten

Saat Anda membuat kolam hangat, SageMaker AI memasang direktori khusus pada volume yang akan bertahan sepanjang siklus hidup kolam hangat. Direktori ini juga dapat digunakan untuk menyimpan informasi yang ingin Anda gunakan kembali di pekerjaan lain.

Menggunakan cache persisten dapat mengurangi latensi dan waktu yang dapat ditagih daripada menggunakan kolam hangat saja untuk pekerjaan yang memerlukan hal berikut:

  • beberapa interaksi dengan konfigurasi serupa

  • pekerjaan pelatihan tambahan

  • optimasi hyperparameter

Misalnya, Anda dapat menghindari mengunduh dependensi Python yang sama pada proses berulang dengan menyiapkan direktori cache pip di dalam direktori cache persisten. Anda bertanggung jawab penuh untuk mengelola isi direktori ini. Berikut ini adalah contoh jenis informasi yang dapat Anda masukkan ke dalam cache persisten Anda untuk membantu mengurangi latensi dan waktu yang dapat ditagih.

  • Dependensi dikelola oleh pip.

  • Dependensi dikelola oleh conda.

  • Informasi pos pemeriksaan.

  • Setiap informasi tambahan yang dihasilkan selama pelatihan.

Lokasi cache persisten adalah/opt/ml/sagemaker/warmpoolcache. Variabel lingkungan SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY menunjuk ke lokasi direktori cache persisten.

Contoh kode berikut menunjukkan cara menyiapkan kolam hangat dan menggunakan cache persisten untuk menyimpan dependensi pip Anda untuk digunakan dalam pekerjaan berikutnya. Pekerjaan selanjutnya harus berjalan dalam kerangka waktu yang diberikan oleh parameterkeep_alive_period_in_seconds.

import sagemakerfrom sagemaker import get_execution_rolefrom sagemaker.tensorflow import TensorFlow # Creates a SageMaker session and gets execution role session = sagemaker.Session() role = get_execution_role() # Creates an example estimator estimator = TensorFlow( ... entry_point='my-training-script.py', source_dir='code', role=role, model_dir='model_dir', framework_version='2.2', py_version='py37', job_name='my-training-job-1', instance_type='ml.g4dn.xlarge', instance_count=1, volume_size=250, hyperparameters={ "batch-size": 512, "epochs": 1, "learning-rate": 1e-3, "beta_1": 0.9, "beta_2": 0.999, }, keep_alive_period_in_seconds=1800, environment={"PIP_CACHE_DIR": "/opt/ml/sagemaker/warmpoolcache/pip"} )

Dalam contoh kode sebelumnya, menggunakan parameter lingkungan mengekspor variabel lingkungan PIP_CACHE_DIRECTORY untuk menunjuk ke direktori/opt/ml/sagemaker/warmpoolcache/pip. Mengekspor variabel lingkungan ini akan mengubah tempat pip menyimpan cache-nya ke lokasi baru. Direktori apa pun, termasuk direktori bersarang, yang Anda buat di dalam direktori cache persisten akan tersedia untuk digunakan kembali selama pelatihan berikutnya. Dalam contoh kode sebelumnya, direktori yang pip disebut diubah menjadi lokasi default untuk menyimpan dependensi apa pun yang diinstal menggunakan pip.

Lokasi cache persisten juga dapat diakses dari dalam skrip pelatihan Python Anda menggunakan variabel lingkungan seperti yang ditunjukkan dalam contoh kode berikut.

import os import shutil if __name__ == '__main__': PERSISTED_DIR = os.environ["SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY"] # create a file to be persisted open(os.path.join(PERSISTED_DIR, "test.txt"), 'a').close() # create a directory to be persisted os.mkdir(os.path.join(PERSISTED_DIR, "test_dir")) # Move a file to be persisted shutil.move("path/of/your/file.txt", PERSISTED_DIR)

Penagihan

SageMaker Kolam hangat yang dikelola AI adalah sumber daya yang dapat ditagih. Ambil status kolam hangat untuk pekerjaan pelatihan Anda untuk memeriksa waktu yang dapat ditagih untuk kolam hangat Anda. Anda dapat memeriksa status kolam hangat baik melalui Menggunakan konsol Amazon SageMaker AI atau langsung melalui DescribeTrainingJobAPIperintah. Untuk informasi selengkapnya, lihat WarmPoolStatusdi SageMaker APIReferensi Amazon.

catatan

Setelah waktu yang ditentukan oleh parameter KeepAlivePeriodInSeconds berakhir, kolam hangat dan cache persisten akan dimatikan, dan isinya akan dihapus.

Pertimbangan

Pertimbangkan item berikut saat menggunakan kolam hangat yang dikelola SageMaker AI.

  • SageMaker Kolam hangat yang dikelola AI tidak dapat digunakan dengan pelatihan cluster heterogen.

  • SageMaker Kolam hangat yang dikelola AI tidak dapat digunakan dengan instance spot.

  • SageMaker Kolam hangat yang dikelola AI dibatasi hingga KeepAlivePeriodInSeconds nilai 3600 detik (60 menit).

  • Jika kolam hangat terus berhasil mencocokkan pekerjaan pelatihan dalam KeepAlivePeriodInSeconds nilai yang ditentukan, cluster hanya dapat terus berjalan selama maksimal 28 hari.