Kuruluşlar için hızla gelişen yapay zeka (AI) ve makine öğrenimi (ML) ortamında bir makine öğrenimi işlemleri (MLOps) platformu oluşturmak, model performansına ilişkin gereksinimleri karşılarken veri bilimi deneyleri ile dağıtım arasındaki boşluğu sorunsuz bir şekilde kapatmak için çok önemlidir. güvenlik ve uyumluluk.
Mevzuat ve uyumluluk gerekliliklerini yerine getirmek için böyle bir platformu tasarlarken temel gereksinimler şunlardır:
- Adres veri kayması
- Model performansını izleyin
- Otomatik model yeniden eğitimini kolaylaştırın
- Model onayı için bir süreç sağlayın
- Modelleri güvenli bir ortamda saklayın
Bu yazıda, AWS hizmetleri ve üçüncü taraf araç setlerinin bir kombinasyonunu kullanırken bu ihtiyaçları karşılamak için bir MLOps çerçevesinin nasıl oluşturulacağını gösteriyoruz. Çözüm, otomatikleştirilmiş model yeniden eğitimi, toplu çıkarım ve izleme ile çoklu ortam kurulumunu gerektirir. Amazon SageMaker Model Monitörü, model versiyonlama SageMaker Model Kaydıve ML kodunun ve işlem hatlarının ortamlar arasında tanıtımını kolaylaştırmak için bir CI/CD işlem hattı Amazon Adaçayı Yapıcı, Amazon EventBridge, Amazon Basit Bildirim Servisi (Amazon S3), HashiCorp Terraformu, GitHub, ve Jenkins CI/CD. Mamografik kitle lezyonunun ciddiyetini (iyi huylu veya kötü huylu) tahmin etmek için eğitilmiş bir model oluşturuyoruz. XGBoost algoritması halka açık olanı kullanarak UCI Mamografi Kitlesi veri kümesini oluşturun ve MLOps çerçevesini kullanarak dağıtın. Kodlu talimatların tamamı şurada mevcuttur: GitHub deposu.
Çözüme genel bakış
Aşağıdaki mimari diyagramı, aşağıdaki temel bileşenlerle birlikte MLOps çerçevesine genel bir bakış göstermektedir:
- Çoklu hesap stratejisi – AWS Well-Architected en iyi uygulamaları izlenerek iki farklı AWS hesabında iki farklı ortam (dev ve prod) kurulur ve merkezi model kayıt defterinde üçüncü bir hesap kurulur:
- Geliştirme ortamı – Nerede bir Amazon SageMaker Studio alanı Bir model daha yüksek ortamlara tanıtılmaya hazır olmadan önce model geliştirmeye, model eğitimine ve makine öğrenimi ardışık düzenlerinin test edilmesine (eğitim ve çıkarım) olanak sağlayacak şekilde kurulmuştur.
- Ürün ortamı – Geliştiricilerin makine öğrenimi ardışık düzenlerinin ilk adım olarak tanıtıldığı ve zaman içinde planlandığı ve izlendiği yer.
- Merkezi model kaydı - Amazon SageMaker Model Kaydı geliştirme ve üretim ortamlarında oluşturulan model sürümlerini izlemek için ayrı bir AWS hesabında kurulur.
- CI/CD ve kaynak kontrolü – ML ardışık düzenlerinin ortamlar arasında dağıtımı, GitHub aracılığıyla yürütülen sürüm kontrolüyle birlikte Jenkins ile kurulan CI/CD aracılığıyla gerçekleştirilir. İlgili ortam git şubesiyle birleştirilen kod değişiklikleri, verilen hedef ortamda uygun değişiklikleri yapmak için bir CI/CD iş akışını tetikler.
- Toplu tahminler model izleme ile – Çıkarım hattı ile inşa edildi Amazon SageMaker Ardışık Düzenleri veri kaymasını tespit etmek için SageMaker Model Monitor'ü kullanarak model izlemenin yanı sıra tahminler oluşturmak için planlı bir şekilde çalışır.
- Otomatik yeniden eğitim mekanizması – SageMaker Pipelines ile oluşturulan eğitim hattı, çıkarım hattında bir veri kayması tespit edildiğinde tetiklenir. Model, eğitildikten sonra, model onaylayıcısı tarafından onaylanmak üzere merkezi model kaydına kaydedilir. Onaylandığında güncellenen model sürümü, çıkarım hattı aracılığıyla tahminler oluşturmak için kullanılır.
- Kod olarak altyapı – Kod olarak altyapı (IaC), kullanılarak oluşturuldu HashiCorp Terraformu, EventBridge ile çıkarım hattının planlanmasını destekler ve tren hattının tetiklenmesini temel alır. EventBridge kuralı ve kullanarak bildirim gönderme Amazon Basit Bildirim Servisi (Amazon SNS'si) konular.
MLOps iş akışı aşağıdaki adımları içerir:
- Geliştirme hesabındaki SageMaker Studio etki alanına erişin, GitHub deposunu kopyalayın, sağlanan örnek modeli kullanarak model geliştirme sürecinden geçin ve eğitim ve çıkarım işlem hatlarını oluşturun.
- Eğitilen model sürümü için model yapıtlarını oluşturan ve modeli, merkezi model kayıt defteri hesabındaki SageMaker Model Kayıt Defterine kaydeden geliştirme hesabındaki tren hattını çalıştırın.
- Merkezi model kayıt defteri hesabındaki SageMaker Model Kayıt Defterindeki modeli onaylayın.
- Kodu (EventBridge zamanlamasını, EventBridge kuralını ve SNS konusunu oluşturmak için eğitme ve çıkarım işlem hatlarını ve Terraform IaC kodunu) GitHub deposunun bir özellik dalına aktarın. Kodu GitHub deposunun ana dalıyla birleştirmek için bir çekme isteği oluşturun.
- GitHub deposuyla kurulan Jenkins CI/CD ardışık düzenini tetikleyin. CI/CD işlem hattı, EventBridge zamanlamasını, EventBridge kuralını ve SNS konusunu sağlamak üzere Terraform koduyla birlikte eğitim ve çıkarım işlem hatlarını oluşturmak için kodu üretim hesabına dağıtır.
- Çıkarım hattı günlük olarak çalışacak şekilde planlanırken tren hattı, çıkarım hattından veri sapması tespit edildiğinde çalışacak şekilde ayarlanmıştır.
- Eğitim veya çıkarım hattında bir arıza olduğunda bildirimler SNS konusu aracılığıyla gönderilir.
Önkoşullar
Bu çözüm için aşağıdaki ön koşullara sahip olmanız gerekir:
- Üç AWS hesabı (geliştirme, üretim ve merkezi model kayıt defteri hesapları)
- Üç AWS hesabının her birinde bir SageMaker Studio etki alanı kuruludur (bkz. Amazon SageMaker Studio'da Yerleşik veya videoyu izleyin Amazon SageMaker Studio'ya Hızla Başlayın kurulum talimatları için)
- AWS'de yönetici ayrıcalıkları yüklü olan Jenkins (Jenkins 2.401.1 kullanıyoruz)
- Jenkins sunucusunda yüklü Terraform sürüm 1.5.5 veya üzeri
Bu yazı için şu şekilde çalışıyoruz: us-east-1
Çözümün dağıtılacağı bölge.
Geliştirme ve üretim hesaplarında KMS anahtarlarını sağlayın
İlk adımımız yaratmak AWS Anahtar Yönetim Hizmeti (AWS KMS) geliştirme ve üretim hesaplarındaki anahtarlar.
Geliştirici hesabında bir KMS anahtarı oluşturun ve ürün hesabına erişim izni verin
Geliştirici hesabında bir KMS anahtarı oluşturmak için aşağıdaki adımları tamamlayın:
- AWS KMS konsolunda şunu seçin: Müşteri tarafından yönetilen anahtarlar Gezinti bölmesinde.
- Klinik Anahtar oluştur.
- İçin Anahtar türüseçin Simetrik.
- İçin Anahtar kullanımseçin Şifrele ve şifresini çöz.
- Klinik Sonraki.
- Üretim hesabının, geliştirici hesabında sağlanan KMS anahtarına erişmesine izin vermek için üretim hesap numarasını girin. Bu gerekli bir adımdır çünkü model, geliştirici hesabında ilk kez eğitildiğinde model yapıları, merkezi model kayıt defteri hesabındaki S3 klasörüne yazılmadan önce KMS anahtarıyla şifrelenir. Model yapıtlarının şifresini çözmek ve çıkarım hattını çalıştırmak için üretim hesabının KMS anahtarına erişmesi gerekiyor.
- Klinik Sonraki ve anahtarınızı oluşturmayı tamamlayın.
Anahtar sağlandıktan sonra AWS KMS konsolunda görünür olmalıdır.
Ürün hesabında bir KMS anahtarı oluşturun
Ürün hesabında müşteri tarafından yönetilen bir KMS anahtarı oluşturmak için önceki bölümdeki aynı adımları izleyin. KMS anahtarını başka bir hesapla paylaşma adımını atlayabilirsiniz.
Merkezi model kayıt defteri hesabında bir model yapıtları S3 paketi ayarlama
Dizeyle seçtiğiniz bir S3 paketini oluşturun sagemaker
merkezi model kayıt defteri hesabındaki paket adının bir parçası olarak adlandırma kuralında ve S3 klasöründeki paket politikasını güncelleyerek hem geliştirme hem de üretim hesaplarından model yapıtlarını S3 klasörüne okuma ve yazma izinleri verin.
Aşağıdaki kod, S3 paketinde güncellenecek paket politikasıdır:
AWS hesaplarınızda IAM rollerini ayarlayın
Bir sonraki adım kurulumdur AWS Kimlik ve Erişim Yönetimi AWS hesaplarınızda izinlere sahip (IAM) rolleri AWS Lambda, SageMaker ve Jenkins.
Lambda yürütme rolü
Kurmak Lambda yürütme rolleri bir parçası olarak çalıştırılan Lambda işlevi tarafından kullanılacak olan geliştirme ve üretim hesaplarında SageMaker Boru Hatları Lambda adımı. Bu adım, çıkarımların oluşturulduğu en son onaylanmış modeli getirmek için çıkarım hattından çalıştırılacaktır. Adlandırma kuralıyla geliştirme ve üretim hesaplarında IAM rolleri oluşturun arn:aws:iam::<account-id>:role/lambda-sagemaker-role
ve aşağıdaki IAM politikalarını ekleyin:
- Politika 1 – Adlandırılmış bir satır içi politika oluşturun
cross-account-model-registry-access
Merkezi hesaptaki model kaydında ayarlanan model paketine erişim sağlayan: - Politika 2 - Eklemek AmazonSageMakerTam Erişimbir AWS tarafından yönetilen politika Bu, SageMaker'a tam erişim sağlar. Ayrıca aşağıdakiler gibi ilgili hizmetlere seçmeli erişim sağlar: AWS Uygulama Otomatik ÖlçeklendirmeAmazon S3, Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR) ve Amazon CloudWatch Günlükleri.
- Politika 3 - Eklemek AWSLambda_FullAccessLambda, Lambda konsolu özellikleri ve diğer ilgili AWS hizmetlerine tam erişim sağlayan, AWS tarafından yönetilen bir politikadır.
- Politika 4 – IAM rolü için aşağıdaki IAM güven politikasını kullanın:
SageMaker yürütme rolü
Geliştirici ve üretim hesaplarında kurulan SageMaker Studio etki alanlarının her birinin, şu adreste bulunabilecek ilişkili bir yürütme rolü olmalıdır: Etki alanı ayarları Aşağıdaki ekran görüntüsünde gösterildiği gibi alan adı ayrıntıları sayfasındaki sekmeyi tıklayın. Bu rol, SageMaker Studio etki alanında eğitim işlerini yürütmek, işleri işlemek ve daha fazlasını gerçekleştirmek için kullanılır.
Her iki hesapta da SageMaker yürütme rolüne aşağıdaki politikaları ekleyin:
- Politika 1 – Adlandırılmış bir satır içi politika oluşturun
cross-account-model-artifacts-s3-bucket-access
model yapıtlarını saklayan merkezi model kayıt defteri hesabındaki S3 klasörüne erişim sağlar: - Politika 2 – Adlandırılmış bir satır içi politika oluşturun
cross-account-model-registry-access
Merkezi model kayıt defteri hesabındaki model kayıt defterindeki model paketine erişim sağlayan: - Politika 3 – Adlandırılmış bir satır içi politika oluşturun
kms-key-access-policy
önceki adımda oluşturulan KMS anahtarına erişim sağlar. Politikanın oluşturulduğu hesap kimliğini ve bu hesapta oluşturulan KMS anahtar kimliğini sağlayın. - Politika 4 - Eklemek AmazonSageMakerTam Erişimbir AWS tarafından yönetilen politika Bu, SageMaker'a tam erişim sağlar ve ilgili hizmetlere erişimi seçer.
- Politika 5 - Eklemek AWSLambda_FullAccessLambda, Lambda konsolu özellikleri ve diğer ilgili AWS hizmetlerine tam erişim sağlayan, AWS tarafından yönetilen bir politikadır.
- Politika 6 - Eklemek CloudWatchEventsFullAccessCloudWatch Events'e tam erişim sağlayan, AWS tarafından yönetilen bir politikadır.
- Politika 7 – SageMaker yürütme IAM rolü için aşağıdaki IAM güven politikasını ekleyin:
- Politika 8 (ürün hesabındaki SageMaker yürütme rolüne özel) – Adlandırılmış bir satır içi politika oluşturun
cross-account-kms-key-access-policy
geliştirici hesabında oluşturulan KMS anahtarına erişim sağlar. Bu, çıkarım hattının merkezi model kayıt defteri hesabında depolanan model yapıtlarını okuması için gereklidir; burada model yapıtları, geliştirici hesabından modelin ilk sürümü oluşturulduğunda dev hesabındaki KMS anahtarı kullanılarak şifrelenir.
Hesaplar arası Jenkins rolü
Adı verilen bir IAM rolü oluşturun cross-account-jenkins-role
Jenkins'in makine öğrenimi hatlarını ve ilgili altyapıyı üretim hesabına dağıtacağını varsayacak üretim hesabında.
Aşağıdaki yönetilen IAM politikalarını role ekleyin:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
Jenkins sunucusunu barındıran AWS hesabına izin vermek için roldeki güven ilişkisini güncelleyin:
Jenkins sunucusuyla ilişkili IAM rolündeki izinleri güncelleyin
Jenkins'in AWS'de kurulduğunu varsayarak Jenkins ile ilişkili IAM rolünü güncelleyerek aşağıdaki politikaları ekleyin; bu, Jenkins'in kaynakları üretim hesabına dağıtması için erişim sağlayacaktır:
- Politika 1 – Aşağıdaki satır içi politikayı oluşturun:
assume-production-role-policy
: - Politika 2 – Takın
CloudWatchFullAccess
yönetilen IAM politikası.
Model paket grubunu merkezi model kayıt defteri hesabında ayarlayın
Merkezi model kayıt defteri hesabındaki SageMaker Studio etki alanından, adı verilen bir model paket grubu oluşturun. mammo-severity-model-package
aşağıdaki kod parçacığını kullanarak (bir Jupyter not defteri kullanarak çalıştırabilirsiniz):
Geliştirici ve üretim hesaplarındaki IAM rolleri için model paketine erişimi ayarlayın
Model paketi içindeki model sürümlerini kaydedebilmeniz için geliştirme ve üretim hesaplarında oluşturulan SageMaker yürütme rollerine erişim sağlayın mammo-severity-model-package
her iki hesaptan da merkezi model kaydında. Merkezi model kayıt defteri hesabındaki SageMaker Studio etki alanından bir Jupyter not defterinde aşağıdaki kodu çalıştırın:
Jenkins'i kurun
Bu bölümde Jenkins'i, Jenkins CI/CD işlem hattı aracılığıyla prod hesabında ML işlem hatlarını ve karşılık gelen Terraform altyapısını oluşturacak şekilde yapılandırıyoruz.
- CloudWatch konsolunda adlı bir günlük grubu oluşturun.
jenkins-log
Jenkins'in CI/CD hattından günlükleri aktaracağı üretim hesabında. Günlük grubu, Jenkins sunucusunun kurulduğu Bölgeyle aynı bölgede oluşturulmalıdır. - Aşağıdaki eklentileri yükleyin Jenkins sunucunuzda:
- Hesaplar arası IAM rolünü kullanarak Jenkins'te AWS kimlik bilgilerini ayarlayın (
cross-account-jenkins-role
) prod hesabında sağlanmıştır. - İçin sistem Yapılandırması, seçmek AWS.
- Daha önce oluşturduğunuz kimlik bilgilerini ve CloudWatch günlük grubunu sağlayın.
- Jenkins'te GitHub kimlik bilgilerini ayarlayın.
- Jenkins'te yeni bir proje oluşturun.
- Bir proje adı girin ve seçin Boru Hattı.
- Üzerinde genel sekmesini seçin GitHub projesi ve çatala girin GitHub deposu URL.
- seç Bu proje parametreleştirilmiş.
- Üzerinde Parametre Ekle menü seç Dize Parametresi.
- İçin Name, girmek
prodAccount
. - İçin Varsayılan değer, ürün hesabı kimliğini girin.
- Altında Gelişmiş Proje Seçenekleri, Için Tanımseçin SCM'den boru hattı betiği.
- İçin SCM, seçmek Git.
- İçin Depo URL'si, çatalı girin GitHub deposu URL.
- İçin Tanıtım, Jenkins'te kayıtlı GitHub kimlik bilgilerini girin.
- Keşfet
main
içinde İnşa edilecek şubeler CI/CD hattının tetikleneceği temel alan bölüm. - İçin Komut Dosyası Yolu, girmek
Jenkinsfile
. - Klinik İndirim.
Jenkins işlem hattı oluşturulmalı ve kontrol panelinizde görünür olmalıdır.
S3 paketlerini sağlayın, verileri toplayın ve hazırlayın
S3 klasörlerinizi ve verilerinizi ayarlamak için aşağıdaki adımları tamamlayın:
- Dizeyle seçtiğiniz bir S3 paketini oluşturun
sagemaker
veri kümelerini ve model yapıtlarını depolamak için hem geliştirme hem de üretim hesaplarında paket adının bir parçası olarak adlandırma kuralında. - Ürün hesabında Terraform durumunu korumak için bir S3 klasörü oluşturun.
- Herkese açık olanı indirin ve kaydedin UCI Mamografi Kitlesi veri kümesini geliştirici hesabında daha önce oluşturduğunuz S3 klasörüne aktarın.
- Çatallayın ve klonlayın GitHub deposu geliştirici hesabındaki SageMaker Studio etki alanı içinde. Depo aşağıdaki klasör yapısına sahiptir:
- /environments – Ürün ortamı için yapılandırma komut dosyası
- /mlops-infra – Terraform kodunu kullanarak AWS hizmetlerini dağıtmaya yönelik kod
- /boru hatları – SageMaker ardışık düzen bileşenleri için kod
- Jenkins dosyası – Jenkins CI/CD hattı aracılığıyla dağıtılacak komut dosyası
- kurulum.py – Gerekli Python modüllerini kurmak ve run-pipeline komutunu oluşturmak için gereklidir
- mamografi-şiddet-modelleme.ipynb – Makine öğrenimi iş akışını oluşturmanıza ve çalıştırmanıza olanak tanır
- Klonlanmış GitHub veri havuzu klasöründe veri adlı bir klasör oluşturun ve herkese açık olanın bir kopyasını kaydedin. UCI Mamografi Kitlesi Veri kümesi.
- Jupyter not defterini takip edin
mammography-severity-modeling.ipynb
. - Veri kümesini önceden işlemek ve geliştirici hesabındaki S3 klasörüne yüklemek için not defterinde aşağıdaki kodu çalıştırın:
Kod aşağıdaki veri kümelerini oluşturacaktır:
-
- veri/ mammo-train-dataset-part1.csv – Modelin ilk versiyonunu eğitmek için kullanılacaktır.
- veri/ mammo-train-dataset-part2.csv – Mammo-train-dataset-part1.csv veri kümesiyle birlikte modelin ikinci sürümünü eğitmek için kullanılacaktır.
- data/mammo-batch-dataset.csv – Çıkarımlar oluşturmak için kullanılacaktır.
- data/mammo-batch-dataset-outliers.csv – Çıkarım hattını başarısızlığa uğratmak için veri kümesine aykırı değerler ekleyecektir. Bu, modelin otomatik olarak yeniden eğitilmesini tetiklemek için modeli test etmemizi sağlayacaktır.
- Veri kümesini yükleyin
mammo-train-dataset-part1.csv
önek altındamammography-severity-model/train-dataset
ve veri kümelerini yükleyinmammo-batch-dataset.csv
vemammo-batch-dataset-outliers.csv
önek içinmammography-severity-model/batch-dataset
geliştirici hesabında oluşturulan S3 klasöründen: - Veri kümelerini yükleyin
mammo-train-dataset-part1.csv
vemammo-train-dataset-part2.csv
önek altındamammography-severity-model/train-dataset
Amazon S3 konsolu aracılığıyla prod hesabında oluşturulan S3 klasörüne. - Veri kümelerini yükleyin
mammo-batch-dataset.csv
vemammo-batch-dataset-outliers.csv
önek içinmammography-severity-model/batch-dataset
ürün hesabındaki S3 paketinin.
Tren boru hattını çalıştırın
Altında <project-name>/pipelines/train
, aşağıdaki Python betiklerini görebilirsiniz:
- scriptler/raw_preprocess.py – Özellik mühendisliği için SageMaker Processing ile entegre olur
- scripts/evaluate_model.py – Bu durumda model metriklerinin hesaplanmasına izin verir
auc_score
- train_pipeline.py – Model eğitim hattının kodunu içerir
Aşağıdaki adımları tamamlayın:
- Komut dosyalarını Amazon S3'e yükleyin:
- Tren boru hattı örneğini alın:
- Tren boru hattını gönderin ve çalıştırın:
Aşağıdaki şekil eğitim hattının başarılı bir şekilde çalıştırıldığını göstermektedir. İşlem hattındaki son adım, modeli merkezi model kayıt defteri hesabına kaydeder.
Merkezi model kaydındaki modeli onaylayın
Merkezi model kayıt defteri hesabında oturum açın ve SageMaker Studio etki alanı içindeki SageMaker model kayıt defterine erişin. Model sürümü durumunu Onaylandı olarak değiştirin.
Onaylandıktan sonra model versiyonunda durum değiştirilmelidir.
Çıkarım hattını çalıştırın (İsteğe bağlı)
Bu adım gerekli değildir ancak yine de geliştirici hesabında tahminler oluşturmak için çıkarım hattını çalıştırabilirsiniz.
Altında <project-name>/pipelines/inference
, aşağıdaki Python betiklerini görebilirsiniz:
- scripts/lambda_helper.py – SageMaker Pipelines Lambda adımını kullanarak merkezi model kayıt hesabından en son onaylanmış model sürümünü çeker
- çıkarım_pipeline.py – Model çıkarım hattının kodunu içerir
Aşağıdaki adımları tamamlayın:
- Komut dosyasını S3 klasörüne yükleyin:
- Normal toplu veri kümesini kullanarak çıkarım hattı örneğini alın:
- Çıkarım hattını gönderin ve çalıştırın:
Aşağıdaki şekil çıkarım hattının başarılı bir şekilde çalıştırılmasını göstermektedir. İşlem hattındaki son adım tahminleri oluşturur ve bunları S3 klasöründe saklar. Kullanırız MonitorBatchTransformStep toplu dönüştürme işine girişleri izlemek için. Herhangi bir aykırı değer varsa, çıkarım hattı başarısız bir duruma girer.
Jenkins boru hattını çalıştırın
The environment/
GitHub deposundaki klasör, prod hesabının yapılandırma komut dosyasını içerir. Jenkins ardışık düzenini tetiklemek için aşağıdaki adımları tamamlayın:
- Yapılandırma komut dosyasını güncelleyin
prod.tfvars.json
önceki adımlarda oluşturulan kaynaklara göre: - Güncellendikten sonra kodu çatallı GitHub deposuna gönderin ve kodu ana dalla birleştirin.
- Jenkins kullanıcı arayüzüne gidin, seçin Parametrelerle Oluşturmave önceki adımlarda oluşturulan CI/CD ardışık düzenini tetikleyin.
Derleme tamamlandığında ve başarılı olduğunda, prod hesabında oturum açabilir ve SageMaker Studio etki alanı içindeki eğitim ve çıkarım hatlarını görebilirsiniz.
Ek olarak, Prod hesabındaki EventBridge konsolunda üç EventBridge kuralı göreceksiniz:
- Çıkarım hattını zamanlayın
- Tren boru hattında arıza bildirimi gönderin
- Çıkarım hattı tren hattını tetikleyemediğinde bir bildirim gönderin
Son olarak Amazon SNS konsolunda e-posta yoluyla bildirim gönderen bir SNS bildirim konusu göreceksiniz. Bu bildirim e-postalarının kabulünü onaylamanızı isteyen bir e-posta alacaksınız.
Aykırı değerler içermeyen bir toplu veri kümesi kullanarak çıkarım hattını test edin
Çıkarım hattının üretim hesabında beklendiği gibi çalışıp çalışmadığını test etmek için üretim hesabında oturum açabilir ve toplu veri kümesini aykırı değerler olmadan kullanarak çıkarım hattını tetikleyebiliriz.
İşlem hattını, üretim hesabının SageMaker Studio etki alanındaki SageMaker Pipelines konsolu aracılığıyla çalıştırın; transform_input
aykırı değerler olmadan veri kümesinin S3 URI'si olacaktır (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
Çıkarım hattı başarılı olur ve tahminleri S3 klasörüne geri yazar.
Aykırı değerlere sahip bir toplu veri kümesi kullanarak çıkarım hattını test edin
Otomatik yeniden eğitim mekanizmasının beklendiği gibi çalışıp çalışmadığını kontrol etmek için toplu veri kümesini aykırı değerlerle kullanarak çıkarım hattını çalıştırabilirsiniz.
İşlem hattını, üretim hesabının SageMaker Studio etki alanındaki SageMaker Pipelines konsolu aracılığıyla çalıştırın; transform_input
aykırı değerlere sahip veri kümesinin S3 URI'si olacaktır (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
Çıkarım hattı beklendiği gibi başarısız olur, bu da EventBridge kuralını tetikler, bu da tren hattını tetikler.
Birkaç dakika sonra, SageMaker Pipelines konsolunda iki farklı tren veri kümesini (mammo-train-dataset-part1.csv
ve mammo-train-dataset-part2.csv
) modeli yeniden eğitmek için S3 klasörüne yüklendi.
Ayrıca SNS konusuna abone olunan e-postaya gönderilen bir bildirim göreceksiniz.
Güncellenen model sürümünü kullanmak için merkezi model kayıt defteri hesabında oturum açın ve programlanan EventBridge kuralı aracılığıyla tetiklenen çıkarım hattının bir sonraki çalıştırması sırasında alınacak model sürümünü onaylayın.
Eğitim ve çıkarım ardışık düzenleri statik bir veri kümesi URL'si kullansa da, modeli yeniden eğitmek ve gerçek dünya senaryosunda tahminler oluşturmak için güncellenmiş veri kümelerini kullanmak amacıyla veri kümesi URL'sinin eğitim ve çıkarım ardışık düzenlerine dinamik değişkenler olarak geçirilmesini sağlayabilirsiniz.
Temizlemek
Gelecekte ücret alınmasını önlemek için aşağıdaki adımları tamamlayın:
- SageMaker Studio etki alanını tüm AWS hesaplarından kaldırın.
- S3 paketleri, IAM rolleri, EventBridge kuralları ve prod hesabında Terraform aracılığıyla ayarlanan SNS konusu da dahil olmak üzere SageMaker dışında oluşturulan tüm kaynakları silin.
- Hesaplar arasında oluşturulan SageMaker işlem hatlarını şunu kullanarak silin: AWS Komut Satırı Arayüzü (AWS CLI'si).
Sonuç
Kuruluşların, farklı işlevsel alanlar ve ekipler arasında işbirliğini mümkün kılmak için genellikle kuruluş çapındaki araç setleriyle uyum sağlaması gerekir. Bu işbirliği, MLOps platformunuzun gelişen iş ihtiyaçlarına uyum sağlayabilmesini sağlar ve ML'nin ekipler arasında benimsenmesini hızlandırır. Bu gönderide, Amazon SageMaker Model Monitor ile otomatik model yeniden eğitimini, toplu çıkarımı ve izlemeyi, SageMaker Model Registry ile model sürüm oluşturmayı ve ML kodunun ve ardışık düzenlerin ortamlar genelinde tanıtılmasını sağlamak için çoklu ortam kurulumunda bir MLOps çerçevesinin nasıl oluşturulacağı açıklanmaktadır. CI/CD boru hattı. Bu çözümü AWS hizmetleri ve üçüncü taraf araç setlerinin bir kombinasyonunu kullanarak sergiledik. Bu çözümün uygulanmasına ilişkin talimatlar için bkz. GitHub deposu. Bu çözümü kendi veri kaynaklarınızı ve modelleme çerçevelerinizi de getirerek genişletebilirsiniz.
Yazarlar Hakkında
Gayatri Ganakota AWS Professional Services ile Kıdemli Makine Öğrenimi Mühendisidir. Çeşitli alanlarda AI/ML çözümlerini geliştirme, dağıtma ve açıklama konusunda tutkulu. Bu görevden önce, finans ve perakende alanındaki en iyi küresel firmalarda veri bilimcisi ve makine öğrenimi mühendisi olarak birden fazla girişimi yönetti. Colorado Üniversitesi, Boulder'dan Veri Bilimi alanında Bilgisayar Bilimi alanında yüksek lisans derecesine sahiptir.
Sunita Koppar AWS Profesyonel Hizmetlerinde Kıdemli Veri Gölü Mimarıdır. Büyük verileri işleyen ve uzun vadeli ölçeklenebilir çözümler sunan müşterilerin sıkıntılı noktalarını çözme konusunda tutkuludur. Bu görevinden önce internet, telekom ve otomotiv alanlarında ürünler geliştirmiş ve bir AWS müşterisi olmuştur. Riverside'daki Kaliforniya Üniversitesi'nden Veri Bilimi alanında yüksek lisans derecesine sahiptir.
Saswata Koşusu AWS Profesyonel Hizmetlerinde DevOps Danışmanıdır. Sağlık ve yaşam bilimleri, havacılık ve üretim alanlarındaki müşterilerle çalıştı. Otomasyonla ilgili her konuda tutkuludur ve AWS'de kurumsal ölçekte müşteri çözümleri tasarlama ve oluşturma konusunda kapsamlı deneyime sahiptir. İş dışında fotoğrafçılık ve gün doğumunu yakalama tutkusunu sürdürü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. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/