Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklenir

Bu yazı, Zendesk'teki Sr. Staff Machine Learning Mühendisi Sowmya Manusani ile birlikte yazılmıştır.

Zendesk basitliği temel alarak herkes için destek, satış ve müşteri etkileşimi yazılımı oluşturan bir SaaS şirketidir. Dünya çapında 170,000'den fazla şirketin yüz milyonlarca müşterisine verimli bir şekilde hizmet etmesini sağlama konusunda başarılıdır. Zendcaesk'teki Makine Öğrenimi ekibi, Müşteri Deneyimi ekiplerini ellerinden gelenin en iyisini elde etmek için geliştirmekten sorumludur. Verilerin ve insanların gücünü bir araya getiren Zendesk, manuel çalışmayı otomatikleştirerek müşterilerinin daha üretken olmasını sağlayan akıllı ürünler sunar.

Zendesk, 2015'ten beri makine öğrenimi ürünleri geliştiriyor. Cevap Botu, Memnuniyet Tahmini, İçerik İpuçları, Önerilen Makrolar, ve daha fazlası. Son birkaç yılda, derin öğrenmedeki, özellikle de NLP'deki büyümeyle birlikte, iş akışlarını otomatikleştirmek ve acentelere müşterilerini Zendesk çözümleriyle desteklemelerinde yardımcı olmak için birçok fırsat gördüler. Zendesk şu anda derin öğrenme modelleri oluşturmak için TensorFlow ve PyTorch'u kullanıyor.

Zendesk gibi müşteriler, Amazon Web Services (AWS) üzerinde hizmet olarak başarılı, yüksek ölçekli yazılım (SaaS) işletmeleri oluşturdular. Başarılı bir SaaS iş modeli için temel itici güç, uygulamada ve altyapıda çoklu kiracılık uygulama yeteneğidir. Bu, uygulamanın yalnızca bir kez oluşturulması gerektiğinden maliyet ve operasyonel verimlilik sağlar, ancak birçok kez kullanılabilir ve altyapı paylaşılabilir. Birçok müşterinin bilgi işlem, depolama, veritabanı ve ağ oluşturmaya kadar yığının tüm katmanlarında AWS üzerinde güvenli, uygun maliyetli, çok kiracılı sistemler oluşturduğunu görüyoruz ve şimdi müşterilerin bunu makine öğrenimine (ML) uygulaması gerektiğini görüyoruz. ).

Modelin yeniden kullanımı ile hiper kişiselleştirme arasındaki zorlu ödünleşimi yapmak

SaaS işletmeleri için çoklu kiracılık, genellikle tek bir uygulamanın birçok kullanıcı (SaaS müşterileri) arasında yeniden kullanılması anlamına gelir. Bu, maliyet verimliliği yaratır ve operasyonel giderleri azaltır. Bununla birlikte, makine öğrenimi modellerinin bazen doğru tahminler yapmak için yüksek derecede özgünlük (hiper-kişiselleştirilmiş) ile kişiselleştirilmesi gerekir. Bu, "bir kez oluştur, birçok kez kullan" SaaS paradigmasının, modellerin özgünlüğü varsa makine öğrenimine her zaman uygulanamayacağı anlamına gelir. Örneğin, müşteri destek platformlarının kullanım durumunu ele alalım. Kullanıcıların bir destek biletine dahil ettiği dil, bunun bir yolculuk paylaşımı sorunu ("yolculuk çok uzun sürdü") veya bir giysi satın alma sorunu ("yıkandığında renk değişikliği") olup olmadığına bağlı olarak değişir. Bu kullanım durumunda, en iyi düzeltme eyleminin tahmin edilmesinin doğruluğunu artırmak, bir iş alanına veya sektöre özel bir veri kümesi üzerinde bir doğal dil işleme (NLP) modelinin eğitimini gerektirebilir. Zendesk, çözümlerinde ML'den yararlanmaya çalışırken tam olarak bu zorlukla karşı karşıya. Her biri belirli bir müşteri için uyarlanmış binlerce yüksek düzeyde özelleştirilmiş makine öğrenimi modeli oluşturmaları gerekiyordu. Binlerce modeli uygun maliyetle dağıtma sorununu çözmek için Zendesk, Amazon SageMaker'a döndü.

Bu gönderide, bazı yeni özelliklerin nasıl kullanılacağını gösteriyoruz. Amazon Adaçayı Yapıcı, çok kiracılı bir ML çıkarım yeteneği oluşturmak için tam olarak yönetilen bir makine öğrenimi hizmeti. Ayrıca, Zendesk'in makine öğrenimi modellerinde hiper kişiselleştirmeyi destekleyebilmek ile SageMaker çoklu model uç noktalarını kullanan düşük maliyetli, ortak altyapı kullanımı arasında mutlu bir ortam kurarak aynı sonuca nasıl başarılı bir şekilde ulaştığına dair gerçek dünyadan bir örnek paylaşıyoruz ( MME).

SageMaker çoklu model uç noktaları

SageMaker çoklu model uç noktaları, bir veya daha fazla örnek içerebilen tek bir çıkarım uç noktasının arkasında birden çok modeli dağıtmanıza olanak tanır. Her örnek, kendi belleği ve CPU kapasitesine kadar birden çok modeli yüklemek ve sunmak üzere tasarlanmıştır. Bu mimariyle, bir SaaS işletmesi, birden çok modeli barındırmanın doğrusal olarak artan maliyetini kırabilir ve uygulama yığınında başka bir yerde uygulanan çok kullanıcılı modelle tutarlı altyapının yeniden kullanımını sağlayabilir.

Aşağıdaki diyagram, bir SageMaker çoklu model uç noktasının mimarisini gösterir.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

SageMaker çoklu model uç noktası, modelleri dinamik olarak Amazon Basit Depolama Hizmeti (Amazon S3), uç nokta ilk oluşturulduğunda tüm modelleri indirmek yerine çağrıldığında. Sonuç olarak, bir modele yapılan ilk çağrı, düşük gecikmeyle tamamlanan sonraki çıkarımlardan daha yüksek çıkarım gecikmesi görebilir. Model, çağrıldığında kapsayıcıya zaten yüklenmişse, indirme adımı atlanır ve model çıkarımları düşük gecikmeyle döndürür. Örneğin, günde yalnızca birkaç kez kullanılan bir modeliniz olduğunu varsayalım. İsteğe bağlı olarak otomatik olarak yüklenirken, sık erişilen modeller bellekte tutulur ve sürekli olarak düşük gecikme süresiyle çağrılır.

Zendesk'in Önerilen Makrolar ML özelliğiyle uygun maliyetli, hiper ölçekli ML dağıtımı elde etmek için SageMaker MME'yi nasıl kullandığına daha yakından bakalım.

Zendesk neden hiper kişiselleştirilmiş modeller geliştirdi?

Zendesk'in müşterileri, farklı destek bileti semantikleri ile farklı endüstri dikeylerinde küresel olarak yayılmıştır. Bu nedenle, müşterilerine en iyi hizmeti verebilmek için genellikle amacı, makroları ve daha fazlasını doğru bir şekilde belirlemek için müşteriye özel destek bileti verileri konusunda eğitilmiş kişiselleştirilmiş modeller oluşturmaları gerekir.

Ekim 2021'de, müşteriye özel binlerce model tahminine dayalı olarak makrolar (önceden tanımlanmış eylemler) öneren Önerilen Makrolar adlı yeni bir NLP ML özelliği yayınladılar. Zendesk'in ML ekibi, müşteri başına bilet içeriği ve makroların önceki geçmişinden eğitilmiş TensorFlow tabanlı bir NLP sınıflandırıcı modeli oluşturdu. Bu modeller mevcutken, bir temsilci bileti görüntülediğinde (aşağıdaki ekran görüntüsünde gösterildiği gibi) bir makro tahmini önerilir ve bu, temsilcinin müşterilere hızlı bir şekilde hizmet vermesine yardımcı olur. Makrolar müşterilere özel olduğundan, Zendesk'in doğru tahminler sunması için müşteriye özel modellere ihtiyacı vardır.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Zendesk'in Önerilen Makroları başlığı altında

Önerilen Makro modelleri, boyutu yaklaşık 7-15 MB olan NLP tabanlı sinir ağlarıdır. Asıl zorluk, bu modellerden binlercesini düşük maliyetli, güvenilir ve ölçeklenebilir çözümlerle üretime sokmaktır.

Her modelin, saniyede en az iki istek ve saniyede yüzlerce istekten oluşan bir zirve ile farklı trafik kalıpları vardır ve model bellekte mevcut olduğunda yaklaşık 100 milisaniyelik bir model gecikmesiyle günde milyonlarca tahmin sunar. SageMaker uç noktaları, birden çok AWS Bölgesinde dağıtılır ve uç nokta başına dakika başına binlerce istek sunar.

Tek bir uç noktada birden fazla modeli barındırma yeteneği ile SageMaker, Zendesk'in dağıtım ek yükünü azaltmasına ve müşteri başına tek model bir uç nokta dağıtmaya kıyasla uygun maliyetli bir çözüm oluşturmasına yardımcı oldu. Buradaki ödün, model başına yönetim üzerinde daha az kontrol; ancak bu, Zendesk'in çok modelli uç noktaları geliştirmek için AWS ile işbirliği yaptığı bir alandır.

SageMaker çoklu model özelliklerinden biri, modellerin tembel yüklenmesidir, yani modeller ilk kez çağrıldığında belleğe yüklenir. Bu, bellek kullanımını optimize etmek içindir; ancak, ilk yükte tepki süresinde ani yükselmelere neden olur ve bu bir soğuk çalıştırma sorunu olarak görülebilir. Önerilen Makrolar için bu bir zorluktu; ancak Zendesk, üretim trafiğine hizmet etmeden önce modelleri belleğe yüklemek için SageMaker uç nokta provizyonunun üzerine bir ön yükleme işlevi uygulayarak bunun üstesinden geldi. İkinci olarak, MME seyrek kullanılan modelleri bellekten kaldırır, böylece tüm modellerde tutarlı düşük gecikme süresi elde etmek ve diğer daha az aktif modelleri etkileyen "gürültülü komşuları" önlemek için Zendesk, AWS ile işbirliği yaparak, gönderide daha sonra tartışılacak olan yeni özellikler ekliyor. daha açık model başına yönetim. Ayrıca, geçici bir çözüm olarak Zendesk, çok fazla modelin boşaltılmasını en aza indirmek için MME filosunu doğru şekilde boyutlandırdı. Bu sayede Zendesk, tüm müşterilerine yaklaşık 100 milisaniyelik düşük gecikme süresiyle tahminler sunabiliyor ve tahsis edilmiş uç noktalara kıyasla yine de %90 maliyet tasarrufu sağlıyor.

MME'yi doğru boyutlandırma konusunda Zendesk, yük testi sırasında MME'nin arkasında daha fazla sayıda daha küçük örneğe sahip olmanın (yatay ölçeklendirmede sapma) daha az sayıda daha büyük bellek örneğine (dikey ölçeklendirme) sahip olmaktan daha iyi bir seçim olduğunu gözlemledi. Zendesk, tek bir büyük bellek örneğinde çok fazla model (kendi durumlarında 500 TensorFlow modelinin ötesinde) paketlemenin iyi çalışmadığını gözlemledi çünkü bellek bir örnekte darboğaz olabilecek tek kaynak değil. Daha spesifik olarak, TensorFlow'un model başına birden çok iş parçacığı (3 x toplam örnek vCPU) oluşturduğunu gözlemlediler, bu nedenle tek bir örneğe 500'den fazla model yüklemek, bir örnekte oluşturulabilecek maksimum iş parçacığı sayısında çekirdek düzeyi sınırlarının ihlal edilmesine neden oldu. Daha az sayıda, daha büyük örnek kullanmayla ilgili başka bir sorun, Zendesk, MME'nin arkasındaki bazı örneklerde kısıtlama (güvenlik mekanizması olarak) yaşadığında ortaya çıktı çünkü saniye başına benzersiz model çağırma oranı, Çoklu Model Sunucu (MMS), örneği karartmadan güvenle işleyebilir. Bu, daha fazla ve daha küçük örneklerin kullanılmasıyla çözülen başka bir sorundu.

Herhangi bir üretim uygulamasının çok önemli bir bileşeni olan gözlemlenebilirlik açısından, Amazon Bulut İzleme Çağrılar, CPU, bellek kullanımı gibi metrikler ve belleğe yüklenen modeller, model yükleme süresi, model yükleme bekleme süresi ve model önbellek isabeti gibi çoklu modele özel metrikler bilgilendiricidir. Spesifik olarak, model gecikmesinin dökümü, Zendesk'in soğuk çalıştırma sorununu ve etkisini anlamasına yardımcı oldu.

MME otomatik ölçeklendirme başlığı altında

Her çoklu model uç noktasının arkasında, aşağıdaki şemada gösterildiği gibi model barındırma örnekleri vardır. Bu örnekler, modellere giden trafik modellerine göre birden çok modeli belleğe yükler ve bellekten çıkarır.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

SageMaker, bir model için çıkarım isteklerini, taleplerin önbelleğe alınmış model kopyasından sunulduğu şekilde modelin zaten yüklendiği örneğe yönlendirmeye devam eder (ilk tahmin isteğinin önbelleğe alınmış tahmin isteğine karşı istek yolunu gösteren aşağıdaki şemaya bakın). yol). Ancak, model çok sayıda çağırma isteği alırsa ve çoklu model uç noktası için ek örnekler varsa, SageMaker artışı karşılamak için bazı istekleri başka bir örneğe yönlendirir. SageMaker'da otomatik model ölçeklendirmeden yararlanmak için, sahip olduğunuzdan emin olun. örnek otomatik ölçeklendirme kurulumu ek örnek kapasitesi sağlamak için. Uç nokta filosuna daha fazla örnek eklemek için özel parametreler veya dakika başına çağrı sayısı (önerilen) ile uç nokta düzeyinde ölçeklendirme politikanızı ayarlayın.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

MME için en uygun senaryoları kullanın

SageMaker çoklu model uç noktaları, paylaşılan bir hizmet kapsayıcısı aracılığıyla hizmet verebileceğiniz ve tüm modellere aynı anda erişmeniz gerekmeyen çok sayıda benzer modeli barındırmak için çok uygundur. MME, boyut ve başlatma gecikmeleri açısından benzer modeller için en uygunudur. Model boyutunda bazı farklılıklar kabul edilebilir; örneğin, Zendesk'in modelleri 10-50 Mb aralığındadır, bu gayet iyi çalışır, ancak 10, 50 veya 100 kat daha büyük boyuttaki varyasyonlar uygun değildir. Daha büyük modeller, yeterli bellek alanını barındırmak için daha fazla sayıda yüklemeye ve daha küçük modellerin yüklerinin kaldırılmasına neden olabilir, bu da uç noktada ek gecikmeye neden olabilir. Daha büyük modellerin performans özelliklerindeki farklılıklar, CPU gibi kaynakları eşit olmayan şekilde tüketebilir ve bu da örnekteki diğer modelleri etkileyebilir.

MME, birden çok modeli yüklemek için paylaşılan kapsayıcıyı kullandıkları için aynı ML çerçevesini kullanan ortak barındırma modelleri için de tasarlanmıştır. Bu nedenle, model filonuzda (PyTorch ve TensorFlow gibi) ML çerçevelerinin bir karışımı varsa, SageMaker ayrılmış uç noktalar veya çok kapsayıcılı barındırma daha iyi bir seçimdir. Son olarak, MME, nadiren kullanılan modeller, sık çağrılan modeller lehine boşaltılabildiğinden, ara sıra bir soğuk başlatma gecikme cezasını tolere edebilen uygulamalar için uygundur. Nadiren erişilen uzun bir model kuyruğunuz varsa, çok modelli bir uç nokta bu trafiğe verimli bir şekilde hizmet edebilir ve önemli maliyet tasarrufları sağlayabilir.

Özet

Bu yayında, SaaS ve çoklu kiracılığın makine öğrenimi ile nasıl ilişkili olduğunu ve SageMaker çok modelli uç noktalarının makine öğrenimi çıkarımı için çok kiracılı ve maliyet verimliliğini nasıl sağladığını öğrendiniz. Zendesk'in müşteri başına makine öğrenimi modellerinin çok kiracılı kullanım durumunu ve Önerilen Makrolar özelliği için SageMaker MME'de binlerce makine öğrenimi modelini nasıl barındırdıklarını öğrendiniz ve özel uç noktalara kıyasla çıkarımda %90 maliyet tasarrufu sağladınız. Hiper kişiselleştirme kullanım senaryoları binlerce ML modeli gerektirebilir ve MME bu kullanım senaryosu için uygun maliyetli bir seçimdir. Her bir kişiselleştirilmiş model için düşük gecikmeli ve daha ayrıntılı denetimlere sahip modelleri barındırmanıza olanak tanımak için MME'de geliştirmeler yapmaya devam edeceğiz. MME'yi kullanmaya başlamak için bkz. Birden çok modeli tek bir kapsayıcıda tek bir uç noktanın arkasında barındırın.


Yazarlar Hakkında

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Seyit Jaffry AWS'li bir Kıdemli Çözüm Mimarıdır. Bulutta güvenli, esnek, ölçeklenebilir ve yüksek performanslı uygulamalar oluşturmalarına ve çalıştırmalarına yardımcı olmak için orta ölçekli kuruluşlardan büyük kuruluşlara, finansal hizmetlerden ISV'lere kadar çeşitli şirketlerle birlikte çalışır.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Sowmya Manusani Zendesk'te Kıdemli Personel Makine Öğrenimi Mühendisidir. Binlerce Zendesk Enterprise müşterisi için Temsilci üretkenliğini artırmaya odaklanan NLP tabanlı Makine Öğrenimi özelliklerini üretmeye çalışıyor. Binlerce kişiselleştirilmiş model için otomatikleştirilmiş eğitim ardışık düzenleri oluşturma ve bunları güvenli, esnek, ölçeklenebilir ve yüksek performanslı uygulamalar kullanarak sunma deneyimine sahiptir. Boş zamanlarında bulmaca çözmeyi ve resim yapmayı sever.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai. Saurabh Trikande Amazon SageMaker Inference için Kıdemli Ürün Yöneticisidir. Müşterilerle çalışma ve makine öğrenimini daha erişilebilir hale getirme konusunda tutkulu. 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.

Çok kiracılı SaaS kullanım örnekleri için makine öğrenimi çıkarımı nasıl ölçeklendirilir? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Derin Ragha Amazon SageMaker ekibinde bir Yazılım Geliştirme Mühendisidir. Şu anki çalışması, makine öğrenimi modellerini verimli bir şekilde barındırmak için özellikler oluşturmaya odaklanıyor. Boş zamanlarında seyahat etmeyi, yürüyüş yapmayı ve bitki yetiştirmeyi sever.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi