Zephyrnet Logosu

Özel IAM yürütme rolleri için Amazon SageMaker JumpStart'ı etkinleştirin

Tarih:

Bir ile Amazon SageMaker Etki Alanı, kullanıcıları bir AWS Kimlik ve Erişim Yönetimi (IAM) yürütme rolü, Etki Alanı yürütme rolünden farklıdır. Bu durumda, yerleşik Etki Alanı kullanıcısı şablonları kullanarak projeler oluşturamaz ve Amazon SageMaker Hızlı Başlangıç çözümler. Bu gönderi, özel bir yürütme rolüne sahip Etki Alanı kullanıcıları için JumpStart'ı etkinleştirmek için otomatik bir yaklaşımı özetlemektedir. JumpStart'ı etkinleştirmek için iki farklı kullanım senaryosu ve bu vakaların programlı olarak nasıl çözüleceği konusunda size yol gösteriyoruz. Otomatik çözüm, özel rollere sahip Etki Alanı kullanıcıları için JumpStart'ı etkinleştirmek için sürecinizi ölçeklendirmenize, veri bilimi ekibinizin üretkenliğini artırmanıza ve veri bilimi ekibinizin üretkenliğini artırmanıza yardımcı olabilir. Amazon SageMaker Stüdyosu yöneticiler.

JumpStart, Studio'da makine öğrenimine (ML) hızlı ve kolay bir şekilde başlamanıza yardımcı olan bir özelliktir. Giderek daha fazla müşterinin ML'yi giderek daha fazla kullanması ve benimsemesi ile Amazon Adaçayı Yapıcı, JumpStart, veri bilimi ve makine öğrenimi ekiplerinin doğal dil işleme, nesne algılama ve görüntü sınıflandırma modelleri gibi 150'den fazla popüler açık kaynaklı modele erişmesini ve ince ayar yapmasını kolaylaştırıyor.

Çözüme genel bakış

JumpStart, aşağıdaki ekran görüntüsünde gösterildiği gibi, hesap ve Studio kullanıcıları için etkinleştirilmiş proje şablonlarına sahip bir SageMaker Etki Alanı gerektirir.

Etkinleştirilirse, bu ayar kullanıcıların (Etki Alanı yürütme rolünü kullanacak şekilde yapılandırılmış) şablonları ve JumpStart çözümlerini kullanarak projeler oluşturmasına olanak tanır. Kullanıcının yürütme rolünün Etki Alanı yürütme rolünden farklı olduğu senaryoda, Etki Alanında etkinleştirildiğinde bile JumpStart o kullanıcı için devre dışı kalır. Bu özel rol senaryosunu ve otomatik çözümü aşağıdaki bölümlerde ele alıyoruz.

Bu çözümde, sorunu aşağıdaki iki durum için ele alıyoruz:

  • Kullanım örneği 1 – Özel rollere sahip mevcut Etki Alanı kullanıcıları için, atanan uygulamalardan bağımsız olarak JumpStart'ı otomatik bir şekilde etkinleştirme
  • Kullanım örneği 2 – Özel bir rolle yeni bir Etki Alanı kullanıcısını işe alırken programlı olarak JumpStart'ı etkinleştirmek için kullanabileceğiniz bir referans komut dosyası sağlama

Etki alanı kullanıcı katılımı

Bir Etki Alanı oluşturduktan sonra, kullanıcıları uygulamaları (Studio, RStudio veya Canvas gibi) başlatmaları için dahil edebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi, oluşturma işlemi sırasında bir Etki Alanı kullanıcısına varsayılan bir yürütme rolü atamanız gerekir.

Bir kullanıcı için Etki Alanı yürütme rolünden farklı bir rol seçebilirsiniz. Ancak bu, Etki Alanında etkinleştirildiğinde bile bu tür kullanıcılar için JumpStart'ı devre dışı bırakabilir. Bu davranış, SageMaker'ın özel bir rol ve izin sınırı üzerinde hiçbir varsayımda bulunmamasından kaynaklanmaktadır. içinde SageMaker tarafından yayınlanan şablonlara ve JumpStart çözümlerine erişim için gerekli izinler ve ilkeler açıkça atanmalıdır. AWS Hizmet Kataloğu.

SageMaker Etki Alanı kontrol panelinde kullanıcı profilini seçerek SageMaker Projelerini ve JumpStart'ı her kullanıcı için manuel olarak etkinleştirebilirsiniz. Ancak, bir kullanıcı zaten atanmış bazı uygulamalara sahipse, bu işlem zaman alıcı olabilir. bu Düzenle sağ alttaki düğme, yalnızca o kullanıcıya hiçbir uygulama atanmadığında etkinleştirilir (aşağıdaki ekran görüntüsüne bakın). Bir kullanıcı profilini düzenlemek için önce atanan uygulamaları silmeniz gerekir.

Devre dışı bırakılan JumpStart özelliğinin nedeni, bir kullanıcı profilini düzenlemenin 2. Adımında, bir mesajın "Kuruluşunuzda özel yürütme rolleri kullanan bireysel kullanıcılar varsa, bunları kullanıcı profili sayfasında etkinleştirmeniz gerekir."

Aşağıdaki bölümlerde, hem mevcut hem de yeni Etki Alanı kullanıcıları için kullanım örneklerini kapsayan iki otomatik çözümde size yol göstereceğiz.

Önkoşullar

Bu çözümün bir parçası olarak açıklanan adımlar aşağıdaki ön koşullara sahiptir:

  • Bir SageMaker Etki Alanı oluşturdunuz
  • SageMaker Etki Alanı kimlik doğrulama yöntemi IAM'dir
  • SageMaker Etki Alanı kullanıcılarına atanan özel roller, AmazonSageMakerFullAccess poliçe ekli

İçin Hızlı Başlangıç ​​Çözümleri Kullanıcılar için etkinleştirilebilmesi için AWS Hizmet Kataloğu portföyü Amazon SageMaker Çözümleri ve ML Ops ürünleri hesaba aktarılmalı ve bu portföy SageMaker'ı çalıştıran rolle ilişkilendirilmelidir. Studio'nun Çözümler portföyüyle ilişkili AWS Hizmet Kataloğu API'lerini çağırabilmesi için rol ilişkilendirmesi gereklidir.

Genel bir en iyi uygulama olarak, üretim ortamında değişiklik yapmadan önce her şeyin beklentilerinize göre yapılandırıldığından ve çalıştığından emin olmak için süreci üretim dışı bir ortamda test etmenizi ve ardından doğrulama testleri yapmanızı öneririz.

Kullanım durumu 1: Özel bir role sahip tüm mevcut Etki Alanı kullanıcıları için JumpStart'ı etkinleştirin

Önce mevcut kullanıcılar için kullanım durumunu ele alalım ve bu kullanıcılar için JumpStart'ı otomatik bir şekilde etkinleştirelim.

Bunu başarmak için bir AWS CloudFormation şablon SageMaker Etki Alanının bulunduğu Bölgede çalıştırabilirsiniz.

Ekli dosyada bulunan CloudFormation yığını jumpstart_solutions_resources.template.yaml dosya aşağıdaki bileşenlere sahiptir:

  • AmazonSageMakerServiceKatalogÜrünlerLaunchRole ve AmazonSageMakerServiceKatalogÜrünlerRolü Kullan – Aşağıdaki durumlarda bu iki IAM rolünü oluşturur:
    zaten yoklar.
  • 1PÜrünKullanımRol Politikası – Tarafından kullanılan bu politikayı oluşturur AmazonSageMakerServiceCatalogProductsUseRole, bu rol zaten mevcut değilse.
  • setup_solutions_tests_portfolio - Bir AWS Lambda Boto3 API'lerini çağırarak AWS Service Catalog portföy içe aktarma ve rol ilişkilendirmesini gerçekleştiren işlev. Bu işlev sırasında bir kez çağrılır CloudFormation yığın oluşturma.
  • LambdaIAMRol rolü – İşlev tarafından kullanılır setup_solutions_tests_portfolio AWS Service Catalog ve SageMaker API'lerini çağırmak için.
  • KurulumPortfolioInvoker – Fonksiyonu çağırır setup_solutions_tests_portfolio.

Lambda işlevi, CloudFormation dağıtımının bir parçası olarak çalıştıktan sonra, mevcut tüm SageMaker Etki Alanı kullanıcılarını, onlar için JumpStart'ı ve Projeleri etkinleştirmek üzere güçlendirir. CloudFormation yığını oluşturma ve izleme hakkında daha fazla bilgi için bkz. AWS CloudFormation nasıl çalışır?.

Kullanım durumu 2: Özel role sahip tek bir Etki Alanı kullanıcısı için JumpStart'ı etkinleştirin

Birçok müşteri, Etki Alanı kullanıcısı ekleme sürecini programlı bir şekilde otomatikleştirerek ölçeklendirmeyi tercih eder. Bu bölümde, özel bir role sahip yeni bir kullanıcı için JumpStart'ı etkinleştirmek üzere işe alım sürecinin bir parçası olarak kullanabileceğiniz bir Python betiği referansı sağlıyoruz. Bu Python betiği, verilen kullanıcı rolü için gerekli ilişkilendirmeyi gerçekleştirir. Bu komut dosyasını çağıran otomatik işlem, AWS Service Catalog ve SageMaker API'lerini kullanma iznine sahip olmalıdır. Aşağıdaki koda bakın:

sagemaker_client = boto3.client("sagemaker")
sc_client = boto3.client("servicecatalog") # function to return 'Amazon SageMaker' portfolio id
def get_solutions_portfolio_id(sc_client): portfolio_shares = sc_client.list_accepted_portfolio_shares() for portfolio in portfolio_shares['PortfolioDetails']: if portfolio['ProviderName'] == 'Amazon SageMaker': return(portfolio['Id']) portfolio_id = get_solutions_portfolio_id(sc_client)
# import Solutions Service Catalog Portfolio sagemaker_client.enable_sagemaker_servicecatalog_portfolio() sc_client.associate_principal_with_portfolio( PortfolioId=portfolio_id, PrincipalARN=, # custom role ARN PrincipalType='IAM' )

Komut dosyasını bağımsız olarak çağırabilir veya Studio'ya katılım için bir kullanıcı profili oluşturmak üzere otomatikleştirilmiş bir süreç içinde bir adım olarak gömebilirsiniz. Boto3'ü kullanma hakkında daha fazla bilgi için, bkz. Boto3 referansı.

Temizlemek

Tüm özel roller JumpStart'ı kullanmak için etkinleştirildikten sonra, artık gerekmeyen kaynakları temizleyebiliriz. Lambda işlevini silebilirsiniz setup_solutions_tests_portfolio ve IAM rolü LambdaIAMRole CloudFormation şablonu tarafından oluşturulur. Diğer iki IAM rolü, AmazonSageMakerServiceCatalogProductsLaunchRole ve AmazonSageMakerServiceCatalogProductsUseRole, ve ilişkili politika 1PProductUseRolePolicy (oluşturulduysa) silinmemelidir çünkü bunların JumpStart'a erişim için var olmaları gerekir.

Sonuç

Bu gönderide, programlı olarak hem mevcut kullanıcılar hem de yeni kullanıcılar için özel bir rol için JumpStart'ı etkinleştirme adımlarını paylaştık. Her zaman olduğu gibi, üretime dağıtmadan önce bu çözümde belirtilen adımları üretim dışı bir ortamda doğruladığınızdan emin olun.

Deneyin ve herhangi bir sorunuz varsa yorumlar bölümünde bize bildirin!

Ek kaynaklar

Daha fazla bilgi için aşağıdakilere bakın:


Yazarlar Hakkında

Nikhil Jaha Amazon Web Services'de Kıdemli Teknik Hesap Yöneticisidir. Odak alanları arasında AI/ML ve analitik bulunmaktadır. Boş zamanlarında kızıyla badminton oynamayı ve dışarıyı keşfetmeyi seviyor.

Evan Kravitz Amazon Web Services'de SageMaker JumpStart üzerinde çalışan bir yazılım mühendisidir. New York'ta yemek pişirmeyi ve koşuya çıkmayı seviyor.

spot_img

En Son İstihbarat

spot_img