Amazon SageMaker ML modelleri için test yaklaşımları

Bu gönderi, Intuit Machine Learning Platformu Yazılım Mühendisliği Müdürü Tobias Wenzel ile birlikte yazılmıştır.

Örneğin, otonom sürüşü kullanırken veya Alexa ile etkileşim kurarken yüksek kaliteli ve güvenilir bir makine öğrenimi (ML) modelinin önemini hepimiz takdir ediyoruz. Makine öğrenimi modelleri, daha az belirgin olan şekillerde de önemli bir rol oynar; bunlar iş uygulamaları, sağlık hizmetleri, finans kurumları, amazon.com, TurboTax ve daha fazlası tarafından kullanılır.

Makine öğrenimi etkin uygulamalar birçok işletmenin özü haline geldiğinden, modellerin yazılım uygulamalarıyla aynı gücü ve disiplini izlemesi gerekir. MLOps'un önemli bir yönü, test etme, sürüm oluşturma, sürekli teslim ve izleme gibi yerleşik DevOps uygulamalarını kullanarak önceden geliştirilmiş ML modelinin yeni bir sürümünü üretimde sunmaktır.

Birkaç vardır zaman aşımına uğramış MLO'lar ile ilgili yönergeler ve bu gönderi, izleyebileceğiniz sürece ve test için hangi araçları kullanacağınıza ilişkin bir genel bakış sunar. Bu, arasındaki işbirliklerine dayanmaktadır. Sezmek ve AWS. Bu gönderide açıklanan önerileri pratikte ve ölçekte uygulamak için birlikte çalışıyoruz. Intuit'in bir olma hedefi AI odaklı uzman platformu büyük ölçüde ilk model geliştirme hızını artırma stratejisine ve yeni sürümlerin test edilmesine bağlıdır.

Yer Alan Kurallar

Yeni model sürümlerini dağıtırken dikkate alınması gereken ana alanlar şunlardır:

  1. Model doğruluk performansı - Önemlidir izlemek doğruluk, kesinlik ve geri çağırma gibi model değerlendirme ölçütlerini içerir ve nesnel ölçütlerin nispeten aynı kalmasını veya modelin yeni bir sürümüyle iyileştirilmesini sağlar. Çoğu durumda, son kullanıcıların deneyimi gelişmeyecekse, modelin yeni bir sürümünü dağıtmak bir anlam ifade etmez.
  2. Veri kalitesini test edin – İster simüle edilmiş ister belirli bir zamanda kopyalanmış olsun, üretim dışı ortamlardaki veriler, hacim veya dağıtım açısından modelin tam olarak dağıtıldığında alacağı verileri temsil etmelidir. Aksi takdirde, test süreçleriniz temsili olmayacaktır ve modeliniz üretimde farklı davranabilir.
  3. Özelliğin önemi ve paritesi – Modelin daha yeni sürümündeki özellik önemi, tanıtılan yeni özellikler olsa da, eski modelle nispeten karşılaştırılmalıdır. Bu, modelin önyargılı hale gelmemesini sağlamak içindir.
  4. İş süreci testi – Bir modelin yeni bir versiyonunun, gerekli iş hedeflerinizi kabul edilebilir parametreler dahilinde yerine getirebilmesi önemlidir. Örneğin, iş metriklerinden biri, herhangi bir hizmet için uçtan uca gecikme süresinin 100 milisaniyeden fazla olmaması veya belirli bir modeli barındırma ve yeniden eğitme maliyetinin yılda 10,000 ABD Dolarından fazla olmaması olabilir.
  5. Ücret – Teste yönelik basit bir yaklaşım, tüm üretim ortamını bir test ortamı olarak çoğaltmaktır. Bu, yazılım geliştirmede yaygın bir uygulamadır. Ancak, makine öğrenimi modellerinde böyle bir yaklaşım, verinin boyutuna bağlı olarak doğru yatırım getirisini sağlamayabilir ve ele aldığı iş sorunu açısından modeli etkileyebilir.
  6. Güvenlik – Test ortamlarının genellikle gerçek müşteri verileri yerine örnek verilere sahip olması beklenir ve sonuç olarak veri işleme ve uyumluluk kuralları daha az katı olabilir. Yine de maliyet gibi, üretim ortamını bir test ortamına kopyalarsanız, güvenlik ve uyumluluk riskleri oluşturabilirsiniz.
  7. Özellik deposu ölçeklenebilirliği – Bir kuruluş, maliyet veya güvenlik nedenleriyle ayrı bir test özelliği deposu oluşturmamaya karar verirse, üretim özellik deposunda model testinin yapılması gerekir; bu, test süresi boyunca trafik iki katına çıktığından ölçeklenebilirlik sorunlarına neden olabilir.
  8. Çevrimiçi model performansı – Çevrimiçi değerlendirmeler çevrimdışı değerlendirmelerden farklıdır ve öneri modelleri gibi bazı durumlarda kullanıcı memnuniyetini algılanan memnuniyet yerine gerçek zamanlı olarak ölçtüğü için önemli olabilir. Mevsimsellik veya diğer kullanıcı davranışları nedeniyle üretim dışı ortamlarda gerçek trafik modellerini simüle etmek zordur, bu nedenle çevrimiçi model performansı yalnızca üretimde yapılabilir.
  9. Operasyonel performans – Modeller büyüdükçe ve giderek farklı donanımlarda merkezi olmayan bir şekilde dağıtıldıkça, gecikme, hata oranı ve daha fazlası gibi istediğiniz operasyonel performans için modeli test etmek önemlidir.

Çoğu makine öğrenimi ekibinin model testine yönelik çok yönlü bir yaklaşımı vardır. Aşağıdaki bölümlerde, çeşitli test aşamalarında bu zorlukların üstesinden gelmenin yollarını sunuyoruz.

Çevrimdışı model testi

Bu test aşamasının amacı, mevcut bir modelin yeni versiyonlarını doğruluk açısından doğrulamaktır. Bu, üretim sisteminde gerçek zamanlı tahminler sunan herhangi bir tahminin etkilenmemesi için çevrimdışı bir şekilde yapılmalıdır. Bu test, yeni modelin uygulanabilir değerlendirme ölçütleri için daha iyi performans göstermesini sağlayarak 1. zorluğu (model doğruluk performansı) ele alır. Ayrıca, doğru veri kümesini kullanarak bu test, 2. ve 3. zorlukları (test veri kalitesi, özellik önemi ve eşlik) ele alabilir ve ayrıca 5. zorlukla (maliyet) mücadele etmenin ek faydasına da sahip olabilir.

Bu aşama evreleme ortamında yapılır.

Çevrimdışı geri testte yeniden oynatmak için kullanabileceğiniz üretim trafiğini yakalamalısınız. Sentetik veriler yerine geçmiş üretim trafiğini kullanmak tercih edilir. bu Amazon SageMaker Model Monitörü veri yakalama özelliği üzerinde barındırılan modeller için üretim trafiğini yakalamanıza olanak tanır. Amazon Adaçayı Yapıcı. Bu, model geliştiricilerinin modellerini yoğun iş günlerinden veya diğer önemli olaylardan alınan verilerle test etmelerine olanak tanır. Yakalanan veriler daha sonra yeni model sürümüne karşı toplu olarak yeniden oynatılır. Sagemaker toplu dönüştürme. Bu, toplu dönüştürme çalışmasının haftalar veya aylar boyunca yalnızca birkaç saat içinde toplanan verilerle test yapabileceği anlamına gelir. Bu, gerçek zamanlı bir modelin iki veya daha fazla sürümünü yan yana çalıştırmaya ve her uç noktaya yinelenen tahmin istekleri göndermeye kıyasla model değerlendirme sürecini önemli ölçüde hızlandırabilir. Bu yaklaşım, daha iyi performans gösteren bir sürümü daha hızlı bulmanın yanı sıra, işlem kaynaklarını daha kısa bir süre için kullanarak toplam maliyeti düşürür.

Bu test yaklaşımındaki zorluk, özellik setinin bir model versiyonundan diğerine değişmesidir. Bu senaryoda, tüm özelliklerin bir kerede sorgulanabilmesi ve veri yakalama yoluyla kaydedilebilmesi için her iki sürüm için bir üst özellik kümesi içeren bir özellik kümesi oluşturmanızı öneririz. Her tahmin çağrısı, yalnızca modelin geçerli sürümü için gerekli olan özellikler üzerinde çalışabilir.

Ek bir bonus olarak, entegre ederek Amazon SageMaker Netleştirin çevrimdışı model testinizde, modelin yeni sürümünü sapma açısından kontrol edebilir ve özellik ilişkilendirmesini modelin önceki sürümüyle karşılaştırabilirsiniz. İşlem hatlarıyla, eğitimden sonra model metriklerinin ve özelliğin öneminin analizini gerçekleştirmek için bir kalite kontrol adımı gerçekleştirilebilecek şekilde tüm iş akışını düzenleyebilirsiniz. Bu metrikler şurada saklanır: SageMaker model kaydı bir sonraki eğitim çalışmasında karşılaştırma için.

Entegrasyon ve performans testi

Uçtan uca iş süreçlerini hem işlevsel hem de çalışma zamanı performansı perspektifinden doğrulamak için entegrasyon testi gereklidir. Bu süreç içinde, özellik deposundaki özellikleri getirme ve hesaplama ve ML uygulamasını çalıştırma dahil olmak üzere tüm işlem hattı test edilmelidir. Bu, çeşitli senaryoları ve istekleri kapsamak ve olası tüm kod çalıştırmaları için yüksek kapsam elde etmek için çeşitli farklı yükler ile yapılmalıdır. Bu, modelin yeni sürümüyle iş süreçlerinin hiçbirinin bozulmamasını sağlamak için 4 ve 9 numaralı zorlukları (iş süreci testi ve operasyonel performans) ele alır.

Bu test bir evreleme ortamında yapılmalıdır.

Hem entegrasyon testi hem de performans testinin, MLOps ardışık düzenlerini kullanan bireysel ekipler tarafından uygulanması gerekir. Entegrasyon testi için, işlevsel olarak eşdeğer bir üretim öncesi ortamı sürdürmenin ve birkaç farklı yük ile test etmenin denenmiş ve test edilmiş yöntemini öneriyoruz. Test iş akışı, aşağıdaki şekilde gösterildiği gibi otomatikleştirilebilir: bu atölye. Performans testi için kullanabilirsiniz Amazon SageMaker Çıkarım Öneri Aracı, hangi örnek türünü ve bu örneklerden kaçının kullanılacağını belirlemek için harika bir başlangıç ​​noktası sunar. Bunun için açık kaynaklı projeler gibi bir yük oluşturucu aracı kullanmanız gerekecek. perfsizesagemaker ve mükemmelleştirmek Intuit'in geliştirdiği. Perfsizesagemaker, çeşitli veri yükleri, yanıt süreleri ve saniye başına en yüksek işlem gereksinimleriyle model uç nokta yapılandırmalarını otomatik olarak test etmenize olanak tanır. Farklı model versiyonlarını karşılaştıran ayrıntılı test sonuçları üretir. Perfsize, yalnızca saniye başına en yüksek işlem sayısı ve beklenen yanıt süresi verilen farklı yapılandırmaları deneyen yardımcı araçtır.

A / B testi

E-ticaret uygulamaları gibi modelin anında çıktısına kullanıcı tepkisinin gerekli olduğu birçok durumda, çevrimdışı model işlevsel değerlendirmesi yeterli değildir. Bu senaryolarda, modelleri güncelleme kararı vermeden önce üretimdeki A/B modellerini test etmeniz gerekir. A/B testinin de riskleri vardır çünkü gerçek müşteri etkisi olabilir. Bu test yöntemi, hafif bir mühendislik akıl sağlığı kontrolü olan nihai ML performans doğrulaması olarak hizmet eder. Bu yöntem ayrıca 8 ve 9 numaralı zorlukları (çevrimiçi model performansı ve operasyonel mükemmellik) ele alır.

A/B testi bir üretim ortamında gerçekleştirilmelidir.

SageMaker ile, çalıştırarak makine öğrenimi modellerinde A/B testini kolayca gerçekleştirebilirsiniz. çoklu üretim varyantları bir uç noktada. Kötü çalışan bir modelin üretimde sahip olabileceği riski azaltmak için trafik yeni sürüme artışlarla yönlendirilebilir. A/B testinin sonuçları iyi görünüyorsa, trafik yeni sürüme yönlendirilir ve sonunda trafiğin %100'ünü alır. A modelinden B modeline geçiş için dağıtım korkuluklarının kullanılmasını öneririz. Amazon Kişiselleştir örnek olarak modeller, bkz. Amazon Personalize tarafından oluşturulan önerilerin etkinliğini ölçmek için A/B testini kullanma.

Çevrimiçi model testi

Bu senaryoda, bir modelin yeni sürümü, üretimde halihazırda canlı trafiğe hizmet edenden önemli ölçüde farklıdır, bu nedenle çevrimdışı test yaklaşımı, yeni model sürümünün etkinliğini belirlemek için artık uygun değildir. Bunun en belirgin nedeni, tahmini üretmek için gereken özelliklerde değişiklik olması ve böylece önceden kaydedilmiş işlemlerin modeli test etmek için kullanılamamasıdır. Bu senaryoda, gölge dağıtımlarını kullanmanızı öneririz. Gölge dağıtımları, bir gölge (veya meydan okuyucu) üretimin yanında model (veya şampiyon) şu anda tahminler sunan model. Bu, gölge modelin üretim trafiğinde nasıl performans gösterdiğini değerlendirmenize olanak tanır. Gölge modelinin tahminleri, istekte bulunan uygulamaya sunulmaz; çevrimdışı değerlendirme için günlüğe kaydedilirler. Test için gölge yaklaşımıyla 4, 5, 6 ve 7 numaralı zorlukları (iş süreci testi, maliyet, güvenlik ve özellik deposu ölçeklenebilirliği) ele alıyoruz.

Çevrimiçi model testi, evreleme veya üretim ortamlarında yapılmalıdır.

Diğer tüm yöntemler kullanılamıyorsa, yeni model sürümlerini test etmek için bu yöntem son çare olarak kullanılmalıdır. Bunu son çare olarak öneriyoruz, çünkü birden fazla modele yapılan çift yönlü çağrılar, üretimdeki tüm alt hizmetlerde ek yük oluşturur ve bu da performans darboğazlarına ve üretim maliyetinin artmasına neden olabilir. Bunun en belirgin etkisi, özellik sunma katmanı üzerindedir. Ortak bir fiziksel veri havuzundan özellikleri paylaşan kullanım senaryoları için, üretime geçmeden önce hiçbir kaynak çekişmesi olmamasını sağlamak için aynı veri tablosuna aynı anda erişen çoklu kullanım senaryolarını simüle edebilmemiz gerekir. Mümkün olduğunda, özellik deposuna yapılan yinelenen sorgulardan kaçınılmalı ve modelin her iki sürümü için gereken özellikler ikinci çıkarım için yeniden kullanılmalıdır. Özellik mağazalarına dayalı Amazon DinamoDB, Intuit'in oluşturduğu gibi, uygulayabilir Amazon DynamoDB Hızlandırıcı(DAX) önbelleğe almak ve G/Ç'yi veritabanına iki katına çıkarmaktan kaçınmak için. Bu ve diğer önbelleğe alma seçenekleri, 7. zorluğu azaltabilir (mağaza ölçeklenebilirliğini içerir).

5'nin yanı sıra 7. zorluğu (maliyet) ele almak için, gelen trafiği örneklemek için gölge dağıtımları kullanmayı öneriyoruz. Bu, model sahiplerine üretim sistemleri üzerindeki etkiyi en aza indirmek için başka bir kontrol katmanı sağlar.

Gölge dağıtımı, Model Monitörü Challenger versiyonundaki gelişmeleri gözlemlemek için normal üretim dağıtımları gibi teklifler.

Sonuç

Bu gönderi, model testi ile çeşitli zorlukların üstesinden gelmek için kapsamlı bir süreç ve araç seti oluşturmak için yapı taşlarını göstermektedir. Her kuruluş benzersiz olsa da, bu, kendi test stratejinizi uygularken başlamanıza ve düşüncelerinizi daraltmanıza yardımcı olacaktır.


yazarlar hakkında

Amazon SageMaker ML modelleri PlatoBlockchain Veri Zekası için test yaklaşımları. Dikey Arama. Ai.Tobias Wenzel Mountain View, California'daki Intuit Machine Learning Platformunda Yazılım Mühendisliği Yöneticisidir. 2016'daki başlangıcından bu yana platform üzerinde çalışıyor ve sıfırdan tasarlanmasına ve oluşturulmasına yardımcı oldu. İşinde, platformun operasyonel mükemmelliğine odaklandı ve bunu Intuit'in sezonluk işleriyle başarılı bir şekilde hayata geçirdi. Ayrıca, platformu en son teknolojilerle sürekli genişletme konusunda tutkulu.

Amazon SageMaker ML modelleri PlatoBlockchain Veri Zekası için test yaklaşımları. Dikey Arama. Ai.Shivanshu Upadhyay AWS İş Geliştirme ve Stratejik Endüstriler grubunda Baş Çözüm Mimarıdır. Bu rolde, AWS'yi benimseyen en ileri düzey kullanıcıların, verileri ve yapay zekayı etkin bir şekilde kullanarak sektörlerini dönüştürmelerine yardımcı olur.

Amazon SageMaker ML modelleri PlatoBlockchain Veri Zekası için test yaklaşımları. Dikey Arama. Ai.Alan Tan SageMaker'da Kıdemli Ürün Müdürüdür ve büyük model çıkarımına yönelik çabalara öncülük etmektedir. Analitik alanına makine öğrenimi uygulama konusunda tutkulu. İş dışında, açık havayı sever.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi