Bu yayında, gösteriyoruz AWS'de Kubeflow (AWS'ye özgü bir Kubeflow dağıtımı) ve yüksek düzeyde optimize edilmiş, bulutta yerel, kurumsal kullanıma hazır AWS hizmetlerinin entegrasyonu yoluyla açık kaynaklı Kubeflow'a kattığı değer.
Kubeflow, Kubernetes'te ML iş akışlarının dağıtımını basit, taşınabilir ve ölçeklenebilir hale getirmeye adanmış açık kaynaklı makine öğrenimi (ML) platformudur. Kubeflow, basit, ölçeklenebilir ve taşınabilir ML iş akışları oluşturmak için merkezi bir gösterge panosu, çok kullanıcılı Jupyter not defterleri, Kubeflow Pipelines, KFServing ve Katib gibi birçok bileşenin yanı sıra TensorFlow, PyTorch, MXNet ve XGBoost için dağıtılmış eğitim operatörleri sağlar. .
AWS kısa süre önce kendi Kubeflow dağıtımının (AWS'de Kubeflow olarak adlandırılır) bir parçası olarak Kubeflow v1.4'ü piyasaya sürdü; bu, veri bilimi görevlerini kolaylaştırıyor ve AWS tarafından yönetilen hizmetler ile entegrasyonlar aracılığıyla düşük operasyonel genel giderlerle son derece güvenilir, güvenli, taşınabilir ve ölçeklenebilir ML sistemleri oluşturmaya yardımcı oluyor . Üstüne ML sistemleri oluşturmak için bu Kubeflow dağıtımını kullanabilirsiniz. Amazon Elastik Kubernetes Hizmeti (Amazon EKS) bilgisayarla görme, doğal dil işleme, konuşma çevirisi ve finansal modelleme dahil olmak üzere çok çeşitli kullanım durumları için makine öğrenimi modelleri oluşturmak, eğitmek, ayarlamak ve dağıtmak için.
Açık kaynaklı Kubeflow ile ilgili zorluklar
Açık kaynaklı bir Kubeflow projesi kullandığınızda, tüm Kubeflow kontrol düzlemi ve veri düzlemi bileşenlerini Kubernetes çalışan düğümlerinde dağıtır. Kubeflow bileşen hizmetleri, Kubeflow kontrol düzleminin bir parçası olarak dağıtılır ve Jupyter, model eğitimi, ayarlama ve barındırma ile ilgili tüm kaynak dağıtımları Kubeflow veri düzleminde dağıtılır. Kubeflow kontrol düzlemi ve veri düzlemi, aynı veya farklı Kubernetes çalışan düğümlerinde çalışabilir. Bu gönderi, aşağıdaki şemada gösterildiği gibi Kubeflow kontrol düzlemi bileşenlerine odaklanır.
Bu dağıtım modeli, aşağıdaki nedenlerden dolayı kurumsal kullanıma hazır bir deneyim sağlamayabilir:
- Veritabanı, depolama ve kimlik doğrulama dahil olmak üzere tüm Kubeflow kontrol düzlemi ağır kaldırma altyapısı bileşenleri, Kubernetes küme çalışanı düğümünün kendisinde dağıtılır. Bu, çalışan düğüm arızası durumunda kalıcı bir durumla yüksek düzeyde kullanılabilir bir Kubeflow kontrol düzlemi tasarım mimarisinin uygulanmasını zorlaştırır.
- Kubeflow kontrol düzlemi tarafından oluşturulan yapılar (MySQL örnekleri, pod günlükleri veya MinIO depolaması gibi) zamanla büyür ve artan depolama talebini karşılamak için sürekli izleme özelliklerine sahip yeniden boyutlandırılabilir depolama birimlerine ihtiyaç duyar. Kubeflow kontrol düzlemi, kaynakları Kubeflow veri düzlemi iş yükleriyle paylaştığı için (örneğin, eğitim işleri, işlem hatları ve dağıtımlar için), Kubernetes kümesini ve depolama birimlerini doğru boyutlandırmak ve ölçeklendirmek zor olabilir ve operasyonel maliyetin artmasına neden olabilir.
- Kubernetes, günlük dosyası boyutunu kısıtlar ve çoğu yükleme en son 10 MB sınırını korur. Varsayılan olarak, bu üst sınıra ulaştıktan sonra bölme günlükleri erişilemez hale gelir. Bölmeler çıkarılırsa, kilitlenirse, silinirse veya farklı bir düğümde planlanırsa günlüklere erişilemez hale gelebilir ve bu durum uygulama günlüğü kullanılabilirliğinizi ve izleme yeteneklerinizi etkileyebilir.
AWS'de Kubeflow
AWS'de Kubeflow, aşağıdaki AWS hizmetleriyle Kubeflow'u kullanmak için net bir yol sağlar:
- Uygulama Yük Dengeleyici HTTPS üzerinden güvenli harici trafik yönetimi için
- Amazon Bulut İzleme kalıcı günlük yönetimi için
- AWS Bilgisi Taşıma Katmanı Güvenliği (TLS) ile kullanıcı kimlik doğrulaması için
- AWS Derin Öğrenme Kapları yüksek düzeyde optimize edilmiş Jupyter notebook sunucu görüntüleri için
- Amazon Elastik Dosya Sistemi (Amazon EFS) veya Lustre için Amazon FSx artırılmış eğitim performansı için basit, ölçeklenebilir ve sunucusuz bir dosya depolama çözümü için
- Yönetilen Kubernetes kümeleri için Amazon EKS
- Amazon İlişkisel Veritabanı Hizmeti (Amazon RDS) yüksek düzeyde ölçeklenebilir işlem hatları ve bir meta veri deposu için
- AWS Sırları Yöneticisi uygulamalarınıza erişmek için gereken sırları korumak için
- Amazon Basit Depolama Hizmeti (Amazon S3), kullanımı kolay bir ardışık düzen yapıtları deposu için
Kubeflow ile bu AWS hizmet entegrasyonları (aşağıdaki şemada gösterildiği gibi), Kubeflow kontrol düzleminin kritik parçalarını Kubernetes'ten ayırmamıza olanak tanıyarak güvenli, ölçeklenebilir, esnek ve uygun maliyetli bir tasarım sunar.
Her bir hizmet entegrasyonunun faydalarını ve güvenlik, makine öğrenimi ardışık düzenlerini çalıştırma ve depolama ile ilgili çözümlerini tartışalım.
Amazon Cognito ile Kubeflow kullanıcılarının güvenli kimlik doğrulaması
AWS'de bulut güvenliği en yüksek önceliktir ve Kubeflow güvenliğini doğrudan aşağıdakiler gibi AWS paylaşılan sorumlu güvenlik hizmetlerine sıkı bir şekilde entegre etmeye yatırım yapıyoruz:
- Harici trafik yönetimi için Application Load Balancer (ALB)
- AWS Sertifika Yöneticisi (ACM) TLS'yi desteklemek için
- Hizmet hesapları için IAM rolleri (IRSA) Kubernetes Pod düzeyinde ayrıntılı erişim denetimi için
- AWS Anahtar Yönetim Hizmeti (AWS KMS) veri şifreleme anahtarı yönetimi için
- AWS Kalkanı DDoS koruması için
Bu bölümde, Amazon Cognito ile AWS Kubeflow kontrol düzlemi entegrasyonuna odaklanıyoruz. Amazon Cognito, kullanıcı kimlik doğrulaması için yerel bir Dex (yerel LDAP tarafından desteklenen açık kaynaklı OpenID Connect (OIDC) sağlayıcısı) çözümünü yönetme ve sürdürme ihtiyacını ortadan kaldırır ve gizli yönetimi kolaylaştırır.
Ayrıca Amazon Cognito'yu Kubeflow kullanıcı arayüzünüze hızlı ve kolay bir şekilde kullanıcı kaydı, oturum açma ve erişim denetimi eklemek için kullanabilirsiniz. Amazon Cognito, milyonlarca kullanıcıya ölçeklenir ve Facebook, Google ve Amazon gibi sosyal kimlik sağlayıcıları (IdP'ler) ve SAML 2.0 aracılığıyla kurumsal IdP'ler ile oturum açmayı destekler. Bu, Kubeflow kurulumunuzdaki karmaşıklığı azaltarak çok kullanıcılı izolasyon elde etmek için onu operasyonel olarak yalın ve çalıştırmayı kolaylaştırır.
AWS'de Kubeflow ile Amazon Cognito, ALB ve ACM entegrasyonlarıyla çok kullanıcılı bir kimlik doğrulama akışına bakalım. Bu entegrasyonun bir parçası olarak bir dizi önemli bileşen vardır. Amazon Cognito, kullanıcı kimlik doğrulamasından sonra isteği Kubeflow'a yönlendirmek için yapılandırılmış bir kimlik doğrulama geri çağrısına sahip bir IdP olarak yapılandırılır. Kubeflow kurulumunun bir parçası olarak, Istio Ağ Geçidi hizmetine giden dış trafiği yönetmek için bir Kubernetes giriş kaynağı oluşturulur. AWS ALB Giriş Denetleyicisi, bu giriş için bir yük dengeleyici sağlar. Kullanırız Amazon Rota 53 kayıtlı etki alanı için genel bir DNS yapılandırmak ve yük dengeleyicide TLS kimlik doğrulamasını etkinleştirmek için ACM kullanarak sertifikalar oluşturmak için.
Aşağıdaki şema, Amazon Cognito'da oturum açmanın ve ilgili ad alanlarında Kubeflow'a yeniden yönlendirilmenin tipik kullanıcı iş akışını gösterir.
İş akışı aşağıdaki adımları içerir:
- Kullanıcı, bir yük dengeleyicinin arkasında barındırılan Kubeflow merkezi panosuna bir HTTPS isteği gönderir. Route 53, FQDN'yi ALB takma adı kaydına çözümler.
- Tanımlama bilgisi mevcut değilse, yük dengeleyici, Amazon Cognito'nun kullanıcının kimliğini doğrulayabilmesi için kullanıcıyı Amazon Cognito yetkilendirme uç noktasına yönlendirir.
- Kullanıcının kimliği doğrulandıktan sonra Amazon Cognito, kullanıcıyı bir yetki verme koduyla yük dengeleyiciye geri gönderir.
- Yük dengeleyici, yetkilendirme verme kodunu Amazon Cognito belirteci uç noktasına sunar.
- Geçerli bir yetki verme kodu aldıktan sonra Amazon Cognito, yük dengeleyiciye kimlik belirtecini ve erişim belirtecini sağlar.
- Yük dengeleyiciniz bir kullanıcının kimliğini başarıyla doğruladıktan sonra, erişim belirtecini Amazon Cognito kullanıcı bilgisi uç noktasına gönderir ve kullanıcı taleplerini alır. Yük dengeleyici, HTTP başlığına kullanıcı taleplerini imzalar ve ekler
x-amzn-oidc-*
JSON web belirteci (JWT) istek biçiminde. - Yük dengeleyiciden gelen istek, Istio Ingress Gateway'in bölmesine gönderilir.
- Bir elçi filtresi kullanarak Istio Gateway,
x-amzn-oidc-data
değer, e-posta alanını alır ve özel HTTP başlığını eklerkubeflow-userid
Kubeflow yetkilendirme katmanı tarafından kullanılan . - Istio kaynak tabanlı erişim denetimi ilkeleri, Kubeflow Dashboard'a erişimi doğrulamak için gelen isteğe uygulanır. Kullanıcı bunlardan herhangi birine erişemiyorsa, bir hata yanıtı geri gönderilir. İstek doğrulanırsa uygun Kubeflow hizmetine iletilir ve Kubeflow Dashboard'a erişim sağlar
Amazon RDS ve Amazon S3 ile kalıcı Kubeflow bileşen meta verileri ve yapıt depolama
AWS üzerinde Kubeflow, aşağıdakilerle entegrasyon sağlar: Amazon İlişkisel Veritabanı Hizmeti (Amazon RDS) Kubeflow Pipelines ve AutoML'de (katib) kalıcı meta veri depolaması için ve Amazon S3 in Kubeflow Pipelines kalıcı yapıt depolaması için. Kubeflow Pipelines'ı daha ayrıntılı olarak tartışmaya devam edelim.
Kubeflow Pipelines, taşınabilir, ölçeklenebilir makine öğrenimi iş akışları oluşturmaya ve dağıtmaya yönelik bir platformdur. Bu iş akışları, yerleşik ve özel Kubeflow bileşenlerini kullanarak karmaşık ML işlem hatlarını otomatikleştirmeye yardımcı olabilir. Kubeflow Pipelines, Python kodunu statik bir yapılandırmaya dönüştürmek için bir DSL derleyicisi olan Python SDK'yı, boru hatlarını statik konfigürasyondan çalıştıran bir Pipelines hizmetini ve boru hattını tamamlamak için gereken Kubernetes Pod'larında kapsayıcıları çalıştırmak için bir dizi denetleyiciyi içerir.
İşlem hattı deneyleri ve çalıştırmaları için Kubeflow Pipelines meta verileri MySQL'de depolanır ve işlem hattı paketleri ve ölçümleri içeren yapay öğeler MinIO'da depolanır.
Aşağıdaki şemada gösterildiği gibi, Kubeflow on AWS, aşağıdaki bileşenleri AWS tarafından yönetilen hizmetler ile depolamanıza olanak tanır:
- Amazon RDS'de işlem hattı meta verileri – Amazon RDS, MySQL gibi endüstri standardı bir ilişkisel veritabanı için yerleşik bir otomatik yük devretme mekanizması ve yeniden boyutlandırılabilir kapasite ile ölçeklenebilir, yüksek düzeyde kullanılabilir ve güvenilir bir Multi-AZ dağıtım mimarisi sağlar. Altyapı sağlamaya veya yazılımı sürdürmeye gerek kalmadan yaygın veritabanı yönetim görevlerini yönetir.
- Amazon S3'teki ardışık düzen yapıları – Amazon S3 sektör lideri ölçeklenebilirlik, veri kullanılabilirliği, güvenlik ve performans sunar ve gereksinimlerinizi karşılamak için kullanılabilir. uyumluluk gereksinimleri.
Bu entegrasyonlar, kendi kendini yöneten Kubeflow'tan kurulumu, çalıştırılması ve ölçeklenmesi daha kolay olan AWS tarafından yönetilen hizmetlere meta veri ve yapı depolamasının yönetimi ve bakımının yüklenmesine yardımcı olur.
Amazon EFS ve Amazon FSx ile dağıtılmış dosya sistemleri için destek
Kubeflow, milyonlarca hatta milyarlarca parametreye sahip derin bir ağ ile büyük modellerin eğitimi ve ayarlanması dahil olmak üzere büyük ölçekli, dağıtılmış veri işleme için bir altyapı sağlayan Kubernetes üzerine kuruludur. Bu tür dağıtılmış veri işleme ML sistemlerini desteklemek için Kubeflow on AWS, aşağıdaki depolama hizmetleriyle entegrasyon sağlar:
- Amazon EFS'si – Bir ağ üzerinden yönetebileceğiniz, yüksek performanslı, bulutta yerel, dağıtılmış bir dosya sistemi. Amazon EFS CSI sürücüsü. Amazon EFS sağlar
ReadWriteMany
erişim moduna sahiptir ve artık onu, siz dosya ekleyip çıkardıkça otomatik olarak büyüyen ve küçülen kalıcı, ölçeklenebilir ve paylaşılabilir bir çalışma alanı sağlamak için bir Kubeflow veri düzleminde çalışan bölmelere (Jupyter, model eğitimi, model ayarlama) monte etmek için kullanabilirsiniz. yönetime gerek yok. - Lustre için Amazon FSx – Yüksek performanslı bilgi işlem ve makine öğrenimi gibi bilgi işlem yoğun iş yükleri için optimize edilmiş bir dosya sistemi aracılığıyla yönetebilirsiniz. Amazon FSx CSI sürücüsü. Lustre için FSx şunları sağlar:
ReadWriteMany
erişim modunu da kullanabilirsiniz ve bunu, Jupyter notebook sunucularını veya bir Kubeflow veri düzleminde çalışan dağıtılmış eğitimi desteklemek için kullanabileceğiniz, yedekleme deposu olarak Amazon S3'e doğrudan bağlantı ile eğitim verilerini önbelleğe almak için kullanabilirsiniz. Bu yapılandırmayla, birimi kullanmadan önce dosya sistemine veri aktarmanız gerekmez. FSx for Lustre, tutarlı bir milisaniye altı gecikmeler ve yüksek eşzamanlılık sağlar ve TB/sn'lik aktarım hızına ve milyonlarca IOPS'ye ölçeklenebilir.
Kubeflow dağıtım seçenekleri
AWS, çeşitli Kubeflow dağıtım seçenekleri sunar:
- Amazon Cognito ile Dağıtım
- Amazon RDS ve Amazon S3 ile Dağıtım
- Amazon Cognito, Amazon RDS ve Amazon S3 ile Dağıtım
- Vanilya dağıtımı
Hizmet entegrasyonu ve bu seçeneklerin her biri için mevcut eklentiler hakkında ayrıntılar için, bkz. Dağıtım Seçenekleri. Kullanım durumunuza en uygun seçeneği uygulayabilirsiniz.
Aşağıdaki bölümde, Amazon EKS'ye AWS Kubeflow v1.4 dağıtımını yükleme adımlarını inceleyeceğiz. Ardından, AWS Kubeflow'un Amazon Cognito, Amazon RDS ve Amazon S3 ile eklenti olarak Secrets Manager ile entegrasyonunu ve kullanımını göstermek için Kubeflow merkezi UI panosunda bulunan mevcut XGBoost ardışık düzen örneğini kullanırız.
Önkoşullar
Bu izlenecek yol için aşağıdaki ön koşullara sahip olmalısınız:
- An AWS hesabı.
- Mevcut bir Amazon EKS kümesi. Kubernetes sürüm 1.19 veya üzeri olmalıdır. kullanarak otomatik küme oluşturma için eksctlBakın Amazon EKS Kümesi oluşturun ve eksctl seçeneğini kullanın.
Kubernetes kümenize erişmek için kullanılan istemci makineye aşağıdaki araçları yükleyin. Kullanabilirsiniz AWS Bulut9, Kubernetes küme kurulumu için bulut tabanlı bir tümleşik geliştirme ortamı (IDE).
- AWS Komut Satırı Arayüzü (AWS CLI) – AWS hizmetleriyle etkileşim kurmak için bir komut satırı aracı. Kurulum talimatları için bkz. AWS CLI'yi yükleme, güncelleme ve kaldırma.
- eksctl > 0.56 – Birçok bireysel görevi otomatikleştiren Amazon EKS kümeleriyle çalışmak için bir komut satırı aracı.
- Kubectl – Kubernetes kümeleriyle çalışmak için bir komut satırı aracı.
- git – Dağıtılmış bir sürüm kontrol yazılımı.
- piton 3.8+ – Python programlama ortamı.
- bip – Python için paket yöneticisi.
- 3.2.0 sürümünü özelleştirin – Özelleştirme dosyası aracılığıyla Kubernetes nesnelerini özelleştirmek için bir komut satırı aracı.
Kubeflow'u AWS'ye yükleyin
Bir Amazon EKS kümesine bağlanabilmeniz için kubectl'yi yapılandırın:
Kubeflow dağıtımında kullanılan çeşitli denetleyiciler Hizmet hesapları için IAM rolleri (IRSA). Kümenizin IRSA'yı kullanması için bir OIDC sağlayıcısı bulunmalıdır. Bir OIDC sağlayıcısı oluşturun ve kümenizde zaten yoksa, aşağıdaki komutu çalıştırarak Amazon EKS kümeniz için bunu ilişkilendirin:
AWS bildirim deposunu ve Kubeflow bildirim deposunu klonlayın ve ilgili sürüm dallarını kontrol edin:
Bu sürümler hakkında daha fazla bilgi için bkz. Sürümler ve Sürüm Oluşturma.
Amazon RDS, Amazon S3 ve Secrets Manager'ı kurun
Kubeflow bildirimlerini dağıtmadan önce Amazon RDS ve Amazon S3 kaynakları oluşturursunuz. Secrets Manager'da S3 paketini, RDS veritabanını ve gerekli sırları oluşturmaya özen gösteren otomatik Python betikleri kullanıyoruz. Ayrıca, Kubeflow yüklemesi sırasında RDS veritabanı ve S3 kovası için Kubeflow ardışık düzeni ve AutoML'nin doğru şekilde yapılandırılması için gerekli yapılandırma dosyalarını da düzenler.
Bir IAM kullanıcısı oluşturun izin verme izinleri ile GetBucketLocation
ve Kubeflow yapılarını depolamak istediğiniz bir S3 klasöründeki nesnelere okuma ve yazma erişimi. Kullan AWS_ACCESS_KEY_ID
ve AWS_SECRET_ACCESS_KEY
IAM kullanıcısının aşağıdaki kodda:
Amazon Cognito'yu kimlik doğrulama sağlayıcısı olarak ayarlayın
Bu bölümde, dış trafiği Kubeflow Istio Gateway'e yönlendirmek için Route 53 ve ALB'de özel bir etki alanı oluşturuyoruz. Kullanıcı havuzunu korumak ve kullanıcı kimlik doğrulamasını yönetmek için ALB ve Amazon Cognito'da TLS kimlik doğrulamasını etkinleştirmek üzere bir sertifika oluşturmak için ACM'yi kullanırız.
Aşağıdaki değerleri yerine yazınız
- Route53.rootEtkiAlanı.adı – Kayıtlı alan. Diyelim ki bu alan
example.com
. - Route53.rootDomain.hostedZoneId – Etki alanınız Route53'te yönetiliyorsa, barındırılan bölge ayrıntıları altında bulunan barındırılan bölge kimliğini girin. Alan adınız başka bir alan sağlayıcısı tarafından yönetiliyorsa bu adımı atlayın.
- Route53.subDomain.name – Kubeflow'u barındırmak istediğiniz alt alan adının adı (örneğin,
platform.example.com
). Alt alan adları hakkında daha fazla bilgi için bkz. AWS Cognito ile Kubeflow'u IdP olarak dağıtma. - küme.adı – Küme adı ve Kubeflow'un dağıtıldığı yer.
- küme.bölge – Kubeflow'un dağıtıldığı küme Bölgesi (örneğin,
us-west-2
). - cognitoUserpool.name – Amazon Cognito kullanıcı havuzunun adı (örneğin,
kubeflow-users
).
Yapılandırma dosyası aşağıdaki koda benzer:
Kaynakları oluşturmak için komut dosyasını çalıştırın:
Komut dosyası günceller config.yaml
oluşturduğu kaynak adları, kimlikleri ve ARN'leri içeren dosya. Aşağıdaki kod gibi bir şeye benziyor:
Bildirimler oluşturun ve Kubeflow'u dağıtın
Aşağıdaki komutu kullanarak Kubeflow'u dağıtın:
Etki alanını ALB adresiyle güncelleyin
Dağıtım, giriş tarafından yönetilen bir AWS uygulama yük dengeleyici oluşturur. Route 53'teki alt etki alanı için DNS girişlerini yük dengeleyicinin DNS'si ile güncelliyoruz. Yük dengeleyicinin sağlanmış olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın (bu yaklaşık 3–5 dakika sürer):
Eğer ADDRESS
alan birkaç dakika sonra boşalır, günlükleri kontrol edin. alb-ingress-controller
. Talimatlar için bkz. ALB tedarik edemiyor.
Yük dengeleyici sağlandığında, yük dengeleyicinin DNS adını kopyalayın ve bunun yerine adresi değiştirin. kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. Yapılandırma dosyasının Kubeflow bölümü aşağıdaki koda benzer:
Sağlanan yük dengeleyicinin DNS'si ile Route 53'teki alt etki alanı için DNS girişlerini güncellemek için aşağıdaki komut dosyasını çalıştırın:
Sorun giderme
Kurulum sırasında herhangi bir sorunla karşılaşırsanız, bkz. sorun giderme kılavuzu veya bu blogdaki "Temizlik" bölümünü izleyerek yeni bir başlangıç yapın.
Örnek olay incelemesini kullanın
Gerekli Kubeflow bileşenlerini yüklemeyi tamamladığımıza göre, bunları panoda Kubeflow Pipelines tarafından sağlanan mevcut örneklerden birini kullanarak çalışırken görelim.
Amazon Cognito'yu kullanarak Kubeflow Dashboard'a erişin
Başlamak için Kubeflow Dashboard'a erişim sağlayalım. IdP olarak Amazon Cognito'yu kullandığımız için, resmi BENİOKU dosyası. Önce Amazon Cognito konsolunda bazı kullanıcılar oluşturuyoruz. Bunlar, merkezi gösterge panosuna giriş yapacak olan kullanıcılardır. Sonraki, bir profil oluştur oluşturduğunuz kullanıcı için. Ardından, adresindeki giriş sayfasından kontrol paneline erişebilmelisiniz. https://kubeflow.platform.example.com.
Aşağıdaki ekran görüntüsü Kubeflow Kontrol Panelimizi göstermektedir.
Boru hattını çalıştırın
Kubeflow Dashboard'da seçin Boru Hatları navigasyon adında. Çeşitli Pipelines özelliklerini keşfetmek için doğrudan çalıştırabileceğiniz Kubeflow Pipelines tarafından sağlanan dört örnek görmelisiniz.
Bu gönderi için, [Demo] XGBoost – Yinelemeli model eğitimi adlı XGBoost örneğini kullanıyoruz. Kaynak kodunu adresinde bulabilirsiniz. GitHub. Bu, mevcut olanı kullanan basit bir boru hattıdır. XGBoost/Train
ve XGBoost/Predict
Kubeflow ardışık düzen bileşenleri, metrikler belirtilen metriklere göre iyi kabul edilene kadar bir modeli yinelemeli olarak eğitir.
İşlem hattını çalıştırmak için aşağıdaki adımları tamamlayın:
- Boru hattını seçin ve seçin Deneme oluştur.
- Altında Deney ayrıntıları, bir ad girin (bu gönderi için,
demo-blog
) ve isteğe bağlı açıklama. - Klinik Sonraki.
- Altında Ayrıntıları çalıştır¸ işlem hattınızı ve işlem hattı sürümünüzü seçin.
- İçin Çalıştır adı, isim girin.
- İçin Deney, oluşturduğunuz denemeyi seçin.
- İçin Çalıştırma türüseçin Tek seferlik.
- Klinik Başlama.
İşlem hattı çalışmaya başladıktan sonra bileşenlerin tamamlandığını görmelisiniz (birkaç saniye içinde). Bu aşamada, daha fazla ayrıntı görmek için tamamlanmış bileşenlerden herhangi birini seçebilirsiniz.
Amazon S3'teki yapılara erişin
Kubeflow'u dağıtırken Kubeflow Pipelines'ın yapılarını depolamak için Amazon S3'ü kullanması gerektiğini belirttik. Bu, tüm işlem hattı çıktı yapılarını, önbelleğe alınmış çalıştırmaları ve işlem hattı grafiklerini içerir ve bunların tümü daha sonra zengin görselleştirmeler ve performans değerlendirmesi için kullanılabilir.
İşlem hattı çalıştırması tamamlandığında, kurulum sırasında oluşturduğunuz S3 klasöründeki yapıları görebilmeniz gerekir. Bunu doğrulamak için, işlem hattının tamamlanmış herhangi bir bileşenini seçin ve Girdi / Çıktı varsayılan bölüm grafik sekme. Yapıt URL'leri, dağıtım sırasında belirttiğiniz S3 paketini göstermelidir.
Kaynakların Amazon S3'e eklendiğini doğrulamak için Amazon S3 konsolu aracılığıyla AWS hesabımızdaki S3 klasörünü de kontrol edebiliriz.
Aşağıdaki ekran görüntüsü dosyalarımızı göstermektedir.
Amazon RDS'de ML meta verilerini doğrulayın
Ayrıca dağıtım sırasında Kubeflow Pipelines'ı Amazon RDS ile entegre ettik; bu, tüm işlem hattı meta verilerinin Amazon RDS'de depolanması gerektiği anlamına gelir. Bu, bir görevin durumu, yapıtların kullanılabilirliği, çalıştırma veya yapıtlarla ilişkili özel özellikler ve daha fazlası gibi tüm çalışma zamanı bilgilerini içerir.
Amazon RDS entegrasyonunu doğrulamak için aşağıdaki bölümde sağlanan adımları izleyin. resmi BENİOKU dosyası. Özellikle, aşağıdaki adımları tamamlayın:
- Kurulum sırasında oluşturulan sırdan Amazon RDS kullanıcı adını ve parolasını alın:
- Küme içinden Amazon RDS'ye bağlanmak için bu kimlik bilgilerini kullanın:
- MySQL istemi açıldığında, doğrulayabiliriz.
mlpipelines
veritabanı şu şekilde: - Artık, ardışık düzenleri çalıştıran deneyler hakkında meta veri bilgilerini görebildiğimizden emin olmak için belirli tabloların içeriğini okuyabiliyoruz:
Temizlemek
Kubeflow'u kaldırmak ve oluşturduğunuz AWS kaynaklarını silmek için aşağıdaki adımları tamamlayın:
- Aşağıdaki komutu çalıştırarak giriş ve giriş tarafından yönetilen yük dengeleyiciyi silin:
- Kubeflow bileşenlerinin geri kalanını silin:
- Komut dosyaları tarafından oluşturulan AWS kaynaklarını silin:
- Amazon RDS ve Amazon S3 entegrasyonu için oluşturulan kaynaklar. Komut dosyası tarafından oluşturulan yapılandırma dosyasına sahip olduğunuzdan emin olun.
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Amazon Cognito entegrasyonu için oluşturulan kaynaklar. Komut dosyası tarafından oluşturulan yapılandırma dosyasına sahip olduğunuzdan emin olun.
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Amazon RDS ve Amazon S3 entegrasyonu için oluşturulan kaynaklar. Komut dosyası tarafından oluşturulan yapılandırma dosyasına sahip olduğunuzdan emin olun.
- eksctl kullanarak Kubeflow için özel bir Amazon EKS kümesi oluşturduysanız, bunu aşağıdaki komutla silebilirsiniz:
Özet
Bu gönderide, AWS'de Kubeflow'un güvenli, ölçeklenebilir ve kurumsal kullanıma hazır yapay zeka ve makine öğrenimi iş yükleri için yerel AWS tarafından yönetilen hizmet entegrasyonları aracılığıyla sağladığı değeri vurguladık. Çeşitli hizmet entegrasyonlarıyla Kubeflow'u AWS'ye kurmak için çeşitli dağıtım seçenekleri arasından seçim yapabilirsiniz. Bu gönderideki kullanım örneği, Amazon Cognito, Secrets Manager, Amazon RDS ve Amazon S3 ile Kubeflow entegrasyonunu gösterdi. AWS'de Kubeflow'u kullanmaya başlamak için şuradaki mevcut AWS ile tümleşik dağıtım seçeneklerine bakın: AWS'de Kubeflow.
v1.3 ile başlayarak, aşağıdakileri takip edebilirsiniz: AWS Labs deposu Kubeflow'a yapılan tüm AWS katkılarını izlemek için. Ayrıca bizi şu adreste de bulabilirsiniz: Kubeflow #AWS Slack Kanalı; buradaki geri bildiriminiz, Kubeflow projesine katkıda bulunmak için sonraki özelliklere öncelik vermemize yardımcı olacaktır.
Yazarlar Hakkında
Kanwaljit Khurmi Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. AWS'yi kullanırken hibrit ML çözümlerinin değerini artırmalarına yardımcı olan rehberlik ve teknik yardım sağlamak için AWS ürünü, mühendisliği ve müşterileri ile birlikte çalışır. Kanwaljit, kapsayıcılı ve makine öğrenimi uygulamaları konusunda müşterilere yardımcı olma konusunda uzmanlaşmıştır.
Meghna Bayjal Deep Learning Containers, Deep Learning AMI'leri, AWS Controllers for Kubernetes (ACK) ve Kubeflow on AWS gibi ML ürünleri ve platformları oluşturarak kullanıcıların Makine Öğrenimi iş yüklerini AWS'ye eklemelerini kolaylaştıran AWS AI'ya sahip bir Yazılım Mühendisidir. . İş dışında okumayı, seyahat etmeyi ve resimle uğraşmayı seviyor.
Suraj Kota Makine Öğrenimi altyapısında uzmanlaşmış bir Yazılım Mühendisidir. AWS'de makine öğrenimi iş yükünü kolayca başlatmak ve ölçeklendirmek için araçlar oluşturur. AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes ve Kubeflow gibi diğer açık kaynak entegrasyonları üzerinde çalıştı.
- 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/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- Hakkımızda
- erişim
- Hesap
- Action
- Add-on
- adres
- Gizem
- yönetim
- bağlı
- AI
- Türkiye
- zaten
- Amazon
- Amazon Web Servisleri
- Başka
- Uygulama
- uygulamaları
- uygun
- mimari
- etrafında
- Ortak
- doğrulanmış
- kimliğini doğrular
- Doğrulama
- yetki
- otomatikleştirmek
- Otomatik
- otomata
- kullanılabilirliği
- mevcut
- AWS
- müşterimiz
- faydaları
- İYİ
- milyarlarca
- Blog
- sınır
- inşa etmek
- bina
- inşa
- yerleşik
- yetenekleri
- Kapasite
- hangi
- durumlarda
- CD
- sertifika
- sertifikalar
- zor
- Ödeme Yap
- Klinik
- iddia
- sınıf
- kod
- ortak
- tamamladıktan
- karmaşık
- bileşen
- bilgisayar
- bilgisayar
- yapılandırma
- Sosyal medya
- Bağlantı
- konsolos
- Konteynerler
- içeren
- içerik
- devam etmek
- katkıda bulunmak
- kontrol
- kontrolör
- telif hakkı
- olabilir
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- oluşturur
- Oluşturma
- oluşturma
- Tanıtım
- kritik
- görenek
- Müşteriler
- gösterge paneli
- veri
- veri işleme
- veri bilimi
- veritabanı
- DDoS
- adanmış
- Talep
- göstermek
- gösterdi
- dağıtmak
- konuşlandırılmış
- dağıtma
- açılma
- dağıtımları
- dağıtır
- Dizayn
- ayrıntı
- ayrıntılar
- gelişme
- Dex
- farklı
- direkt
- direkt olarak
- tartışmak
- dağıtıldı
- dağıtım
- dns
- Değil
- domain
- kolayca
- kolay kullanımlı
- kaçırmak
- E-posta
- etkinleştirmek
- şifreleme
- Son nokta
- mühendis
- Mühendislik
- Keşfet
- kuruluş
- çevre
- değerlendirme
- Etkinlikler
- örnek
- mevcut
- deneyim
- deneme
- keşfetmek
- Başarısızlık
- Özellikler
- geribesleme
- mali
- Ad
- uygun
- akış
- odak
- odaklanır
- takip et
- takip etme
- biçim
- bulundu
- taze
- alma
- Git
- GitHub
- Tercih Etmenizin
- Büyümek
- Büyüyen
- yardım et
- yardım
- yardımcı olur
- okuyun
- Yüksek
- daha yüksek
- Vurgulanan
- büyük ölçüde
- hosting
- HTTPS
- melez
- Kimlik
- darbe
- uygulamak
- iyileştirmek
- A.Ş.
- içerir
- Dahil olmak üzere
- artmış
- bireysel
- endüstri lideri
- bilgi
- bilgi
- Altyapı
- kurmak
- entegre
- bütünleşme
- entegrasyonlar
- yatırım
- izolasyon
- sorunlar
- IT
- kendisi
- Mesleki Öğretiler
- koruma
- anahtar
- Labs
- dil
- büyük
- başlattı
- öğrenme
- kaldırma
- çizgi
- yük
- yerel
- makine
- makine öğrenme
- korumak
- YAPAR
- Yapımı
- yönetmek
- yönetilen
- yönetim
- müdür
- Metrikleri
- milyonlarca
- ML
- model
- modelleri
- izleme
- Daha
- çoğu
- isimleri
- Doğal (Madenden)
- Navigasyon
- net
- ağ
- düğümler
- defter
- numara
- Teklifler
- açık
- açık kaynak
- açılır
- operatörler
- optimize
- seçenek
- Opsiyonlar
- Diğer
- kendi
- Şifre
- performans
- platform
- Platformlar
- Nokta
- politikaları
- havuz
- mevcut
- öncelik
- işleme
- PLATFORM
- Ürünler
- Programlama
- proje
- korumak
- sağlamak
- sağlar
- sağlama
- halka açık
- hızla
- ulaşmak
- Okuma
- nedenleri
- kayıt
- kayıtlı
- serbest
- talep
- gereklidir
- Yer Alan Kurallar
- kaynak
- Kaynaklar
- yanıt
- DİNLENME
- Rota
- koşmak
- koşu
- ölçeklenebilirlik
- ölçeklenebilir
- ölçek
- ölçekleme
- Bilim
- sdk
- SEC
- saniye
- güvenli
- güvenlik
- Serverless
- hizmet
- Hizmetler
- set
- kurulum
- Paylar
- İşaretler
- Basit
- beden
- gevşek
- uyku
- So
- Sosyal Medya
- Yazılım
- Yazılım Mühendisi
- katı
- çözüm
- Çözümler
- biraz
- bir şey
- kaynak kodu
- uzman
- özel
- uzmanlaşmış
- özellikle
- Aşama
- başlama
- başladı
- başlar
- Eyalet
- Durum
- hafızası
- mağaza
- Başarılı olarak
- destek
- Destekler
- sistem
- Sistemler
- görevleri
- Teknik
- Kaynak
- İçinden
- zaman
- simge
- araç
- araçlar
- üst
- iz
- trafik
- Eğitim
- transfer
- Çeviri
- taşıma
- Seyahat
- ui
- Güncelleme
- Güncellemeler
- us
- kullanım
- kullanıcılar
- valide
- değer
- çeşitlilik
- çeşitli
- doğrulamak
- vizyonumuz
- hacim
- ağ
- web hizmetleri
- DSÖ
- içinde
- olmadan
- İş
- işlenmiş
- çalışma
- çalışır