Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Not defterlerini Amazon SageMaker Studio Lab'da toplu işler olarak çalıştırın

Son zamanlarda, Amazon SageMaker Stüdyosu not defterlerini yinelenen bir programda çalışabilen toplu işler olarak çalıştırmanın kolay bir yolunu başlattı. Amazon SageMaker Stüdyo Laboratuvarı SageMaker Studio Lab'de geliştirdiğiniz not defterlerini AWS hesabınızda çalıştırmanıza olanak tanıyan bu özelliği de destekler. Bu, makine öğrenimi (ML) deneylerinizi daha büyük veri kümeleri ve daha güçlü örneklerle, yeni bir şey öğrenmek veya bir satır kod değiştirmek zorunda kalmadan hızla ölçeklendirmenizi sağlar.

Bu gönderide, Studio Lab ortamınızı bir AWS hesabına bağlamak için tek seferlik önkoşul konusunda size yol göstereceğiz. Ardından, not defterlerini Studio Lab'den bir toplu iş olarak çalıştırma adımlarında size yol gösteriyoruz.

Çözüme genel bakış

Studio Lab, Jupyter açık kaynak uzantısına dayanan Studio ile aynı uzantıyı bir araya getirdi. planlanmış not defterleri. Bu uzantı, işlem türü gibi AWS'ye özgü ek parametrelere sahiptir. Studio Lab'de, zamanlanmış bir not defteri önce bir Amazon Basit Depolama Hizmeti (Amazon S3) klasörünü açın, ardından seçilen işlem türüyle programlanan zamanda çalıştırın. İş tamamlandığında çıktı bir S3 klasörüne yazılır ve AWS bilgi işlemi tamamen durdurularak devam eden maliyetlerin önüne geçilir.

Önkoşullar

Studio Lab not defteri işlerini kullanmak için bağlanacağınız AWS hesabına yönetici erişiminiz (veya bu erişime sahip birinden yardım almanız) gerekir. Bu gönderinin geri kalanında AWS yöneticisi olduğunuzu varsayıyoruz, aksi takdirde yöneticinizden veya hesap sahibinden bu adımları sizinle birlikte incelemesini isteyin.

Bir SageMaker yürütme rolü oluşturun

AWS hesabının bir AWS Kimlik ve Erişim Yönetimi (IAM) SageMaker yürütme rolü. Bu rol, hesap içindeki SageMaker kaynakları tarafından kullanılır ve SageMaker'dan AWS hesabındaki diğer kaynaklara erişim sağlar. Bizim durumumuzda, not defteri işlerimiz bu izinlerle çalışır. SageMaker bu hesapta daha önce kullanılmışsa, bir rol zaten mevcut olabilir ancak gerekli tüm izinlere sahip olmayabilir. Öyleyse devam edelim ve yeni bir tane yapalım.

Bu AWS hesabına kaç SageMaker Studio Lab ortamının erişeceğinden bağımsız olarak, aşağıdaki adımların yalnızca bir kez yapılması gerekir.

  1. IAM konsolunda, Roller Gezinti bölmesinde.
  2. Klinik Rol oluştur.
  3. İçin Güvenilir varlık türüseçin AWS hizmeti.
  4. İçin Diğer AWS Hizmetleri için kullanım örnekleri, seçmek SageMaker.
  5. seç SageMaker – Yürütme.
  6. Klinik Sonraki.
  7. İzinleri inceleyin, ardından seçin Sonraki.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
  8. İçin Rol ismi, bir ad girin (bu gönderi için sagemaker-execution-role-notebook-jobs).
  9. Klinik Rol oluştur.
  10. ARN rolünü not edin.

ARN rolü şu biçimde olacaktır: arn:aws:iam::[account-number]:role/service-role/[role-name] ve Studio Lab kurulumunda gereklidir.

Bir IAM kullanıcısı oluşturun

Bir Studio Lab ortamının AWS'ye erişmesi için AWS içinde bir IAM kullanıcısı oluşturmamız ve ona gerekli izinleri vermemiz gerekir. Daha sonra o kullanıcı için bir dizi erişim anahtarı oluşturmamız ve bunları Studio Lab ortamına sağlamamız gerekiyor.

Bu adım, bu AWS hesabına erişecek her SageMaker Studio Lab ortamı için tekrarlanmalıdır.

Yöneticilerin ve AWS hesabı sahiplerinin, iyi tasarlanmış güvenlik uygulamalarının mümkün olan en geniş ölçüde takip edilmesini sağlamaları gerektiğini unutmayın. Örneğin, kullanıcı izinlerinin kapsamı her zaman daraltılmalı ve kimlik bilgilerinin ele geçirilmesinin etkisini en aza indirmek için erişim anahtarları düzenli olarak değiştirilmelidir.

Bu blogda nasıl kullanılacağını gösteriyoruz AmazonSageMakerFullAccess yönetilen politika Bu politika, Amazon SageMaker'a gerekenin ötesine geçebilecek geniş erişim sağlar. hakkında ayrıntılar AmazonSageMakerFullAccess bulunabilir okuyun.

Studio Lab kurumsal güvenlik kullansa da Studio Lab kullanıcı kimlik bilgilerinin AWS hesabınızın bir parçasını oluşturmadığına ve bu nedenle örneğin AWS parolanıza veya MFA politikalarınıza tabi olmadığına dikkat edilmelidir.

İzinlerin kapsamını olabildiğince daraltmak için, özellikle bu erişim için bir kullanıcı profili oluşturuyoruz.

  1. IAM konsolunda, Kullanıcılar Gezinti bölmesinde.
  2. Klinik Kullanıcı ekleyin.
  3. İçin kullanıcı adı, bir ad girin. Bu hesabı kullanacak olan tek bir kişiye bağlı bir ad kullanmak iyi bir uygulamadır; bu, denetim günlüklerini incelerken yardımcı olur.
  4. İçin AWS erişim türünü seçinseçin Erişim anahtarı – Programlı erişim.
  5. Klinik Sonraki: İzinler.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
  6. Klinik Mevcut politikaları doğrudan ekleyin.
  7. Ara ve seç AmazonSageMakerFullAccess.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
  8. Ara ve seç AmazonEventBridgeFullAccess.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
  9. Klinik Sonraki: Etiketler.
  10. Klinik Sonraki: İnceleme.
  11. Politikalarınızı onaylayın, ardından seçin Kullanıcı oluştur.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.Kullanıcı oluşturma işleminin son sayfası size kullanıcının erişim anahtarlarını göstermelidir. Bu sekmeyi açık bırakın, çünkü buraya geri dönemeyiz ve bu ayrıntılara ihtiyacımız var.
  12. Studio Lab'de yeni bir tarayıcı sekmesi açın.
  13. Üzerinde fileto menü seç Yeni Başlatıcı, Daha sonra seçmek terminal.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
  14. Komut satırında aşağıdaki kodu girin:
    aws configure

  15. Aşağıdaki kodu girin:
    1. Erişim anahtarı kimliğiniz ve gizli erişim anahtarınız için IAM konsol sayfasındaki değerleri girin.
    2. İçin Default region name, girmek us-west-2.
    3. Ayrılmak Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Tebrikler, Studio Lab ortamınız artık AWS hesabına erişecek şekilde yapılandırılmalıdır. Bağlantıyı test etmek için aşağıdaki komutu verin:

aws sts get-caller-identity

Bu komut, kullanmak üzere yapılandırdığınız IAM kullanıcısı hakkındaki ayrıntıları döndürmelidir.

Bir not defteri işi oluşturma

Not defteri işleri, Studio Lab içindeki Jupyter not defterleri kullanılarak oluşturulur. Not defteriniz Studio Lab'de çalışıyorsa bir not defteri işi olarak çalışabilir (daha fazla kaynak ve AWS hizmetlerine erişim ile). Ancak, izlenmesi gereken birkaç şey var.

Not defterinizi çalıştırmak için paketler yüklediyseniz, bu paketleri not defterinizin üst kısmındaki bir hücreye yüklemek için komutlar ekleyin. Her satırın başında bir & simgesi kullanılarak kod çalıştırılacak komut satırına gönderilir. Aşağıdaki örnekte, ilk hücre PyTorch kitaplıklarını yüklemek için pip kullanır:

%%capture
%pip install torch
%pip install torchvision

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Not defterimiz eğitimli bir PyTorch modeli oluşturacaktır. Normal kodumuz ile modeli Studio Labs'deki dosya sistemine kaydediyoruz.

Bunu bir defter işi olarak çalıştırdığımızda, modeli daha sonra ulaşabileceğimiz bir yere kaydetmemiz gerekiyor. Bunu yapmanın en kolay yolu, modeli Amazon S3'e kaydetmektir. Modellerimizi kaydetmek için bir S3 kovası oluşturduk ve nesneyi kovaya kopyalamak için başka bir komut satırı hücresi kullandık.

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai. Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Biz kullanın AWS Komut Satırı Arayüzü (AWS CLI) nesneyi kopyalamak için buraya. Şunu da kullanabiliriz: Python için AWS SDK (Boto3) dosya adı üzerinde daha karmaşık veya otomatik bir kontrole sahip olmak isteseydik. Şimdilik, modellerin üzerine yazılmaması için not defterini her çalıştırdığımızda dosya adını değiştireceğimizden emin olacağız.

Şimdi not defteri işini oluşturmaya hazırız.

  1. Not defteri adını seçin (sağ tıklayın), ardından Defter İşi Oluştur.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.
    Bu menü seçeneği yoksa Studio Lab ortamınızı yenilemeniz gerekebilir. Bunu yapmak için başlatıcıdan Terminal'i açın ve aşağıdaki kodu çalıştırın:
    conda deactivate && conda env remove —name studiolab

  2. Ardından, JupyterLab örneğinizi seçerek yeniden başlatın. Amazon SageMaker Stüdyo Laboratuvarı üst menüden, ardından JupyterLab'ı yeniden başlatın.Alternatif olarak, proje sayfasına gidin ve çalışma zamanını kapatın ve yeniden başlatın.
  3. Üzerinde İş oluştur sayfası, için işlem türü, işinize uygun bilgi işlem türünü seçin.

    Maliyet de dahil olmak üzere farklı bilgi işlem kapasitesi türleri hakkında daha fazla bilgi için bkz. Amazon SageMaker Fiyatlandırması (Seç İsteğe Bağlı Fiyatlandırma ve Eğitim sekme. AWS hesabınızdaki işlem türünün kota kullanılabilirliğini de kontrol etmeniz gerekebilir. Hizmet kotaları hakkında daha fazla bilgi için bkz.: AWS hizmet kotaları.Bu örnek için, 3.2 vCPU, 8 GB bellek ve Tesla V61 GPU sunan bir ml.p100xlarge bulut sunucusu seçtik.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

    Bu sayfada herhangi bir uyarı yoksa, gitmeye hazır olmalısınız. Uyarılar varsa, ARN'de doğru rolün belirtildiğinden emin olmak için kontrol edin. Ek seçenekler. Bu rol, daha önce oluşturduğumuz SageMaker yürütme rolünün ARN'si ile eşleşmelidir. ARN şu biçimdedir: arn:aws:iam::[account-number]:role/service-role/[role-name].

    içinde başka seçenekler de var Ek seçenekler; örneğin, ek kitaplıklar kurmanıza gerek kalmadan ihtiyacınız olan yapılandırmaya zaten sahip olabilecek belirli bir görüntüyü ve çekirdeği seçebilirsiniz.

  4. Bu not defterini bir zamanlamaya göre çalıştırmak istiyorsanız, Bir programa göre çalıştırın ve işin ne sıklıkta çalışmasını istediğinizi belirtin.Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.Bu not defterinin bir kez çalışmasını istiyoruz, bu yüzden seçiyoruz Şimdi koş.
  5. Klinik oluşturmak.
    Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Dizüstü bilgisayar işleri listesi

The Dizüstü Bilgisayar İşleri sayfası, şu anda çalışan tüm işleri ve geçmişte çalışan işleri listeler. Bu listeyi Başlatıcı'dan bulabilirsiniz (seçin, fileto, Yeni Başlatıcı), ardından Dizüstü Bilgisayar İşleri içinde Diğer Bölüm.

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Not defteri işi tamamlandığında, durumun şu şekilde değiştiğini göreceksiniz: Completed (kullan güncelle Gerekirse seçenek). Daha sonra çıktı dosyalarına erişmek için indirme simgesini seçebilirsiniz.

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

Dosyalar indirildiğinde, kod çıktısı ve çıktı günlüğü ile birlikte not defterini inceleyebilirsiniz. Bizim durumumuzda, eğitim hücresinin çalışmasını zamanlamak için kod eklediğimiz için, eğitim işinin ne kadar sürdüğünü görebiliriz: 16 dakika 21 saniye; bu, kodun Studio Lab içinde çalıştırılmasına göre çok daha hızlıdır (1 saat , 38 dakika, 55 saniye). Aslında, dizüstü bilgisayarın tamamı 1,231 saniyede (20 dakikanın biraz üzerinde) ve 1.30 doların (USD) altında bir maliyetle çalıştı.

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.

W artık dönem sayısını artırabilir ve modelin kayıp değerini iyileştirmek için hiperparametreleri ayarlayabilir ve başka bir defter işi gönderebilir.

Sonuç

Bu gönderide, Studio Lab not defteri işlerinin Studio Lab'de geliştirdiğimiz kodu ölçeklendirmek ve bir AWS hesabında daha fazla kaynakla çalıştırmak için nasıl kullanılacağını gösterdik.

AWS kimlik bilgilerini Studio Lab ortamımıza ekleyerek yalnızca not defteri işlerine erişmekle kalmıyoruz, aynı zamanda doğrudan Studio Lab not defterlerimizin içinden bir AWS hesabından diğer kaynaklara da erişebiliyoruz. Python için AWS SDK'ye bir göz atın.

Studio Lab'ın bu ekstra yeteneği, başarabileceğiniz proje türlerinin ve boyutlarının sınırlarını kaldırır. Bu yeni yetenekle ne inşa ettiğinizi bize bildirin!


yazarlar hakkında

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai.Mike Odalar AWS'de AI ve ML için bir Geliştirici Sözcüsü. Son 7 yılını inşaatçıların bulut, güvenlik ve makine öğrenimi öğrenmelerine yardımcı olarak geçirdi. Aslen Birleşik Krallık'tan olan Mike, tutkulu bir çay içicisi ve Lego ustasıdır.

Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence'da not defterlerini toplu işler olarak çalıştırın. Dikey Arama. Ai. michele monclova AWS'de SageMaker ekibinde ana ürün yöneticisidir. Yerli bir New Yorklu ve Silikon Vadisi gazisi. Yaşam kalitemizi artıran yenilikler konusunda tutkulu.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi