AWS müşterileri, bulut altyapılarını tasarlamak, geliştirmek ve yönetmek için Kod Olarak Altyapıya (IaC) güveniyor. IaC, geliştirme operasyonları (DevOps) alanındaki en iyi uygulamaları izleyebilirken müşteri altyapısının ve hizmetlerinin tutarlı, ölçeklenebilir ve tekrarlanabilir olmasını sağlar.
AWS altyapısını ve hizmetlerini IaC ile yönetmek için olası bir yaklaşım, Terraform, geliştiricilerin altyapılarını yeniden kullanılabilir kod modüllerinde düzenlemelerine olanak tanır. Bu yön, makine öğrenimi (ML) alanında giderek daha fazla önem kazanmaktadır. IaC olarak Terraform ile eğitim ve çıkarım da dahil olmak üzere ML ardışık düzenlerini geliştirmek ve yönetmek, altyapıyı sıfırdan geliştirmek zorunda kalmadan birden çok ML kullanım durumu veya Bölge için kolayca ölçeklendirmenizi sağlar. Ayrıca, ML ardışık düzeninin farklı uygulamaları arasında eğitim ve çıkarım için altyapı (örneğin, örnek türü ve boyutu) için tutarlılık sağlar. Bu, istekleri ve gelen trafiği farklı yönlere yönlendirmenizi sağlar. Amazon Adaçayı Yapıcı uç noktalar.
Bu gönderide, Terraform ve Amazon SageMaker kullanarak ML işlem hatlarını nasıl dağıtacağınızı ve yöneteceğinizi gösteriyoruz.
Çözüme genel bakış
Bu gönderi, kod sağlar ve Amazon SageMaker kullanarak model eğitimi ve çıkarımı için Terraform ile ML işlem hatları için AWS altyapısını dağıtmak için gerekli adımlarda size yol gösterir. ML işlem hattı şu şekilde yönetilir: AWS Basamak İşlevleri Aşağıdaki şekilde gösterildiği gibi ML işlem hattında uygulanan farklı adımları düzenlemek için.
Step Functions bir AWS Lambda Daha sonra bir SageMaker eğitim işi başlatılırken kullanılan benzersiz bir iş kimliği oluşturan işlev. Step Functions ayrıca çıkarım için kullanılan bir model, uç nokta konfigürasyonu ve uç nokta oluşturur. Ek kaynaklar aşağıdakileri içerir:
- AWS Kimlik ve Erişim Yönetimi Diğer kaynaklarla etkileşime olanak sağlamak için kaynaklara eklenen (IAM) rolleri ve politikaları
- Amazon Basit Depolama Hizmeti Eğitim verileri ve model çıktısı için (Amazon S3) klasörleri
- An Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR) deposu liman işçisi eğitim ve çıkarım mantığını içeren resim
Bir Docker görüntüsüyle eğitim ve çıkarım için ML ile ilgili kod, esas olarak aşağıdaki mevcut çalışmalara dayanır: GitHub deposu.
Aşağıdaki şema, çözüm mimarisini göstermektedir:
Aşağıdaki üst düzey adımlarda size yol gösteriyoruz:
- AWS altyapınızı Terraform ile devreye alın.
- Docker imajınızı Amazon ECR'ye aktarın.
- ML işlem hattını çalıştırın.
- Uç noktanızı çağırın.
depo yapısı
Bu gönderi için kullanılan kodu ve verileri içeren depoyu aşağıda bulabilirsiniz. GitHub deposu.
Depo aşağıdaki dizinleri içerir:
/terraform
– Aşağıdaki alt klasörlerden oluşur:./infrastructure
– Altyapıyı dağıtmak için kullandığımız değişken bildirimlere ek olarak ML ardışık düzen modülünü çağıran main.tf dosyasını içerir./ml-pipeline-module
– Yeniden kullanabileceğimiz Terraform ML ardışık düzen modülünü içerir
/src
– Aşağıdaki alt klasörlerden oluşur:./container
– Docker görüntüsünün tanımlarıyla birlikte eğitim ve çıkarım için örnek kod içerir./lambda_function
– SageMaker eğitim işi için benzersiz bir iş kimliği gibi konfigürasyonları oluşturan Lambda işlevi için Python kodunu içerir
/data
– Aşağıdaki dosyayı içerir:./iris.csv
– ML modelini eğitmek için veri içerir
Önkoşullar
Bu izlenecek yol için aşağıdaki ön koşullara sahip olmalısınız:
- Bir AWS hesabı
- Terraform sürüm 0.13.5 veya üstü
- AWS Komut Satırı Arayüzü (AWS CLI) v2
- Python 3.7 veya daha büyük
- liman işçisi
AWS altyapınızı Terraform ile devreye alın
ML ardışık düzenini dağıtmak için birkaç değişkeni ve adı ihtiyaçlarınıza göre ayarlamanız gerekir. Bu adımın kodu, /terraform
dizin.
İlk kez başlatırken dosyayı açın terraform/infrastructure/terraform.tfvars
ve değişkeni ayarlayın proje Adı değişkene ek olarak projenizin adına bölge başka bir Bölgede dağıtmak istiyorsanız. Eğitim ve çıkarım için örnek türleri gibi ek değişkenleri de değiştirebilirsiniz.
Ardından, altyapıyı Terraform ile dağıtmak için aşağıdaki komutları kullanın:
Çıktıyı kontrol edin ve planlanan kaynakların doğru göründüğünden emin olun ve başvuru aşamasında her şey doğruysa evet ile onaylayın. Ardından Amazon ECR konsoluna gidin (veya terminaldeki Terraform çıktısını kontrol edin) ve Terraform aracılığıyla oluşturduğunuz ECR deponuzun URL'sini alın.
Çıktı, ECR veri havuzu URL'si dahil olmak üzere aşağıdaki görüntülenen çıktıya benzer görünmelidir:
Docker imajınızı Amazon ECR'ye aktarın
ML işlem hattı ve SageMaker'ın çıkarım için bir SageMaker uç noktası eğitmesi ve sağlaması için bir Docker görüntüsü sağlamanız ve bunu Amazon ECR'de depolamanız gerekir. Dizinde bir örnek bulabilirsiniz src/container
. Daha önceki adımdan itibaren AWS altyapısını zaten uyguladıysanız, açıklandığı gibi Docker görüntüsünü aktarabilirsiniz. Docker imajınız geliştirildikten sonra aşağıdaki işlemleri yapabilir ve Amazon ECR'ye aktarabilirsiniz (Amazon ECR URL'sini ihtiyaçlarınıza göre ayarlayın):
AWS altyapısını Terraform ile zaten uyguladıysanız, kodunuzdaki ve Docker imajınızdaki değişiklikleri tekrar Terraform aracılığıyla dağıtmadan doğrudan Amazon ECR'ye iletebilirsiniz.
ML ardışık düzenini çalıştırın
ML işlem hattını eğitmek ve çalıştırmak için Step Functions konsoluna gidin ve uygulamayı başlatın. Durum makinesinin görselleştirilmesinde her adımın ilerlemesini kontrol edebilirsiniz. Ayrıca SageMaker eğitim işinin ilerlemesini ve SageMaker uç noktanızın durumunu da kontrol edebilirsiniz.
Durum makinesini Step Functions'da başarıyla çalıştırdıktan sonra SageMaker bitiş noktasının oluşturulduğunu görebilirsiniz. SageMaker konsolunda seçin sonuç gezinme bölmesinde, ardından Uç noktalar. Durumun InService olarak değişmesini beklediğinizden emin olun.
Uç noktanızı çağırın
Uç noktanızı çağırmak için (bu örnekte, iris veri kümesi için), aşağıdaki Python betiğini aşağıdakilerle birlikte kullanabilirsiniz: Python için AWS SDK (Boto3). Bunu bir SageMaker not defterinden yapabilir veya aşağıdaki kod parçacığını bir Lambda işlevine gömebilirsiniz:
Temizlemek
Terraform'un oluşturduğu altyapıyı terraform yok et komutu ile yok edebilirsiniz ancak öncelikle S3 klasörlerindeki veri ve dosyaları silmeniz gerekiyor. Ayrıca, SageMaker uç noktası (veya birden çok kez çalıştırılırsa birden çok SageMaker uç noktası) Step Functions aracılığıyla oluşturulur ve Terraform aracılığıyla yönetilmez. Bu, dağıtımın Step Functions ile ML ardışık düzenini çalıştırırken gerçekleştiği anlamına gelir. Bu nedenle, gereksiz maliyetlerden kaçınmak için SageMaker uç noktasını veya Step Functions ML ardışık düzeni aracılığıyla oluşturulan uç noktalarını da sildiğinizden emin olun. Aşağıdaki adımları tamamlayın:
- Amazon S3 konsolunda, S3 eğitim paketindeki veri kümesini silin.
- Amazon S3 konsolu veya AWS CLI aracılığıyla S3 modelleri kovasındaki ML ardışık düzeni aracılığıyla eğittiğiniz tüm modelleri silin.
- Terraform ile oluşturulan altyapıyı yok edin:
- SageMaker konsolunda veya AWS CLI aracılığıyla Step Functions aracılığıyla oluşturulan SageMaker uç noktalarını, uç nokta yapılandırmasını ve modelleri silin.
Sonuç
Tebrikler! Terraform ile SageMaker kullanarak bir ML işlem hattını dağıttınız. Bu örnek çözüm, ML işlem hatları için AWS altyapısını ve hizmetlerini yeniden kullanılabilir bir şekilde nasıl kolayca dağıtabileceğinizi gösterir. Bu, birden çok kullanım senaryosu veya Bölge için ölçeklendirmenize olanak tanır ve ML modellerini tek bir tıklamayla tutarlı bir şekilde eğitmeye ve dağıtmaya olanak tanır. Ayrıca, örneğin yeni veriler mevcut olduğunda veya algoritma kodunu değiştirmek istediğinizde ML ardışık düzenini birden çok kez çalıştırabilirsiniz. Ayrıca istekleri veya trafiği farklı SageMaker uç noktalarına yönlendirmeyi de seçebilirsiniz.
Sizi ihtiyaçlarınıza ve potansiyel şirket standartlarına göre güvenlik özellikleri eklemeye ve en iyi güvenlik uygulamalarını benimsemeye teşvik ediyorum. Ek olarak, bu çözümü CI/CD işlem hatlarınıza yerleştirmek, gereksinimlerinize göre DevOps en iyi uygulamalarını ve standartlarını benimseme ve oluşturma konusunda size daha fazla yetenek sağlayacaktır.
Yazar Hakkında
Oliver Zollikofer Amazon Web Services'te Veri Bilimcisidir. Global kurumsal müşterilerin makine öğrenimi modelleri oluşturmasına, eğitmesine ve dağıtmasına ve ayrıca MLOps ile ML modeli yaşam döngüsünü yönetmesine olanak tanır. Ayrıca, ilgili bulut çözümlerini oluşturur ve tasarlar.
- Akıllı para. Avrupa'nın En İyi Bitcoin ve Kripto Borsası.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. SERBEST ERİŞİM.
- KriptoHawk. Altcoin Radarı. Ücretsiz deneme.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/deploy-and-manage-machine-learning-pipelines-with-terraform-using-amazon-sagemaker/
- "
- 100
- 7
- erişim
- Göre
- karşısında
- eylemler
- ilave
- Ek
- algoritma
- Türkiye
- zaten
- Amazon
- Amazon Web Servisleri
- Başka
- yaklaşım
- mimari
- ALAN
- mevcut
- AWS
- olmak
- İYİ
- en iyi uygulamalar
- vücut
- sınır
- inşa etmek
- inşa
- yetenekleri
- durumlarda
- CD
- değişiklik
- Klinik
- bulut
- bulut altyapısı
- kod
- şirket
- yapılandırma
- konsolos
- Konteyner
- içeren
- maliyetler
- çevrimiçi kurslar düzenliyorlar.
- oluşturur
- müşteri
- Müşteriler
- veri
- veri bilimcisi
- dağıtmak
- konuşlandırılmış
- dağıtma
- açılma
- tarif edilen
- Dizayn
- yıkmak
- yok
- geliştirmek
- gelişmiş
- geliştiriciler
- gelişen
- gelişme
- farklı
- direkt olarak
- liman işçisi
- kolayca
- etkinleştirmek
- teşvik etmek
- Son nokta
- kuruluş
- her şey
- örnek
- mevcut
- keşfetmek
- Moda
- Özellikler
- şekil
- Ad
- ilk kez
- takip et
- takip etme
- işlev
- daha fazla
- üreten
- Küresel
- sahip olan
- Ne kadar
- Nasıl Yapılır
- HTTPS
- Kimlik
- görüntü
- uygulama
- uygulanan
- önem
- dahil
- içerir
- Dahil olmak üzere
- giderek
- Altyapı
- giriş
- etkileşim
- IT
- İş
- son
- öğrenme
- çizgi
- makine
- makine öğrenme
- yönetmek
- yönetilen
- yönetme
- ML
- model
- modelleri
- çoklu
- isimleri
- Navigasyon
- gerekli
- defter
- açık
- Operasyon
- sipariş
- Diğer
- politikaları
- mümkün
- potansiyel
- proje
- sağlamak
- sağlar
- Depo
- talep
- isteklerinizi
- Yer Alan Kurallar
- Kaynaklar
- yanıt
- Rota
- koşmak
- koşu
- ölçeklenebilir
- ölçek
- bilim adamı
- sdk
- güvenlik
- Hizmetler
- benzer
- Basit
- beden
- katı
- çözüm
- Çözümler
- Aşama
- standartlar
- başlama
- başlar
- Eyalet
- Durum
- hafızası
- mağaza
- Başarılı olarak
- terminal
- bu nedenle
- İçinden
- zaman
- trafik
- Eğitim
- benzersiz
- kullanım
- görüntüleme
- beklemek
- ağ
- web hizmetleri
- süre
- olmadan
- İş