Buat kartu model - Amazon SageMaker AI

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

Buat kartu model

penting

Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM memungkinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya AI SageMaker .

AWS kebijakan terkelola untuk Amazon SageMaker AIyang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.

Anda dapat membuat Kartu SageMaker Model Amazon menggunakan konsol SageMaker AI atau SageMaker Python SDK. Anda juga dapat menggunakan operasi API secara langsung. Untuk informasi selengkapnya tentang operasi API, lihatTingkat rendah SageMaker APIs untuk kartu model.

Buat kartu model menggunakan konsol SageMaker AI

Buka konsol Amazon SageMaker AI. Di panel navigasi, di bawah Tata Kelola, pilih Kartu model. Di sudut kanan atas, pilih Buat kartu model.

Ikuti empat langkah dalam prompt Create model card untuk mendokumentasikan detail tentang model Anda.

Langkah 1: Masukkan detail model dan tujuan penggunaan

Jika model Anda adalah AWS sumber daya, tentukan nama model yang tepat di bidang ini untuk mengisi detail model secara otomatis. Untuk menelusuri nama model yang ada, lihat Model di konsol Amazon SageMaker AI. Setiap nama model unik hanya dapat memiliki satu kartu model terkait.

Jika model Anda bukan AWS sumber daya, berikan nama unik untuk model Anda. Untuk menambahkan model sebagai AWS sumber daya, lihat Membuat model di Panduan Pengembang Amazon SageMaker AI. Atau, Anda dapat menambahkan model Anda sebagai paket model menggunakan SageMaker AI Marketplace atau SageMaker AI Model Registry.

Untuk informasi lebih lanjut tentang penggunaan yang dimaksudkan, lihatPenggunaan model yang dimaksudkan. Untuk informasi lebih lanjut tentang peringkat risiko, lihatPeringkat risiko.

Langkah 2: Masukkan detail pelatihan

Tambahkan detail pelatihan, pengamatan pelatihan, kumpulan data, hiperparameter, dan detail tentang fungsi objektif model ke kartu model.

Fungsi obyektif dalam kartu model dapat berupa fungsi apa pun yang dioptimalkan selama pelatihan. Ini dapat mencakup, tetapi tidak terbatas pada, fungsi biaya, fungsi kerugian, atau metrik objektif. Di bagian ini, dokumentasikan fungsi objektif yang paling penting untuk melatih model Anda.

Kami menyarankan Anda membuat katalog atribut berikut dari fungsi tujuan Anda:

  • Arah optimasi

  • Metrik

  • Deskripsi

Misalnya, Anda dapat meminimalkan (arah pengoptimalan) kehilangan entropi silang (metrik) untuk masalah klasifikasi biner (deskripsi) atau memaksimalkan kemungkinan regresi logistik. Selain itu, Anda dapat memberikan catatan tentang mengapa Anda memilih fungsi tujuan ini daripada yang lain.

Langkah 3: Masukkan detail evaluasi

Jika Anda memiliki laporan evaluasi yang dihasilkan oleh SageMaker Clarify atau Model Monitor, berikan URI S3 untuk laporan tersebut atau unggah secara manual untuk menambahkannya ke kartu model.

Untuk informasi lebih lanjut tentang SageMaker Clarify, lihat Menjalankan SageMaker Clarify Processing Jobs for Bias Analysis and Explainability.

Untuk informasi selengkapnya tentang pemantauan penyimpangan dalam metrik kualitas model menggunakan Model Monitor, lihat Memantau kualitas model.

Untuk menambahkan laporan evaluasi Anda sendiri, pilih Evaluasi kartu model generik. Semua laporan evaluasi kartu model harus ada diSkema JSON kartu model.

Langkah 4: Masukkan detail tambahan

Tambahkan bidang detail kartu model khusus untuk informasi tambahan apa pun yang ingin Anda alamat pada kartu model Anda. Misalnya, Anda mungkin menyertakan bidang kustom Lini bisnis dengan nilai Keuangan pribadi.

Simpan kartu model

Setelah meninjau informasi di kartu model Anda, pilih Simpan di sudut kanan bawah untuk menyimpan kartu model Anda.

Buat kartu model menggunakan SageMaker Python SDK

Sebelum membuat kartu model, Anda harus terlebih dahulu menentukan konten kartu model Anda. Saat menggunakan SageMaker Python SDK, konten model terdiri dari ikhtisar model, detail pelatihan, penggunaan yang dimaksudkan, detail evaluasi, dan informasi tambahan.

Anda dapat membuat kartu model untuk:

  • Model yang di-host dalam SageMaker AI

  • Paket model (model) dalam Registri SageMaker Model

  • Model yang di-host atau terdaftar di luar SageMaker AI

Anda juga dapat membuat kartu model tanpa mengaitkan model apa pun dengannya.

Sebaiknya tambahkan model yang telah Anda latih ke Registri SageMaker Model. Registri model membantu Anda membuat katalog model dan melacak versi model. Saat Anda membuat kartu model, informasi tentang model dari registri model secara otomatis mengisi kartu model. Anda dapat mengedit kartu model atau menambahkan informasi ke dalamnya setelah Anda membuatnya.

Untuk informasi tentang menggunakan registri model, lihatPenerapan Registrasi Model dengan Model Registry. Untuk informasi tentang membuat kartu model dari registri model, lihatBuat kartu model untuk model Anda di SageMaker Model Registry.

catatan

Untuk menggunakan kartu model dengan SageMaker Python SDK, Anda harus terlebih dahulu membuat Sesi AI. SageMaker Untuk informasi selengkapnya, lihat Sesi dalam referensi SageMaker Python SDK API.

Untuk membuat kartu model untuk model yang tidak ada di Registri SageMaker Model, lihatBuat model yang tidak ada dalam registri model.

Buat model yang tidak ada dalam registri model

Gunakan informasi di bagian berikut untuk membuat kartu model untuk model yang belum Anda tambahkan ke registri model.

Langkah 1: Tentukan gambaran umum model

Tentukan ikhtisar model Anda.

model_overview = ModelOverview.from_model_name( model_name=model_name, sagemaker_session=sagemaker_session, model_description="A-description-of-your-model", problem_type="Problem-type", # For example, "Binary Classification" algorithm_type="Algorithm-type", # For example, "Logistic Regression" model_creator="Name-of-model-creator", model_owner="Name-of-model-owner", )

Jika model Anda adalah AWS sumber daya, maka informasi ikhtisar seperti model ARN, URI wadah inferensi, dan lokasi artefak model S3 dapat diambil secara otomatis. Cetak AWS metadata terkait dengan perintah berikut:

print(model_overview.model_id) print(model_overview.inference_environment.container_image) print(model_overview.model_artifact)

Langkah 2: Tentukan detail pelatihan

Untuk menentukan detail pelatihan model Anda, Anda harus terlebih dahulu menentukan fungsi objektifnya.

objective_function = ObjectiveFunction( function=Function( function=ObjectiveFunctionEnum.MINIMIZE, facet=FacetEnum.LOSS, ), notes="An-explanation-about-objective-function", )

Selanjutnya, Anda dapat menentukan detail pelatihan Anda menggunakan ikhtisar model, sesi, dan fungsi objektif yang ada. Tambahkan pengamatan pelatihan apa pun di sini.

training_details = TrainingDetails.from_model_overview( model_overview=model_overview, sagemaker_session=sagemaker_session, objective_function=objective_function, training_observations="Model-training-observations", )

Sekali lagi, jika model Anda adalah AWS sumber daya, detail pelatihan tertentu akan diisi secara otomatis. Cetak pekerjaan pelatihan ARN, URI wadah pelatihan, dan metrik pelatihan dengan perintah berikut:

print(training_details.training_job_details.training_arn) print(training_details.training_job_details.training_environment.container_image) print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics])

Tentukan detail evaluasi

Untuk menentukan detail evaluasi model Anda, Anda harus terlebih dahulu menentukan satu atau beberapa grup metrik untuk menjelaskan metrik yang digunakan untuk pekerjaan evaluasi apa pun.

my_metric_group = MetricGroup( name="binary classification metrics", metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)] )

Selanjutnya, Anda dapat menentukan detail evaluasi Anda menggunakan metrik evaluasi dan kumpulan data untuk setiap pekerjaan evaluasi. Tambahkan pengamatan evaluasi apa pun di sini dan berikan nama unik pada pekerjaan evaluasi Anda.

evaluation_details = [ EvaluationJob( name="Example-evaluation-job", evaluation_observation="Evaluation-observations", datasets=["s3://path/to/evaluation/data"], metric_groups=[my_metric_group], ) ]

Jika Anda memiliki laporan evaluasi yang dibuat oleh SageMaker AI Clarify atau SageMaker AI Model Monitor, unggah ke Amazon S3 dan berikan URI S3 untuk mengurai metrik evaluasi secara otomatis. Untuk menambahkan laporan evaluasi kartu model generik Anda sendiri, berikan laporan dalam format JSON hasil evaluasi.

report_type = "clarify_bias.json" example_evaluation_job.add_metric_group_from_json( f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS )

Langkah 3: Tentukan penggunaan yang dimaksudkan

Tentukan tujuan penggunaan model, termasuk tujuan umum model dan kasus penggunaan yang dimaksudkan. Juga disarankan untuk memasukkan faktor apa pun yang berpotensi kemanjuran model ini dalam kasus penggunaan tertentu dan peringkat risiko model organisasi Anda. Untuk informasi selengkapnya, silakan lihat Penggunaan model yang dimaksudkan dan Peringkat risiko.

intended_uses = IntendedUses( purpose_of_model="Purpose-of-the-model", intended_uses="The-intended-uses-of-this-model", factors_affecting_model_efficiency="Any-factors-effecting-model-efficacy", risk_rating=RiskRatingEnum.LOW, explanations_for_risk_rating="Explanation-for-low-risk-rating", )

Tentukan informasi tambahan

Terakhir, Anda dapat menambahkan informasi khusus tambahan ke kartu model Anda. Anda dapat mendokumentasikan pertimbangan etis, peringatan, dan rekomendasi tentang model. Anda juga dapat menambahkan detail kustom apa pun yang Anda inginkan dalam bentuk pasangan kunci-nilai.

additional_information = AdditionalInformation( ethical_considerations="Any-ethical-considerations", caveats_and_recommendations="Any-caveats-and-recommendations", custom_details={"custom details1": "details-value"}, )

Langkah 4: Buat kartu model

Beri nama kartu model Anda, tentukan kartu model, lalu gunakan definisi itu untuk membuat kartu model menggunakan SageMaker Python SDK.

model_card_name = "my-model-card" my_card = ModelCard( name=model_card_name, status=ModelCardStatusEnum.DRAFT, model_overview=model_overview, training_details=training_details, intended_uses=intended_uses, evaluation_details=evaluation_details, additional_information=additional_information, sagemaker_session=sagemaker_session, ) my_card.create()

Buat kartu model untuk model Anda di SageMaker Model Registry

Sebelum Anda mulai membuat kartu model, pastikan Anda telah membuat grup paket model dan paket model. Untuk informasi selengkapnya tentang penggunaan registri model, lihatPenerapan Registrasi Model dengan Model Registry.

penting

Anda harus memiliki izin untuk menggunakan operasi di SageMaker Model Registry. Sebaiknya gunakan kebijakan AmazonSageMakerModelRegistryFullAccess AWS terkelola. Untuk informasi selengkapnya tentang kebijakan terkelola, lihat AWS Kebijakan Terkelola untuk Registri Model.

Gunakan SageMaker Python SDK untuk membuat kartu model untuk paket model dalam Registry Model. SageMaker Paket model adalah model yang telah Anda latih. Saat Anda membuat kartu model, Amazon SageMaker Model Cards secara otomatis mengimpor data dari paket model ke dalam kartu model.

Saat Anda membuat kartu model untuk paket model, Amazon SageMaker Model Card menggunakan DescribeModelPackageoperasi untuk menambahkan data dari paket model ke kartu model. Berikut ini adalah contoh bidang yang dapat diimpor dari paket model ke kartu model:

Gunakan kode berikut untuk menentukan paket model dan membuat kartu model darinya:

mp_details = ModelPackage.from_model_package_arn( model_package_arn="example_model_package_arn", sagemaker_session=sagemaker_session, ) model_card_name = "example-model-card" my_card = ModelCard( name=model_card_name, status=ModelCardStatusEnum.status, model_package_details=mp_details, sagemaker_session=sagemaker_session, ) my_card.create()

Untukstatus, Anda menentukan status persetujuan kartu model. Jika Anda tidak menentukan status, Kartu SageMaker Model menggunakan nilai defaultDRAFT. Jika Anda tidak menentukan sesi SageMaker AI, Kartu SageMaker Model menggunakan sesi SageMaker AI default.

Anda harus menentukan nama untuk model dan Amazon Resource Name (ARN) dari paket model. Untuk informasi tentang mendapatkan Amazon Resource Name (ARN) untuk paket model, lihat. Lihat dan Perbarui Detail Versi Model (Boto3)

Kartu model yang Anda buat dari paket model mungkin memiliki informasi yang hilang atau tidak akurat. Anda dapat menambahkan informasi ke kartu model atau mengeditnya. Untuk informasi selengkapnya tentang mengelola kartu model Anda, lihatTindakan kartu model.

SageMaker Model Registry mendukung pembuatan versi paket model Anda. Anda dapat membuat versi paket model Anda dan membuat kartu model untuk setiap versi. Informasi dari kartu model versi sebelumnya dibawa ke kartu model yang dibuat dari versi berikutnya. Misalnya, Anda dapat memiliki versi 1, versi 2, dan versi 3 dari paket model. Misalkan Anda sudah membuat kartu model untuk versi 1, tetapi Anda belum membuatnya untuk versi 2. Jika Anda membuat kartu model untuk versi 3, Kartu SageMaker Model Amazon secara otomatis membawa informasi dari kartu model untuk versi 1 ke kartu model untuk versi 3.

catatan

Anda juga dapat membuat kartu model untuk paket model yang tidak menggunakan versi. Namun, sebagian besar alur kerja pembelajaran mesin melibatkan beberapa versi dari model yang sama, jadi sebaiknya lakukan hal berikut:

  1. Membuat versi untuk setiap paket model

  2. Membuat kartu model untuk setiap versi paket model