Buat hub model pribadi di Amazon SageMaker JumpStart - Amazon SageMaker

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

Buat hub model pribadi di Amazon SageMaker JumpStart

Buat satu atau beberapa hub model kurasi pribadi yang dapat diakses oleh pengguna dalam organisasi Anda.

Langkah-langkah berikut memandu Anda melalui cara membuat hub pribadi menggunakan SageMaker Python SDK.

Prasyarat

Untuk membuat hub pribadi di Studio, Anda harus memiliki prasyarat berikut:

  • AWS Akun dengan akses administrator

  • Peran AWS Identity and Access Management (IAM) dengan akses ke Amazon Studio SageMaker

  • SageMaker Domain Amazon dengan JumpStart diaktifkan

Untuk informasi selengkapnya tentang memulai dengan Studio, lihat SageMaker Studio Amazon.

Buat hub model pribadi

Gunakan langkah-langkah berikut untuk membuat hub pribadi. Anda harus memasukkan SDK SageMaker Python dan mengonfigurasi izin IAM yang diperlukan sebelum membuat hub model.

Buat hub pribadi
  1. Instal SDK SageMaker Python dan impor paket Python yang diperlukan.

    # Install the SageMaker Python SDK !pip3 install sagemaker --force-reinstall --quiet # Import the necessary Python packages import boto3 from sagemaker import Session from sagemaker.jumpstart.hub.hub import Hub
  2. Inisialisasi SageMaker Sesi.

    sm_client = boto3.client('sagemaker') session = Session(sagemaker_client=sm_client) session.get_caller_identity_arn()
  3. Konfigurasikan detail hub pribadi Anda seperti nama hub internal, nama tampilan UI, dan deskripsi hub UI.

    catatan

    Jika Anda tidak menentukan nama bucket Amazon S3 saat membuat hub, layanan SageMaker hub akan membuat bucket baru atas nama Anda. Bucket baru memiliki struktur penamaan berikut:sagemaker-hubs-REGION-ACCOUNT_ID.

    HUB_NAME="Example-Hub" HUB_DISPLAY_NAME="Example Hub UI Name" HUB_DESCRIPTION="A description of the example private curated hub." REGION="us-west-2"
  4. Periksa apakah peran Admin IAM Anda memiliki izin Amazon S3 yang diperlukan untuk membuat hub pribadi. Jika peran Anda tidak memiliki izin yang diperlukan, buka halaman Peran di konsol IAM. Pilih peran Admin lalu pilih Tambahkan izin di panel Kebijakan izin untuk membuat kebijakan sebaris dengan izin berikut menggunakan editor JSON:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectTagging" ], "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-REGION", "arn:aws:s3:::jumpstart-cache-prod-REGION/*" ], "Effect": "Allow" } ] }
  5. Buat hub model pribadi menggunakan konfigurasi Anda dari Langkah 3 menggunakanhub.create().

    hub = Hub(hub_name=HUB_NAME, sagemaker_session=session) try: # Create the private hub hub.create( description=HUB_DESCRIPTION, display_name=HUB_DISPLAY_NAME ) print(f"Successfully created Hub with name {HUB_NAME} in {REGION}") # Check that no other hubs with this internal name exist except Exception as e: if "ResourceInUse" in str(e): print(f"A hub with the name {HUB_NAME} already exists in your account.") else: raise e
  6. Verifikasi konfigurasi hub pribadi baru Anda dengan describe perintah berikut:

    hub.describe()

Tambahkan model ke hub pribadi

Setelah membuat hub pribadi, Anda kemudian dapat menambahkan model yang diizinkan. Untuk daftar lengkap JumpStart model yang tersedia, lihat Algoritma Bawaan dengan Tabel Model yang telah dilatih sebelumnya dalam referensi SageMaker Python SDK.

  1. Anda dapat memfilter melalui model yang tersedia secara terprogram menggunakan metode inihub.list_sagemaker_public_hub_models(). Anda dapat secara opsional memfilter berdasarkan kategori seperti framework ("framework == pytorch"), tugas seperti klasifikasi gambar ("task == ic"), dan banyak lagi. Untuk informasi lebih lanjut tentang filter, lihat notebook_utils.py. Parameter filter dalam hub.list_sagemaker_public_hub_models() metode ini adalah opsional.

    filter_value = "framework == meta" response = hub.list_sagemaker_public_hub_models(filter=filter_value) models = response["hub_content_summaries"] while response["next_token"]: response = hub.list_sagemaker_public_hub_models(filter=filter_value, next_token=response["next_token"]) models.extend(response["hub_content_summaries"]) print(models)
  2. Anda kemudian dapat menambahkan model yang difilter dengan menentukan model ARN dalam hub.create_model_reference() metode.

    for model in models: print(f"Adding {model.get('hub_content_name')} to Hub") hub.create_model_reference(model_arn=model.get("hub_content_arn"), model_name=model.get("hub_content_name"))

Hapus model dari hub pribadi

Anda dapat menghapus model dari hub pribadi dengan menentukan model ARN dalam hub.delete_model_reference() metode.

hub.delete_model_reference(model-name)

Hapus akses ke hub model SageMaker Publik

Selain menambahkan hub kurasi pribadi ke JumpStart dalam Studio, Anda juga dapat menghapus akses ke hub model SageMaker Publik untuk pengguna Anda. Hub model SageMaker Publik memiliki akses ke semua model JumpStart pondasi yang tersedia.

Jika Anda menghapus akses ke hub model SageMaker Publik dan pengguna hanya memiliki akses ke satu hub pribadi, maka pengguna akan dibawa langsung ke hub pribadi tersebut saat mereka memilih JumpStartdi panel navigasi kiri di Studio. Jika pengguna memiliki akses ke beberapa hub pribadi, maka pengguna akan dibawa ke halaman menu Hub saat mereka memilih JumpStartdi panel navigasi kiri di Studio.

Hapus akses ke hub model SageMaker Publik untuk pengguna Anda dengan kebijakan inline berikut:

{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-REGION", "arn:aws:s3:::jumpstart-cache-prod-REGION/*" ], "Condition": { "StringNotLike": {"s3:prefix": ["*.ipynb", "*/eula.txt"]} } }, { "Action": "sagemaker:*", "Effect": "Deny", "Resource": [ "arn:aws:sagemaker:REGION:aws:hub/SageMakerPublicHub", "arn:aws:sagemaker:REGION:aws:hub-content/SageMakerPublicHub/*/*" ] } ] }

Hapus hub pribadi

Anda dapat menghapus hub pribadi dari akun admin Anda. Sebelum menghapus hub pribadi, Anda harus terlebih dahulu menghapus konten apa pun di hub itu. Hapus isi hub dan hub dengan perintah berikut:

# List the model references in the private hub response = hub.list_models() models = response["hub_content_summaries"] while response["next_token"]: response = hub.list_models(next_token=response["next_token"]) models.extend(response["hub_content_summaries"]) # Delete all model references in the hub for model in models: hub.delete_model_reference(model_name=model.get('HubContentName')) # Delete the private hub hub.delete()

Pemecahan Masalah

Memecahkan masalah izin IAM yang mungkin timbul saat membuat hub model pribadi.

ValidationExceptionsaat memanggil CreateModel operasi: Tidak dapat mengakses data model

Pengecualian ini muncul ketika Anda tidak memiliki izin Amazon S3 yang sesuai yang dikonfigurasi untuk peran Admin Anda. Untuk informasi selengkapnya tentang izin Amazon S3 yang diperlukan untuk membuat hub pribadi, lihat Langkah 3 di.

Access Deniedatau Forbidden saat menelepon create()

Anda ditolak aksesnya saat membuat hub pribadi jika Anda tidak memiliki izin yang sesuai untuk mengakses bucket Amazon S3 yang terkait dengan SageMaker hub model Publik. Untuk informasi selengkapnya tentang izin Amazon S3 yang diperlukan untuk membuat hub pribadi, lihat Langkah 3 di.

AWS Wilayah yang Didukung

Hub pribadi yang dikuratori saat ini umumnya tersedia di Wilayah AWS komersial berikut:

  • us-east-1

  • us-east-2

  • us-west-2

  • eu-west-1

  • eu-central-1

  • ap-northeast-1

  • ap-northeast-2

  • ap-south-1

  • ap-southeast-1

  • ap-southeast-2

  • il-central-1 (hanya SDK)

Jumlah maksimum default hub yang diizinkan dalam satu Wilayah adalah 50.