Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalan TensorFlow kan Pekerjaan Pelatihan dengan Tra SageMaker ining Compiler
penting
Pemberitahuan penghentian penggunaan: SageMaker Kompiler Pelatihan tidak didukung di SageMaker Python SDK v3. Jika saat ini Anda menggunakan Training Compiler, lanjutkan menggunakan SageMaker Python SDK v2. Untuk proyek baru, pertimbangkan untuk menggunakan ModelTrainer kelas terpadu dengan kerangka kerja yang didukung. Lihat dokumentasi SageMaker Python SDK
Anda dapat menggunakan antarmuka SageMaker AI apa pun untuk menjalankan pekerjaan pelatihan dengan Tra SageMaker ining Compiler: Amazon SageMaker Studio Classic, instans SageMaker notebook Amazon, AWS SDK for Python (Boto3), dan AWS Command Line Interface.
Topik
Menggunakan SageMaker Python SDK
Untuk mengaktifkan Tra SageMaker ining Compiler, tambahkan compiler_config parameter ke estimator SageMaker AI TensorFlow atau Hugging Face. Imp TrainingCompilerConfig or kelas dan berikan instance ke compiler_config parameter. Contoh kode berikut menunjukkan struktur kelas estimator SageMaker AI dengan Tra SageMaker ining Compiler diaktifkan.
Tip
Untuk memulai dengan model bawaan yang disediakan oleh pust TensorFlow aka dan Transformers, coba gunakan ukuran batch yang disediakan dalam tabel referensi diModel yang Diuji.
catatan
SageMaker Kompiler Pelatihan untuk TensorFlow tersedia melalui estimator kerangka SageMaker kerja AI TensorFlow
Untuk informasi yang sesuai dengan kasus penggunaan Anda, lihat salah satu opsi berikut.
Daftar berikut adalah kumpulan parameter minimal yang diperlukan untuk menjalankan pekerjaan SageMaker pelatihan dengan kompiler.
catatan
Saat menggunakan estimator SageMaker AI Hugging Face, Anda harus menentukan compiler_config parameter,transformers_version, tensorflow_versionhyperparameters, dan untuk mengaktifkan Tra SageMaker ining Compiler. Anda tidak dapat menggunakan image_uri untuk secara manual menentukan Kontainer Pembelajaran Mendalam terintegrasi Training Compiler yang tercantum diKerangka Kerja yang Didukung.
-
entry_point(str) — Diperlukan. Tentukan nama file skrip pelatihan Anda. -
instance_count(int) - Diperlukan. Tentukan jumlah instans. -
instance_type(str) — Diperlukan. Tentukan jenis instance. -
transformers_version(str) — Diperlukan hanya saat menggunakan estimator SageMaker AI Hugging Face. Tentukan versi pustaka Hugging Face Transformers yang didukung oleh Tra SageMaker ining Compiler. Untuk menemukan versi yang tersedia, lihatKerangka Kerja yang Didukung. -
framework_versionatautensorflow_version(str) — Diperlukan. Tentukan TensorFlow versi yang didukung oleh Tra SageMaker ining Compiler. Untuk menemukan versi yang tersedia, lihatKerangka Kerja yang Didukung.catatan
Saat menggunakan TensorFlow estimator SageMaker AI, Anda harus menentukan
framework_version.Saat menggunakan estimator SageMaker AI Hugging Face, Anda harus menentukan keduanya
transformers_versiondan.tensorflow_version -
hyperparameters(dict) - Opsional. Tentukan hyperparameter untuk pekerjaan pelatihan, sepertin_gpus,batch_size, danlearning_rate. Saat Anda mengaktifkan Tra SageMaker ining Compiler, coba ukuran batch yang lebih besar dan sesuaikan tingkat pembelajaran yang sesuai. Untuk menemukan studi kasus penggunaan kompiler dan ukuran batch yang disesuaikan untuk meningkatkan kecepatan pelatihan, lihat Model yang Diuji danSageMaker Contoh Kompiler Pelatihan Notebook dan Blog. -
compiler_config(TrainingCompilerConfig objek) - Diperlukan. Sertakan parameter ini untuk mengaktifkan Tra SageMaker ining Compiler. Berikut ini adalah parameter untukTrainingCompilerConfigkelas.-
enabled(bool) - Opsional. TentukanTrueatauFalseuntuk menghidupkan atau mematikan Kompiler Pel SageMaker atihan. Nilai default-nya adalahTrue. -
debug(bool) - Opsional. Untuk menerima log pelatihan yang lebih rinci dari pekerjaan pelatihan yang dipercepat kompiler Anda, ubah menjadi.TrueNamun, logging tambahan mungkin menambah overhead dan memperlambat pekerjaan pelatihan yang dikompilasi. Nilai default-nya adalahFalse.
-
Awas
Jika Anda mengaktifkan SageMaker Debugger, itu mungkin memengaruhi kinerja Tra SageMaker ining Compiler. Sebaiknya matikan Debugger saat menjalankan Tra SageMaker ining Compiler untuk memastikan tidak ada dampak pada kinerja. Untuk informasi selengkapnya, lihat Pertimbangan-pertimbangan. Untuk mematikan fungsi Debugger, tambahkan dua argumen berikut ke estimator:
disable_profiler=True, debugger_hook_config=False
Jika pekerjaan pelatihan dengan kompiler berhasil diluncurkan, Anda menerima log berikut selama fase inisialisasi pekerjaan:
-
Dengan
TrainingCompilerConfig(debug=False)Found configuration for Training Compiler Configuring SM Training Compiler... -
Dengan
TrainingCompilerConfig(debug=True)Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode
Menggunakan SageMaker AI Python SDK dan Memperluas Kontainer Pem SageMaker belajaran Mendalam Kerangka AI
AWS Deep Learning Containers (DLC) untuk TensorFlow penggunaan versi adaptasi TensorFlow yang mencakup perubahan di atas kerangka kerja sumber terbuka TensorFlow . Kontainer SageMaker Pembelajaran Mendalam Kerangka AI
catatan
Fitur kustomisasi Docker ini saat ini hanya tersedia untuk TensorFlow.
Untuk memperluas dan menyesuaikan TensorFlow DLC SageMaker AI untuk kasus penggunaan Anda, gunakan petunjuk berikut.
Buat Dockerfile
Gunakan template Dockerfile berikut untuk memperluas DLC SageMaker AI TensorFlow . Anda harus menggunakan gambar TensorFlow DLC SageMaker AI sebagai gambar dasar wadah Docker Anda. Untuk menemukan URI gambar TensorFlow DLC SageMaker AI, lihat Kerangka Kerja yang Di dukung.
# SageMaker AI TensorFlow Deep Learning Container image FROM 763104351884.dkr.ecr.<aws-region>.amazonaws.com/tensorflow-training:<image-tag>ENV PATH="/opt/ml/code:${PATH}" # This environment variable is used by the SageMaker AI container # to determine user code directory. ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code # Add more code lines to customize for your use-case ...
Untuk informasi selengkapnya, lihat Langkah 2: Membuat dan mengunggah skrip pelatihan Dockerfile dan Python.
Pertimbangkan jebakan berikut saat memperluas DLC SageMaker Kerangka AI:
-
Jangan secara eksplisit menghapus atau mengubah versi TensorFlow paket dalam wadah SageMaker AI. Melakukan hal itu menyebabkan TensorFlow paket yang AWS dioptimalkan diganti oleh TensorFlow paket sumber terbuka, yang dapat mengakibatkan penurunan kinerja.
-
Hati-hati dengan paket yang memiliki TensorFlow versi atau rasa tertentu sebagai ketergantungan. Paket-paket ini mungkin secara implisit menghapus paket sumber terbuka TensorFlow TensorFlow yang AWS dioptimalkan dan menginstal.
Misalnya, ada masalah yang diketahui bahwa per tensorflow/text tensorflow/training/docker/<tensorflow-version>/py3/<cuda-version>/Dockerfile.gpu Di Dockerfiles, Anda harus menemukan baris kode untuk menginstal ulang TensorFlow biner terkel AWS ola (ditentukan ke variabel TF_URL lingkungan) dan dependensi lainnya secara berurutan. Bagian instalasi ulang akan terlihat seperti contoh berikut:
# tf-models does not respect existing installations of TensorFlow # and always installs open source TensorFlow RUN pip3 install --no-cache-dir -U \ tf-models-official==x.y.zRUN pip3 uninstall -y tensorflow tensorflow-gpu \ ; pip3 install --no-cache-dir -U \ ${TF_URL} \ tensorflow-io==x.y.z\ tensorflow-datasets==x.y.z
Bangun dan dorong ke ECR
Untuk membangun dan mendorong wadah Docker Anda ke Amazon ECR, ikuti petunjuk di tautan berikut:
Jalankan menggunakan SageMaker Python SDK Estimator
Gunakan estimator TensorFlow kerangka kerja SageMaker AI seperti biasa. Anda harus menentukan image_uri untuk menggunakan wadah baru yang Anda hosting di Amazon ECR.
import sagemaker, boto3 from sagemaker import get_execution_role from sagemaker.tensorflow import TensorFlow, TrainingCompilerConfig account_id = boto3.client('sts').get_caller_identity().get('Account') ecr_repository ='tf-custom-container-test'tag =':latest'region = boto3.session.Session().region_name uri_suffix = 'amazonaws.com' byoc_image_uri = '{}.dkr.ecr.{}.{}/{}'.format( account_id, region, uri_suffix, ecr_repository + tag ) byoc_image_uri # This should return something like # 111122223333.dkr.ecr.us-east-2.amazonaws.com/tf-custom-container-test:latest estimator = TensorFlow( image_uri=image_uri, role=get_execution_role(), base_job_name='tf-custom-container-test-job', instance_count=1, instance_type='ml.p3.8xlarge' compiler_config=TrainingCompilerConfig(), disable_profiler=True, debugger_hook_config=False ) # Start training estimator.fit()
Aktif SageMaker kan Kompiler Pelatihan Menggunakan Oper SageMaker asi CreateTrainingJob API AI
SageMaker Opsi konfigurasi Kompiler Pelatihan harus ditentukan melalui HyperParameters bidang AlgorithmSpecification dan dalam sintaks permintaan untuk operasi CreateTrainingJob
"AlgorithmSpecification": { "TrainingImage": "<sagemaker-training-compiler-enabled-dlc-image>" }, "HyperParameters": { "sagemaker_training_compiler_enabled": "true", "sagemaker_training_compiler_debug_mode": "false" }
Untuk menemukan daftar lengkap URI gambar wadah pembelajaran mendalam yang telah menerapkan Tra SageMaker ining Compiler, lihat. Kerangka Kerja yang Didukung