Giderek daha fazla müşteri makine öğrenimi (ML) iş yüklerini üretime sokmak istediğinden, kuruluşlarda ML kodunun geliştirme yaşam döngüsünü kısaltmak için büyük bir baskı var. Birçok kuruluş, üretime hazır kodu daha hızlı göndermelerine yardımcı olduğu için keşif stiline (yöntemler veya sınıflar kullanmadan kod yazmak) karşıt olarak, makine öğrenimi kodlarını Python yöntemleri ve sınıfları biçiminde üretime hazır bir stilde yazmayı tercih eder.
İle Amazon Adaçayı Yapıcıkullanabilir, @uzak dekoratör Python kodunuza bir @remote dekoratör ile açıklama ekleyerek bir SageMaker eğitim işini çalıştırmak için. bu SageMaker Python SDK'sı mevcut çalışma alanı ortamınızı ve ilişkili tüm veri işleme kodlarını ve veri kümelerini otomatik olarak SageMaker eğitim platformunda çalışan bir SageMaker eğitim işine çevirecektir.
Bir Python işlevini yerel olarak çalıştırmak, genellikle yerel Python çalıştırma ortamıyla birlikte gelmeyebilecek birkaç bağımlılık gerektirir. Bunları paket ve bağımlılık yönetimi araçlarıyla kurabilirsiniz. bip or ilçe.
Ancak, bankacılık, sigortacılık ve sağlık hizmetleri gibi düzenlemeye tabi sektörlerde faaliyet gösteren kuruluşlar, katı veri gizliliği ve ağ denetimlerinin yürürlükte olduğu ortamlarda faaliyet gösterir. Bu kontroller genellikle ortamlarının hiçbirinde internet erişimi olmamasını zorunlu kılar. Bu tür bir kısıtlamanın nedeni, çıkış ve giriş trafiği üzerinde tam kontrole sahip olmak ve böylece vicdansız aktörlerin ağları aracılığıyla doğrulanmamış bilgiler gönderip alma şanslarını azaltabilmeleridir. İşitsel ve endüstriyel uyumluluk kurallarının bir parçası olarak genellikle bu tür bir ağ yalıtımına sahip olmak zorunludur. Makine öğrenimi söz konusu olduğunda, bu, veri bilimcilerin aşağıdakiler gibi halka açık depolardan herhangi bir paketi indirmesini kısıtlar: PyPI, Dev pitonya da Conda Forge.
Veri bilimcilerin ortamın kısıtlamalarına saygı gösterirken kendi seçtikleri araçlara erişmelerini sağlamak için kuruluşlar genellikle kendi ortamlarında barındırılan kendi özel paket havuzlarını kurarlar. AWS'de özel paket havuzlarını çeşitli şekillerde ayarlayabilirsiniz:
Bu yazıda, ilk seçeneğe odaklanıyoruz: CodeArtifact'i kullanmak.
Çözüme genel bakış
Aşağıdaki mimari diyagram, çözüm mimarisini göstermektedir.
Çözümü uygulamak için üst düzey adımlar aşağıdaki gibidir
- kullanarak internet erişimi olmayan bir sanal özel bulut (VPC) kurun. AWS CloudFormation şablonu.
- CodeArtifact'i özel bir PyPI deposu olarak ayarlamak ve VPC'ye bağlantı sağlamak için ikinci bir CloudFormation şablonu kullanın ve bir Amazon SageMaker Stüdyosu özel PyPI deposunu kullanmak için ortam.
- dayalı bir sınıflandırma modeli eğitmek MNİST açık kaynaklı SageMaker Python SDK'dan bir @remote dekoratörü kullanan veri kümesi. Tüm bağımlılıklar özel PyPI deposundan indirilecektir.
Bu gönderide SageMaker Studio'yu kullanmanın isteğe bağlı olduğunu unutmayın. İstediğiniz herhangi bir tümleşik geliştirme ortamında (IDE) çalışmayı seçebilirsiniz. sadece kurulumunu yapmalısın AWS Komut Satırı Arayüzü (AWS CLI) kimlik bilgileri doğru. Daha fazla bilgi için bkz. AWS CLI'yi yapılandırın.
Önkoşullar
sahip bir AWS hesabına ihtiyacınız var. AWS Kimlik ve Erişim Yönetimi (BEN) rol çözümün bir parçası olarak oluşturulan kaynakları yönetme izinlerine sahip. Ayrıntılar için bkz. AWS hesabı oluşturma.
İnternet bağlantısı olmayan bir VPC kurun
Yeni bir CloudFormation yığını oluşturun ile vpc.yaml şablon. Bu şablon aşağıdaki kaynakları oluşturur:
- İnternet bağlantısı olmayan iki Erişilebilirlik Alanında iki özel alt ağa sahip bir VPC
- Amazon S3'e erişim için bir Ağ Geçidi VPC uç noktası
- SageMaker, CodeArtifact ve diğer birkaç hizmet için arayüz VPC uç noktaları, VPC'deki kaynakların aşağıdakiler aracılığıyla AWS hizmetlerine bağlanmasına izin verir: AWS Özel Bağlantı
gibi bir yığın adı sağlayın. No-Internet
, ve yığın oluşturma işlemini tamamlayın.
Yığın oluşturma işleminin tamamlanmasını bekleyin.
VPC'yi kullanarak özel bir havuz ve SageMaker Studio kurun
Sonraki adım, kullanarak başka bir CloudFormation yığınını devreye almaktır. sagemaker_studio_codeartifact.yaml şablon. Bu şablon aşağıdaki kaynakları oluşturur:
Bir yığın adı sağlayın ve varsayılan değerleri koruyun veya yığın için parametreleri ayarlayın. CodeArtifact alan adı, özel havuz adı, kullanıcı profili adı SageMaker Studio için ve yukarı akış genel PyPI deposunun adı. Ayrıca size sağlamamız gereken VPC yığın adı önceki adımda oluşturuldu.
Yığın oluşturma tamamlandığında, SageMaker etki alanı SageMaker konsolunda görünür olmalıdır.
SageMaker Studio'da kullanılabilir internet bağlantısı olmadığını doğrulamak için, SageMaker Studio'yu başlatın. Seçin File
, New
, ve Terminal
bir terminal başlatmak ve denemek için kıvırmak herhangi bir internet kaynağı. Aşağıdaki ekran görüntüsünde gösterildiği gibi bağlanamaması gerekir.
Özel PyPI deposuyla bir @remote dekoratörü kullanarak bir görüntü sınıflandırıcı eğitin
Bu bölümde, bir komut çalıştırmak için @remote dekoratörünü kullanıyoruz. PyTorch MNIST görüntü sınıflandırma modeli üreten eğitim işi. Bunu başarmak için bir konfigürasyon dosyası kuruyoruz, eğitim betiğini geliştiriyoruz ve eğitim kodunu çalıştırıyoruz.
Bir yapılandırma dosyası oluşturun
Bir config.yaml
dosyasını açın ve aşağıdakileri yapmak için gereken yapılandırmaları sağlayın:
- Koş SageMaker eğitim işi daha önce oluşturulan internetsiz VPC'de
- Daha önce oluşturulan özel PyPI deposuna bağlanarak gerekli paketleri indirin
Dosya aşağıdaki kod gibi görünür:
The Dependencies
alan yolu içerir requirements.txt
, gereken tüm bağımlılıkları içerir. Tüm bağımlılıkların özel depodan indirileceğini unutmayın. bu requirements.txt
dosya aşağıdaki kodu içerir:
The PreExecutionCommands
bölümü, özel PyPI deposuna bağlanma komutunu içerir. CodeArtifact VPC uç nokta URL'sini almak için aşağıdaki kodu kullanın:
Genel olarak, CodeArtifact için iki VPC uç noktası alırız ve bunlardan herhangi birini bağlantı komutlarında kullanabiliriz. Daha fazla ayrıntı için bkz. Bir VPC'den CodeArtifact kullanın.
Ek olarak, aşağıdaki gibi yapılandırmalar execution role
, output location
, ve VPC configurations
yapılandırma dosyasında sağlanır. Bu yapılandırmalar, SageMaker eğitim işini çalıştırmak için gereklidir. Desteklenen tüm yapılandırmalar hakkında daha fazla bilgi için bkz. yapılandırma dosyası.
kullanmak zorunlu değildir. config.yaml
@remote dekoratör ile çalışmak için dosya. Bu, tüm konfigürasyonları @remote dekoratörüne sağlamanın daha temiz bir yoludur. Tüm yapılandırmalar doğrudan dekoratör bağımsız değişkenlerinde de sağlanabilir, ancak bu, uzun vadede değişikliklerin okunabilirliğini ve sürdürülebilirliğini azaltır. Ayrıca, yapılandırma dosyası bir yönetici tarafından oluşturulabilir ve bir ortamdaki tüm kullanıcılarla paylaşılabilir.
Eğitim senaryosunu geliştirin
Ardından eğitim kodunu basit Python dosyalarında hazırlıyoruz. Kodu üç dosyaya ayırdık:
- load_data.py – MNIST veri setini indirmek için kodu içerir
- model.py – Model için sinir ağı mimarisi kodunu içerir
- tren.py – Load_data.py ve model.py kullanarak modeli eğitmek için kodu içerir
In train.py
, ana eğitim işlevini aşağıdaki gibi dekore etmemiz gerekiyor:
Artık eğitim kodunu çalıştırmaya hazırız.
@remote dekoratör ile eğitim kodunu çalıştırın
Kodu bir terminalden veya çalıştırılabilir herhangi bir bilgi isteminden çalıştırabiliriz. Bu gönderide, bunu göstermek için bir SageMaker Studio not defteri hücresi kullanıyoruz:
Önceki komutu çalıştırmak, eğitim işini tetikler. Günlüklerde, paketleri özel PyPI deposundan indirdiğini görebiliriz.
Bu, internet erişimi olmayan bir ortamda özel bir havuzla çalışan bir @remote dekoratörün uygulanmasını tamamlar.
Temizlemek
Kaynakları temizlemek için, bölümündeki yönergeleri izleyin. TEMİZLEME.md.
Sonuç
Bu gönderide, herhangi bir internet erişimi olmayan kısıtlayıcı ortamlarda çalışmaya devam ederken @remote dekoratörün yeteneklerini etkili bir şekilde nasıl kullanacağımızı öğrendik. SageMaker'daki yapılandırma dosyası desteğinin yardımıyla CodeArtifact özel havuz yeteneklerini nasıl entegre edebileceğimizi de öğrendik. Bu çözüm, yinelemeli geliştirmeyi çok daha basit ve hızlı hale getirir. Diğer bir avantaj ise, eğitim kodunu daha doğal, nesne yönelimli bir şekilde yazmaya devam edebilmeniz ve SageMaker yeteneklerini, kodunuzda minimum değişiklikle uzak bir kümede eğitim işleri çalıştırmak için kullanmaya devam edebilmenizdir. Bu gönderinin bir parçası olarak gösterilen tüm kodlar şu adreste mevcuttur: GitHub deposu.
Bir sonraki adım olarak, şuraya göz atmanızı öneririz: @uzak dekoratör işlevi ve Python SDK API'si ve onu seçtiğiniz ortam ve IDE'de kullanın. Ek örnekler şu adreste mevcuttur: amazon-sagemaker-örnekler hızlı bir şekilde başlamanız için depo. Gönderiye de göz atabilirsiniz Minimum kod değişikliğiyle yerel makine öğrenimi kodunuzu Amazon SageMaker Training işleri olarak çalıştırın daha fazla ayrıntı için.
Yazar hakkında
vikeş pandey AWS'de Makine Öğrenimi Uzmanı Çözüm Mimarıdır ve finans sektöründeki müşterilerin üretken yapay zeka ve makine öğrenimi üzerinde çözümler tasarlamasına ve oluşturmasına yardımcı olur. Vikesh, iş dışında farklı mutfakları denemekten ve açık hava sporları yapmaktan hoşlanıyor.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. Otomotiv / EV'ler, karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- Blok Ofsetleri. Çevre Dengeleme Sahipliğini Modernleştirme. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :dır-dir
- :olumsuzluk
- $UP
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- Hakkımızda
- erişim
- erişme
- Hesap
- Başarmak
- karşısında
- aktörler
- katma
- Ek
- Gizem
- avantaj
- AI
- Türkiye
- izin vermek
- Ayrıca
- Amazon
- Amazon Adaçayı Yapıcı
- Amazon Web Servisleri
- an
- ve
- Başka
- herhangi
- api
- mimari
- ARE
- argümanlar
- AS
- ilişkili
- At
- otomatik olarak
- kullanılabilirliği
- mevcut
- AWS
- Bankacılık
- merkezli
- BE
- Çünkü
- inşa etmek
- fakat
- by
- CAN
- yetenekleri
- şansı
- değişiklikler
- Kontrol
- seçim
- Klinik
- sınıflar
- sınıflandırma
- bulut
- Küme
- kod
- COM
- nasıl
- geliyor
- tamamlamak
- uyma
- yapılandırma
- Sosyal medya
- bağlantı
- bağ
- Bağlantı
- konsolos
- içeren
- devam etmek
- kontrol
- kontroller
- olabilir
- çevrimiçi kurslar düzenliyorlar.
- oluşturur
- oluşturma
- Tanıtım
- Müşteriler
- veri
- veri gizliliği
- veri işleme
- veri kümeleri
- Varsayılan
- göstermek
- Bağımlılık
- dağıtmak
- Dizayn
- ayrıntılar
- geliştirmek
- gelişme
- farklı
- direkt olarak
- bölünmüş
- do
- domain
- indir
- etkili bir şekilde
- teşvik etmek
- Son nokta
- çevre
- ortamları
- devirler
- örnekler
- infaz
- mevcut
- FAIL
- yanlış
- Daha hızlı
- az
- alan
- fileto
- dosyalar
- mali
- finans endüstrileri
- Ad
- Şamandıra
- odak
- takip et
- takip etme
- şu
- İçin
- Airdrop Formu
- itibaren
- tam
- işlev
- geçit
- üretken
- üretken yapay zeka
- almak
- grup
- Var
- sahip olan
- sağlık
- yardım et
- yardım
- yardımcı olur
- üst düzey
- ev sahipliği yaptı
- Ne kadar
- Nasıl Yapılır
- HTML
- http
- HTTPS
- ID
- Kimlik
- görüntü
- Görüntü sınıflandırması
- uygulamak
- uygulama
- in
- Sanayi
- Endüstri
- bilgi
- kurmak
- talimatlar
- sigorta
- entegre
- entegre
- Internet
- internet erişimi
- internet bağlantısı
- içine
- izolasyon
- IT
- İş
- Mesleki Öğretiler
- jpg
- sadece
- tutmak
- Bilmek
- büyük
- başlatmak
- öğrendim
- öğrenme
- yaşam döngüsü
- sevmek
- çizgi
- yerel
- lokal olarak
- giriş
- Uzun
- bakıyor
- GÖRÜNÜYOR
- makine
- makine öğrenme
- Ana
- YAPAR
- yönetmek
- yönetim
- yönetim Araçları
- Manda
- zorunlu
- çok
- Mayıs..
- yöntemleri
- en az
- ML
- model
- Modüller
- Daha
- çok
- çoklu
- isim
- yerli
- Doğal (Madenden)
- gerek
- gerekli
- ağ
- ağ
- sinir ağı
- yeni
- sonraki
- yok hayır
- defter
- of
- sık sık
- on
- açık kaynak
- işletmek
- işletme
- karşı
- seçenek
- or
- sipariş
- organizasyonlar
- Diğer
- dışarı
- dışında
- tekrar
- kendi
- paket
- paketler
- parametreler
- Bölüm
- yol
- izinleri
- yer
- platform
- Platon
- Plato Veri Zekası
- PlatoVeri
- oynama
- Çivi
- tercih
- Hazırlamak
- önceki
- gizlilik
- özel
- süreç
- işleme
- üretir
- üretim
- Profil
- sağlamak
- sağlanan
- halka açık
- Itmek
- koymak
- Python
- pytorch
- hızla
- hazır
- neden
- alma
- azaltmak
- azaltır
- düzenlenmekte olan
- düzenlenmiş endüstriler
- uzak
- Depo
- gereklidir
- gerektirir
- kaynak
- Kaynaklar
- ilişkin
- kısıtlama
- kısıtlamaları
- kısıtlayıcı
- Rol
- kurallar
- koşmak
- koşu
- ishal
- sagemaker
- bilim adamları
- sdk
- İkinci
- Bölüm
- güvenlik
- görmek
- tohum
- gönderme
- Hizmetler
- set
- birkaç
- Paylaşılan
- GEMİ
- meli
- gösterilen
- Gösteriler
- Basit
- basit
- sadece
- So
- çözüm
- Çözümler
- uzman
- Spor
- yığın
- başladı
- adım
- Basamaklar
- Yine
- mağaza
- Sıkı
- stüdyo
- stil
- alt
- altağlar
- böyle
- Verilen
- arz
- destek
- destekli
- şablon
- terminal
- o
- The
- ve bazı Asya
- Onları
- Orada.
- Bunlar
- onlar
- Re-Tweet
- üç
- İçinden
- için
- araçlar
- Torchvizyon
- trafik
- Eğitim
- çevirmek
- gerçek
- denemek
- iki
- vicdansız
- URL
- kullanım
- Kullanılmış
- kullanıcılar
- kullanma
- Değerler
- doğrulamak
- üzerinden
- Sanal
- gözle görülür
- Yol..
- yolları
- we
- ağ
- web hizmetleri
- ne zaman
- hangi
- süre
- Vikipedi
- irade
- ile
- olmadan
- İş
- çalışma
- yazmak
- yazı yazıyor
- tatlım
- Sen
- zefirnet
- bölgeleri