Jalankan pipa - Amazon SageMaker AI

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

Jalankan pipa

Setelah mendefinisikan langkah-langkah pipeline Anda sebagai grafik asiklik terarah (DAG), Anda dapat menjalankan pipeline Anda, yang menjalankan langkah-langkah yang ditentukan dalam DAG Anda. Panduan berikut menunjukkan cara menjalankan pipeline Amazon SageMaker AI menggunakan editor drag-and-drop visual di Amazon SageMaker Studio atau Amazon Python SageMaker SDK.

Untuk memulai eksekusi baru dari pipeline Anda, lakukan hal berikut ini:

Studio
  1. Buka SageMaker Studio dengan mengikuti petunjuk di Luncurkan Amazon SageMaker Studio.

  2. Di panel navigasi di sebelah kiri, pilih Kebijakan.

  3. (Opsional) Untuk memfilter daftar jalur berdasarkan nama, masukkan nama saluran lengkap atau sebagian di kolom pencarian.

  4. Pilih nama pipeline untuk membuka tampilan detail pipeline.

  5. Pilih Visual Editor di kanan atas.

  6. Untuk memulai eksekusi dari versi terbaru, pilih Eksekusi.

  7. Untuk memulai eksekusi dari versi tertentu, ikuti langkah-langkah berikut:

    • Pilih ikon versi di toolbar bawah untuk membuka panel versi.

    • Pilih versi alur yang ingin Anda jalankan.

    • Arahkan kursor ke item versi untuk menampilkan menu tiga titik, pilih Jalankan.

    • (Opsional) Untuk melihat versi pipeline sebelumnya, pilih Pratinjau dari menu tiga titik di panel versi. Anda juga dapat mengedit versi dengan memilih Edit di bilah notifikasi.

catatan

Jika pipeline Anda gagal, spanduk status akan menampilkan status Gagal. Setelah memecahkan masalah langkah yang gagal, pilih Coba lagi pada spanduk status untuk melanjutkan menjalankan pipeline dari langkah itu.

Studio Classic
  1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat Meluncurkan Amazon SageMaker Studio Classic.

  2. Di sidebar Studio Classic, pilih ikon Beranda ( Black square icon representing a placeholder or empty image. ).

  3. Pilih Pipelines dari menu.

  4. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

  5. Pilih nama pipeline.

  6. Dari tab Eksekusi atau Grafik dalam daftar eksekusi, pilih Buat eksekusi.

  7. Masukkan atau perbarui informasi berikut:

    • Nama harus unik untuk akun Anda di Wilayah saat ini.

    • ProcessingInstanceCount— Jumlah instance yang digunakan untuk pemrosesan.

    • ModelApprovalStatus- Untuk kenyamanan Anda.

    • InputDataUrl— Amazon S3 dari data input.

  8. Pilih Mulai.

Setelah pipeline berjalan, Anda dapat melihat detail eksekusi dengan memilih Lihat detail pada spanduk status.

Untuk menghentikan proses, pilih Berhenti pada spanduk status. Untuk melanjutkan eksekusi dari tempat itu dihentikan, pilih Lanjutkan pada spanduk status.

catatan

Jika pipeline Anda gagal, spanduk status akan menampilkan status Gagal. Setelah memecahkan masalah langkah yang gagal, pilih Coba lagi pada spanduk status untuk melanjutkan menjalankan pipeline dari langkah itu.

Setelah Anda membuat definisi pipeline menggunakan SageMaker AI Python SDK, Anda dapat mengirimkannya ke SageMaker AI untuk memulai eksekusi Anda. Tutorial berikut menunjukkan cara mengirimkan pipeline, memulai eksekusi, memeriksa hasil eksekusi itu, dan menghapus pipeline Anda.

Prasyarat

Tutorial ini membutuhkan hal berikut:

  • Contoh SageMaker notebook. 

  • Definisi pipa pipa. Tutorial ini mengasumsikan Anda menggunakan definisi pipeline yang dibuat dengan menyelesaikan Mendefinisikan Alur tutorial.

Langkah 1: Mulai Alur

Pertama, Anda harus memulai alur.

Untuk memulai alur
  1. Periksa definisi pipa JSON untuk memastikan bahwa itu terbentuk dengan baik.

    import json json.loads(pipeline.definition())
  2. Kirimkan definisi pipeline ke layanan Pipelines untuk membuat pipeline jika tidak ada, atau perbarui pipeline jika ada. Peran yang diteruskan digunakan oleh Pipelines untuk menciptakan semua pekerjaan yang ditentukan dalam langkah-langkah.

    pipeline.upsert(role_arn=role)
  3. Mulai eksekusi pipeline.

    execution = pipeline.start()

Langkah 2: Periksa Eksekusi Pipeline

Selanjutnya, Anda perlu memeriksa eksekusi pipa.

Untuk memeriksa eksekusi pipa
  1. Jelaskan status eksekusi pipeline untuk memastikan bahwa itu telah dibuat dan dimulai dengan sukses.

    execution.describe()
  2. Tunggu eksekusi selesai.

    execution.wait()
  3. Buat daftar langkah-langkah eksekusi dan statusnya.

    execution.list_steps()

    Output-nya akan terlihat seperti berikut ini:

    [{'StepName': 'AbaloneTransform', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 870000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 45, 50, 492000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TransformJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:transform-job/pipelines-cfvy1tjuxdq8-abalonetransform-ptyjoef3jy'}}}, {'StepName': 'AbaloneRegisterModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 929000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 28, 15000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'RegisterModel': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model-package/abalonemodelpackagegroupname/1'}}}, {'StepName': 'AbaloneCreateModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 895000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 708000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Model': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model/pipelines-cfvy1tjuxdq8-abalonecreatemodel-jl94rai0ra'}}}, {'StepName': 'AbaloneMSECond', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 25, 558000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 329000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Condition': {'Outcome': 'True'}}}, {'StepName': 'AbaloneEval', 'StartTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 767000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 18, 80000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneeval-zfraozhmny'}}}, {'StepName': 'AbaloneTrain', 'StartTime': datetime.datetime(2020, 11, 21, 2, 34, 55, 867000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 34000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TrainingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:training-job/pipelines-cfvy1tjuxdq8-abalonetrain-tavd6f3wdf'}}}, {'StepName': 'AbaloneProcess', 'StartTime': datetime.datetime(2020, 11, 21, 2, 30, 27, 160000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 34, 48, 390000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneprocess-mgqyfdujcj'}}}]
  4. Setelah eksekusi pipeline Anda selesai, unduh evaluation.json file yang dihasilkan dari Amazon S3 untuk memeriksa laporan.

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

Langkah 3: Ganti Parameter Default untuk Eksekusi Pipeline

Anda dapat menjalankan eksekusi tambahan dari pipeline dengan menentukan parameter pipeline yang berbeda untuk mengganti default.

Untuk mengganti parameter default
  1. Buat eksekusi pipeline. Ini memulai eksekusi pipeline lain dengan penggantian status persetujuan model disetel ke “Disetujui”. Ini berarti bahwa versi paket model yang dihasilkan oleh RegisterModel langkah secara otomatis siap untuk penyebaran melalui CI/CD pipeline, seperti dengan SageMaker Projects. Untuk informasi selengkapnya, lihat MLOps Otomatisasi Dengan SageMaker Proyek.

    execution = pipeline.start( parameters=dict( ModelApprovalStatus="Approved", ) )
  2. Tunggu eksekusi selesai.

    execution.wait()
  3. Buat daftar langkah-langkah eksekusi dan statusnya.

    execution.list_steps()
  4. Setelah eksekusi pipeline Anda selesai, unduh evaluation.json file yang dihasilkan dari Amazon S3 untuk memeriksa laporan.

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

Langkah 4: Hentikan dan Hapus Eksekusi Pipeline

Setelah Anda selesai dengan alur, Anda dapat menghentikan eksekusi yang sedang berlangsung dan menghapus alur.

Untuk menghentikan dan menghapus eksekusi pipeline
  1. Hentikan eksekusi pipa.

    execution.stop()
  2. Hapus Alur

    pipeline.delete()