Yeni bir versiyonunu duyurmanın heyecanını yaşıyoruz. Kubernet'ler için Amazon SageMaker Operatörleri ile Kubernetes için AWS Denetleyicileri (ACK). ACK, her denetleyicinin bir AWS hizmeti API'si ile iletişim kurduğu Kubernetes özel denetleyicileri oluşturmaya yönelik bir çerçevedir. Bu denetleyiciler, Kubernetes kullanıcılarının yalnızca Kubernetes API'yi kullanarak paketler, veritabanları veya mesaj kuyrukları gibi AWS kaynaklarını tedarik etmesine olanak tanır.
Bırakın v1.2.9 SageMaker ACK Operatörleri için destek eklendi çıkarım bileşenlerişimdiye kadar yalnızca SageMaker API ve AWS Yazılım Geliştirme Kitleri (SDK'ler) aracılığıyla kullanılabiliyordu. Çıkarım bileşenleri, dağıtım maliyetlerini optimize etmenize ve gecikmeyi azaltmanıza yardımcı olabilir. Yeni çıkarım bileşeni yetenekleriyle, bir veya daha fazla temel modeli (FM) aynı cihaz üzerinde dağıtabilirsiniz. Amazon Adaçayı Yapıcı uç nokta ve her FM için kaç hızlandırıcının ve ne kadar hafızanın ayrıldığını kontrol edin. Bu, kaynak kullanımının iyileştirilmesine yardımcı olur, model dağıtım maliyetlerini ortalama %50 azaltır ve uç noktaları kullanım durumlarınızla birlikte ölçeklendirmenize olanak tanır. Daha fazla ayrıntı için bkz. Amazon SageMaker, temel model dağıtım maliyetlerini ve gecikmeyi azaltmaya yardımcı olmak için yeni çıkarım özellikleri ekliyor.
Çıkarım bileşenlerinin SageMaker denetleyicisi aracılığıyla kullanılabilirliği, Kubernetes'i kontrol düzlemleri olarak kullanan müşterilerin, modellerini SageMaker'da dağıtırken çıkarım bileşenlerinden yararlanmasına olanak tanır.
Bu yazıda, SageMaker çıkarım bileşenlerini dağıtmak için SageMaker ACK Operatörlerinin nasıl kullanılacağını gösteriyoruz.
ACK nasıl çalışır?
Göstermek ACK nasıl çalışır?kullanarak bir örneğe bakalım Amazon Basit Depolama Hizmeti (Amazon S3). Aşağıdaki diyagramda Alice Kubernetes kullanıcımızdır. Uygulaması, adlı bir S3 paketinin varlığına bağlıdır. my-bucket
.
İş akışı aşağıdaki adımlardan oluşur:
- Alice bir telefon görüşmesi yapar
kubectl apply
, bir Kubernetes'i tanımlayan bir dosya iletme özel kaynak S3 kovasını anlatıyor.kubectl apply
adı verilen bu dosyayı geçer apaçık, Kubernetes denetleyici düğümünde çalışan Kubernetes API sunucusuna. - Kubernetes API sunucusu, S3 kümesini açıklayan bildirimi alır ve Alice'in sahip olup olmadığını belirler. izinleri özel bir kaynak oluşturmak için tür
s3.services.k8s.aws/Bucket
ve özel kaynağın doğru şekilde biçimlendirildiğinden emin olun. - Alice yetkiliyse ve özel kaynak geçerliyse Kubernetes API sunucusu, özel kaynağı kendisine yazar.
etcd
Bilgi deposu. - Daha sonra Alice'e özel kaynağın oluşturulduğunu belirten yanıt verir.
- Bu noktada ACK hizmeti kontrolör Normal bir Kubernetes bağlamında bir Kubernetes çalışan düğümünde çalışan Amazon S3 için Koza, yeni bir özel kaynağın olduğu bildirildi
s3.services.k8s.aws/Bucket
yaratıldı. - Amazon S3 için ACK hizmet denetleyicisi daha sonra Amazon S3 API ile iletişim kurarak S3 CreateBucket API'si AWS'de paketi oluşturmak için.
- ACK hizmet denetleyicisi, Amazon S3 API ile iletişim kurduktan sonra özel kaynağın güncellemesini yapmak için Kubernetes API sunucusunu çağırır. durum Amazon S3'ten aldığı bilgilerle.
Anahtar bileşenler
Yeni çıkarım yetenekleri, SageMaker'ın gerçek zamanlı çıkarım uç noktalarına dayanmaktadır. Daha önce olduğu gibi, SageMaker uç noktasını, uç nokta için örnek tipini ve ilk örnek sayısını tanımlayan bir uç nokta yapılandırmasıyla oluşturursunuz. Model yeni bir yapıda, bir çıkarım bileşeninde yapılandırılmıştır. Burada, model yapıları, kapsayıcı görüntüsü ve konuşlandırılacak model kopyalarının sayısıyla birlikte, bir modelin her bir kopyasına ayırmak istediğiniz hızlandırıcı sayısını ve bellek miktarını belirtirsiniz.
Yeni çıkarım yeteneklerini şuradan kullanabilirsiniz: Amazon SageMaker Stüdyosu, SageMaker Python SDK'sı, AWS SDK'ları, ve AWS Komut Satırı Arayüzü (AWS CLI). Onlar tarafından da destekleniyorlar AWS CloudFormation. Artık bunları şununla da kullanabilirsiniz: Kubernetes için SageMaker Operatörleri.
Çözüme genel bakış
Bu demoda, SageMaker denetleyicisini kullanarak bir kopyasını dağıtacağız. Dolly v2 7B modeli ve bir kopyası FLAN-T5 XXL modeli itibaren Sarılma Yüz Modeli Hub Yeni çıkarım yeteneklerini kullanarak SageMaker'ın gerçek zamanlı uç noktasında.
Önkoşullar
Devam etmek için SageMaker ACK denetleyici v1.2.9 veya üzerinin kurulu olduğu bir Kubernetes kümesine sahip olmanız gerekir. Nasıl tedarik edileceğine ilişkin talimatlar için Amazon Elastik Kubernetes Hizmeti (Amazon EKS) kümesi Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) eksctl kullanılarak Linux tarafından yönetilen düğümler, bkz. Amazon EKS'yi kullanmaya başlama – eksctl. SageMaker denetleyicisinin kurulumuna ilişkin talimatlar için bkz. ACK SageMaker Denetleyicisi ile Makine Öğrenimi.
Yüksek Lisans'ı barındırmak için hızlandırılmış örneklere (GPU'lar) erişmeniz gerekir. Bu çözüm ml.g5.12xlarge'ın bir örneğini kullanır; AWS hesabınızda bu bulut sunucularının kullanılabilirliğini kontrol edebilir ve aşağıdaki ekran görüntüsünde gösterildiği gibi, gerektiğinde Hizmet Kotası artış talebi aracılığıyla bu bulut sunucularını talep edebilirsiniz.
Çıkarım bileşeni oluşturma
Çıkarım bileşeninizi oluşturmak için EndpointConfig
, Endpoint
, Model
, ve InferenceComponent
YAML dosyaları, bu bölümde gösterilenlere benzer. Kullanmak kubectl apply -f <yaml file>
Kubernetes kaynaklarını oluşturmak için.
Kaynağın durumunu şu adresten listeleyebilirsiniz: kubectl describe <resource-type>
; Örneğin, kubectl describe inferencecomponent
.
Çıkarım bileşenini model kaynağı olmadan da oluşturabilirsiniz. bölümünde sağlanan kılavuza bakın. API belgeleri daha fazla ayrıntı için.
EndpointConfig YAML
EndpointConfig dosyasının kodu aşağıdadır:
Uç nokta YAML'si
Endpoint dosyasının kodu aşağıdadır:
YAML modeli
Model dosyasının kodu aşağıdadır:
Çıkarım Bileşeni YAML'leri
Aşağıdaki YAML dosyalarında ml.g5.12xlarge örneğinin 4 GPU ile geldiği göz önüne alındığında, her modele 2 GPU, 2 CPU ve 1,024 MB bellek ayırıyoruz:
Modelleri çağır
Artık modelleri aşağıdaki kodu kullanarak çağırabilirsiniz:
Çıkarım bileşenini güncelleme
Mevcut bir çıkarım bileşenini güncellemek için YAML dosyalarını güncelleyebilir ve ardından kubectl apply -f <yaml file>
. Aşağıda güncelleştirilmiş bir dosya örneği verilmiştir:
Çıkarım bileşenini silme
Mevcut bir çıkarım bileşenini silmek için şu komutu kullanın: kubectl delete -f <yaml file>
.
Kullanılabilirlik ve fiyatlandırma
Yeni SageMaker çıkarım yetenekleri bugün AWS Bölgeleri ABD Doğu (Ohio, K. Virginia), ABD Batı (Oregon), Asya Pasifik (Jakarta, Mumbai, Seul, Singapur, Sidney, Tokyo), Kanada (Orta), Avrupa ()'da mevcuttur. Frankfurt, İrlanda, Londra, Stockholm), Orta Doğu (BAE) ve Güney Amerika (São Paulo). Fiyatlandırma ayrıntıları için şu adresi ziyaret edin: Amazon SageMaker Fiyatlandırması.
Sonuç
Bu yazıda SageMaker çıkarım bileşenlerini dağıtmak için SageMaker ACK Operatörlerinin nasıl kullanılacağını gösterdik. Kubernetes kümenizi çalıştırın ve yeni SageMaker çıkarım yeteneklerini kullanarak FM'lerinizi hemen dağıtın!
Yazarlar Hakkında
Rajesh Ramchander AWS'de Profesyonel Hizmetler alanında Baş Makine Öğrenimi Mühendisidir. Müşterilere, AI/ML ve GenAI yolculuklarının çeşitli aşamalarında, yeni başlayanlardan işlerini yapay zeka öncelikli bir stratejiyle yönetenlere kadar yardımcı oluyor.
Amit Arora Amazon Web Services'ta Yapay Zeka ve Makine Öğrenimi Uzmanı Mimardır ve kurumsal müşterilerin yeniliklerini hızla ölçeklendirmek için bulut tabanlı makine öğrenimi hizmetlerini kullanmalarına yardımcı olur. Ayrıca Washington DC'deki Georgetown Üniversitesi'nde MS veri bilimi ve analitik programında yardımcı öğretim görevlisidir.
Süryanş Singh AWS SageMaker'da Yazılım Geliştirme Mühendisidir ve AWS müşterileri için uygun ölçekte makine öğrenimi ile dağıtılan altyapı çözümleri geliştirmeye çalışmaktadır.
Saurabh Trikande Amazon SageMaker Inference için Kıdemli Ürün Yöneticisidir. Müşterilerle çalışma konusunda tutkulu ve makine öğrenimini demokratikleştirme hedefiyle motive oluyor. Karmaşık makine öğrenimi uygulamaları, çok kiracılı makine öğrenimi modelleri, maliyet optimizasyonları ve derin öğrenme modellerinin dağıtımını daha erişilebilir hale getirmeyle ilgili temel zorluklara odaklanıyor. Saurabh boş zamanlarında yürüyüş yapmaktan, yenilikçi teknolojiler hakkında bilgi edinmekten, TechCrunch'ı takip etmekten ve ailesiyle vakit geçirmekten hoşlanıyor.
John Liu Amazon SageMaker ekibinde bir Yazılım Geliştirme Mühendisidir. Mevcut çalışması, geliştiricilerin makine öğrenimi modellerini verimli bir şekilde barındırmasına ve çıkarım performansını iyileştirmesine yardımcı olmaya odaklanmaktadır. Mekânsal veri analizi ve toplumsal sorunları çözmek için yapay zekayı kullanma konusunda tutkulu.
- 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/use-kubernetes-operators-for-new-inference-capabilities-in-amazon-sagemaker-that-reduce-llm-deployment-costs-by-50-on-average/