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
-
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
-
Inisialisasi SageMaker Sesi.
sm_client = boto3.client(
'sagemaker'
) session = Session(sagemaker_client=sm_client) session.get_caller_identity_arn() -
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"
-
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" } ] } -
Buat hub model pribadi menggunakan konfigurasi Anda dari Langkah 3 menggunakan
hub.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 -
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
-
Anda dapat memfilter melalui model yang tersedia secara terprogram menggunakan metode ini
hub.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, lihatnotebook_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) -
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.
ValidationException
saat 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 Denied
atau 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.