Jalankan saluran pipa menggunakan mode lokal - Amazon SageMaker AI

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

Jalankan saluran pipa menggunakan mode lokal

SageMaker Mode lokal pipeline adalah cara mudah untuk menguji skrip pelatihan, pemrosesan, dan inferensi Anda, serta kompatibilitas runtime parameter pipeline sebelum Anda menjalankan pipeline pada layanan AI terkelola. SageMaker Dengan menggunakan mode lokal, Anda dapat menguji pipeline SageMaker AI secara lokal menggunakan kumpulan data yang lebih kecil. Hal ini memungkinkan debugging cepat dan mudah kesalahan dalam skrip pengguna dan definisi pipeline itu sendiri tanpa menimbulkan biaya menggunakan layanan terkelola. Topik berikut menunjukkan cara mendefinisikan dan menjalankan pipeline secara lokal.

Mode lokal saluran pipa memanfaatkan mode lokal pekerjaan SageMaker AI di bawah tenda. Ini adalah fitur di SageMaker Python SDK yang memungkinkan Anda menjalankan gambar bawaan atau kustom SageMaker AI secara lokal menggunakan wadah Docker. Mode lokal saluran pipa dibangun di atas mode lokal pekerjaan SageMaker AI. Oleh karena itu, Anda dapat mengharapkan untuk melihat hasil yang sama seolah-olah Anda menjalankan pekerjaan itu secara terpisah. Misalnya, mode lokal masih menggunakan Amazon S3 untuk mengunggah artefak model dan output pemrosesan. Jika Anda ingin data yang dihasilkan oleh pekerjaan lokal berada di disk lokal, Anda dapat menggunakan pengaturan yang disebutkan dalam Mode Lokal.

Mode lokal pipa saat ini mendukung jenis langkah berikut:

Berbeda dengan layanan Pipelines terkelola yang memungkinkan beberapa langkah untuk dijalankan secara paralel menggunakan Parallelism Configuration, pelaksana pipeline lokal menjalankan langkah-langkah secara berurutan. Oleh karena itu, kinerja eksekusi keseluruhan dari pipa lokal mungkin lebih buruk daripada yang berjalan di cloud - ini sebagian besar tergantung pada ukuran dataset, algoritma, serta kekuatan komputer lokal Anda. Perhatikan juga bahwa Pipelines berjalan dalam mode lokal tidak direkam dalam SageMaker Eksperimen.

catatan

Pipelines mode lokal tidak kompatibel dengan algoritma SageMaker AI seperti. XGBoost Jika Anda ingin menggunakan algoritma ini, Anda harus menggunakannya dalam mode skrip.

Untuk menjalankan pipa secara lokal, sagemaker_session bidang yang terkait dengan langkah-langkah pipa dan pipa itu sendiri harus bertipeLocalPipelineSession. Contoh berikut menunjukkan bagaimana Anda dapat menentukan pipeline SageMaker AI untuk dieksekusi secara lokal.

from sagemaker.workflow.pipeline_context import LocalPipelineSession from sagemaker.pytorch import PyTorch from sagemaker.workflow.steps import TrainingStep from sagemaker.workflow.pipeline import Pipeline local_pipeline_session = LocalPipelineSession() pytorch_estimator = PyTorch( sagemaker_session=local_pipeline_session, role=sagemaker.get_execution_role(), instance_type="ml.c5.xlarge", instance_count=1, framework_version="1.8.0", py_version="py36", entry_point="./entry_point.py", ) step = TrainingStep( name="MyTrainingStep", step_args=pytorch_estimator.fit( inputs=TrainingInput(s3_data="s3://amzn-s3-demo-bucket/my-data/train"), ) ) pipeline = Pipeline( name="MyPipeline", steps=[step], sagemaker_session=local_pipeline_session ) pipeline.create( role_arn=sagemaker.get_execution_role(), description="local pipeline example" ) // pipeline will execute locally execution = pipeline.start() steps = execution.list_steps() training_job_name = steps['PipelineExecutionSteps'][0]['Metadata']['TrainingJob']['Arn'] step_outputs = pipeline_session.sagemaker_client.describe_training_job(TrainingJobName = training_job_name)

Setelah Anda siap untuk menjalankan pipeline pada layanan SageMaker Pipelines terkelola, Anda dapat melakukannya dengan mengganti LocalPipelineSession cuplikan kode sebelumnya dengan PipelineSession (seperti yang ditunjukkan pada contoh kode berikut) dan menjalankan ulang kode.

from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()