Zephyrnet Logosu

Amazon SageMaker Otomatik Model Ayarlama artık hiperparametre optimizasyonu için üç yeni tamamlama kriterini destekliyor

Tarih:

Amazon Adaçayı Yapıcı vardır açıkladı Amazon SageMaker için üç yeni tamamlama kriteri desteği otomatik model ayarlama, modeliniz için en iyi hiperparametre konfigürasyonunu bulurken ayarlama işinin durma kriterlerini kontrol etmeniz için size ek bir kaldıraç seti sağlar.

Bu yazıda, bu yeni tamamlama kriterlerini, ne zaman kullanacaklarını ve getirdikleri bazı faydaları tartışacağız.

SageMaker otomatik model ayarı

Otomatik model ayarlama, aynı zamanda hiperparametre ayarı, bir modelin seçtiğimiz metriğe göre ölçülen en iyi sürümünü bulur. Seçilen algoritmayı ve belirtilen hiperparametre aralıklarını kullanarak sağlanan veri kümesindeki birçok eğitim işini döndürür. Her eğitim işi, erken durdurma olarak bilinen, objektif metrik önemli ölçüde gelişmediğinde erken tamamlanabilir.

Şimdiye kadar, maksimum eğitim işi sayısını belirlemek gibi, genel ayarlama işini kontrol etmenin sınırlı yolları vardı. Ancak, bu parametre değerinin seçimi en iyi ihtimalle buluşsaldır. Daha büyük bir değer ayarlama maliyetlerini artırır ve daha küçük bir değer her zaman modelin en iyi sürümünü vermeyebilir.

SageMaker otomatik model ayarlama, ayarlama işi için size birden fazla tamamlama kriteri vererek bu zorlukları çözer. Her bir eğitim işi seviyesinden ziyade ayarlama seviyesinde uygulanır, bu da daha yüksek bir soyutlama katmanında çalıştığı anlamına gelir.

İş tamamlama kriterlerini ayarlamanın faydaları

Ayarlama işinin ne zaman duracağını daha iyi kontrol ederek, işi uzun süre çalıştırmayarak ve hesaplama açısından pahalıya mal olarak maliyet tasarrufu avantajını elde edersiniz. Aynı zamanda, işin çok erken bitmeyeceğinden ve hedeflerinizi karşılayan yeterince kaliteli bir model elde ettiğinizden emin olabileceğiniz anlamına gelir. Modeller bir dizi yinelemeden sonra artık gelişmediğinde veya tahmini kalan iyileştirme, bilgi işlem kaynaklarını ve süresini haklı çıkarmadığında ayarlama işini durdurmayı seçebilirsiniz.

Mevcut maksimum eğitim işi tamamlama kriterine ek olarak Maksimum Eğitimİş Sayısı, otomatik model ayarlama, maksimum ayarlama süresine, İyileştirme izlemesine ve yakınsama algılamasına dayalı olarak ayarlamayı durdurma seçeneği sunar.

Bu kriterlerin her birini inceleyelim.

Maksimum ayarlama süresi

Daha önce, ayarlama bütçesini bilgi işlem kaynağı açısından kontrol etmek için bir kaynak sınırı ayarı olarak maksimum sayıda eğitim işi tanımlama seçeneğiniz vardı. Ancak bu, gereksiz yere ihtiyaç duyulandan veya arzu edilenden daha uzun veya daha kısa eğitim sürelerine yol açabilir.

Maksimum ayarlama süresi kriterinin eklenmesiyle, artık eğitim bütçenizi ayarlama işini çalıştırmak için süre olarak ayırabilir ve saniye olarak tanımlanan belirli bir sürenin ardından işi otomatik olarak sonlandırabilirsiniz.

"ResourceLimits": { "MaxParallelTrainingJobs": 10, "MaxNumberOfTrainingJobs": 100 "MaxRuntimeInSeconds": 3600
}

Yukarıda görüldüğü gibi, kullandığımız MaxRuntimeInSeconds ayarlama süresini saniye cinsinden tanımlamak için. Ayarlama süresi sınırını ayarlamak, ayarlama işinin süresini ve ayrıca deneyin tahmini maliyetini sınırlamanıza yardımcı olur.

Herhangi bir sözleşme indiriminden önceki toplam maliyet, aşağıdaki formülle tahmin edilebilir:
EstimatedComputeSeconds= MaxRuntimeInSeconds * MaxParallelTrainingJobs * InstanceCost

Saniye cinsinden maksimum çalışma süresi, maliyet ve çalışma süresini sınırlamak için kullanılabilir. Diğer bir deyişle bütçe kontrolünün tamamlanma kriteridir.

Bu özellik, bir kaynak kontrol ölçütünün parçasıdır ve modellerin yakınsamasını hesaba katmaz. Bu gönderide daha sonra göreceğimiz gibi, bu kriter doğruluktan ödün vermeden maliyet kontrolünü sağlamak için diğer durdurma kriterleri ile birlikte kullanılabilir.

İstenen hedef metrik

Önceden tanıtılan başka bir kriter, hedef hedef hedefi önceden tanımlamaktır. Kriter, belirli bir objektif metriğe dayalı olarak en iyi modelin performansını izler ve modeller, belirli bir objektif metriğe göre tanımlanan eşiğe ulaştığında ayarlamayı durdurur.

İle TargetObjectiveMetricValue kriterlere göre, en iyi modelin objektif metriği belirtilen değere ulaştıktan sonra SageMaker'a modeli ayarlamayı bırakması talimatını verebiliriz:

{ "TuningJobCompletionCriteria": { "TargetObjectiveMetricValue": 0.95 }, "HyperParameterTuningJobObjective": { "MetricName": "validation:auc", "Type": "Maximize" }, }

Bu örnekte, SageMaker'a en iyi modelin objektif metriği 0.95'e ulaştığında modeli ayarlamayı bırakma talimatı verildi.

Bu yöntem, belirli bir düzeyde doğruluk, kesinlik, geri çağırma, F1 puanı, AUC, günlük kaybı vb. gibi modelinizin ulaşmasını istediğiniz belirli bir hedefiniz olduğunda kullanışlıdır.

Bu kriter için tipik bir kullanım durumu, verilen eşiklerde model performansına zaten aşina olan bir kullanıcı için olacaktır. Keşif aşamasındaki bir kullanıcı, tam veri kümesiyle eğitim yaparken hedeflenecek tatmin edici bir değerlendirme metriği eşiğini belirlemek için önce modeli daha büyük bir veri kümesinin küçük bir alt kümesiyle ayarlayabilir.

İyileştirme izleme

Bu kriter, her yinelemeden sonra modellerin yakınsamasını izler ve belirli sayıda eğitim işinden sonra modeller gelişmezse ayarlamayı durdurur. Aşağıdaki yapılandırmaya bakın:

"TuningJobCompletionCriteria": { "BestObjectiveNotImproving":{ "MaxNumberOfTrainingJobsNotImproving":10 }, }

Bu durumda ayarladığımız MaxNumberOfTrainingJobsNotImproving 10'a, yani objektif metrik 10 eğitim işinden sonra gelişmeyi durdurursa, ayarlama durdurulur ve en iyi model ve metrik raporlanır.

İyileştirme izleme, model kalitesi ile genel iş akışı süresi arasındaki dengeyi, muhtemelen farklı optimizasyon sorunları arasında aktarılabilecek şekilde ayarlamak için kullanılmalıdır.

yakınsama tespiti

Yakınsama tespiti, otomatik model ayarlamanın ne zaman durdurulacağına karar vermesine izin veren bir tamamlama kriteridir. Genel olarak, otomatik model ayarlama, kayda değer bir gelişme sağlanamayacağını tahmin ettiğinde ayarlamayı durdurur. Aşağıdaki yapılandırmaya bakın:

"TuningJobCompletionCriteria": { "ConvergenceDetected":{ "CompleteOnConvergence":"Enabled" },
}

Kriter, başlangıçta hangi durdurma ayarlarını seçeceğinizi bilmediğinizde en uygunudur.

Eldeki sorun ve veri kümesi göz önüne alındığında iyi bir tahmin için hangi hedef objektif metriğinin makul olduğunu bilmiyorsanız ve ayarlama işini artık gelişmediğinde tamamlamayı tercih ediyorsanız da yararlıdır.

Tamamlama kriterlerinin karşılaştırmasını deneyin

Bu deneyde, bir regresyon görevi verildiğinde, toplam 3 hiperparametre konfigürasyonuna sahip 2 hiperparametrelik bir arama uzayında en uygun modeli bulmak için 200 ayarlama deneyi yapıyoruz. doğrudan pazarlama veri seti.

Her şey eşitken, ilk model BestObjectiveNotImproving tamamlama kriterleri, ikinci model ile ayarlandı CompleteOnConvergence ve üçüncü model, herhangi bir tamamlama kriteri tanımlanmadan ayarlanmıştır.

Her işi tarif ederken, ayarın BestObjectiveNotImproving kriterler, yürütülen önemli ölçüde daha az iş ile objektif metriğe göre en uygun kaynak ve zamana yol açmıştır.

The CompleteOnConvergence ölçüt ayrıca, denemenin yarısında ayarlamayı durdurarak, ölçüt belirlememeye kıyasla daha az eğitim işi ve daha kısa eğitim süresi sağladı.

Bir tamamlama kriteri belirlememek maliyetli bir deneyle sonuçlanırken, MaxRuntimeInSeconds kaynak limitinin bir parçası olarak maliyeti en aza indirmenin bir yolu olacaktır.

Yukarıdaki sonuçlar, bir tamamlama ölçütü tanımlarken Amazon SageMaker'ın, modelin mevcut sonucun ötesinde gelişme olasılığının düşük olduğunu algıladığında ayarlama sürecini akıllı bir şekilde durdurabildiğini göstermektedir.

SageMaker otomatik model ayarlamada desteklenen tamamlama kriterlerinin birbirini dışlamadığını ve bir model ayarlarken aynı anda kullanılabileceğini unutmayın.

Birden fazla tamamlama kriteri tanımlandığında, kriterlerden herhangi biri karşılandığında ayarlama işi tamamlanır.

Örneğin, maksimum ayarlama süresi gibi bir kaynak sınırı kriteri ile iyileştirme izleme veya yakınsama tespiti gibi bir yakınsama kriterinin bir kombinasyonu, optimum bir maliyet kontrolü ve optimal bir objektif ölçüt üretebilir.

Sonuç

Bu yazıda, SageMaker'da yeni tanıtılan maksimum ayarlama süresi, iyileştirme izleme veya yakınsama tespiti gibi bir dizi tamamlama kriteri seçerek artık ayarlama işinizi nasıl akıllıca durdurabileceğinizi tartıştık.

Yineleme boyunca iyileştirme gözlemine dayalı akıllı durdurmanın, bir tamamlama kriteri tanımlamamaya kıyasla önemli ölçüde optimize edilmiş bir bütçe ve zaman yönetimine yol açabileceğini bir deneyle gösterdik.

Ayrıca, bu kriterlerin birbirini dışlamadığını ve hem bütçe kontrolünden hem de optimum yakınsamadan yararlanmak için bir modeli ayarlarken aynı anda kullanılabileceğini gösterdik.

Otomatik model ayarlamanın nasıl yapılandırılacağı ve çalıştırılacağı hakkında daha fazla bilgi için bkz. Hiperparametre Ayarlama İş Ayarlarını Belirtin.


Yazarlar Hakkında

Doug Mbaya veri ve analitik odaklı bir Kıdemli Ortak Çözüm mimarıdır. Doug, AWS iş ortaklarıyla yakın bir şekilde çalışarak bulutta veri ve analitik çözümlerini entegre etmelerine yardımcı olur.

Chaitra Mathur AWS'de Baş Çözüm Mimarıdır. AWS'de yüksek düzeyde ölçeklenebilir, güvenilir, güvenli ve uygun maliyetli çözümler oluşturma konusunda müşterilere ve iş ortaklarına rehberlik eder. Makine Öğrenimi konusunda tutkulu ve müşterilerin makine öğrenimi ihtiyaçlarını AWS AI/ML hizmetlerini kullanarak çözümlere dönüştürmelerine yardımcı oluyor. ML Specialty sertifikası dahil 5 sertifikaya sahiptir. Boş zamanlarında kitap okumayı, yoga yapmayı ve kızlarıyla vakit geçirmeyi seviyor.

iaroslav-resmiIaroslav Shcherbatyi AWS'de bir Makine Öğrenimi Mühendisidir. Esas olarak Amazon SageMaker platformunda iyileştirmeler yapmak ve müşterilerin bu platformun özelliklerini en iyi şekilde kullanmasına yardımcı olmak üzerinde çalışıyor. Boş zamanlarında spor salonuna gitmeyi, buz pateni veya doğa yürüyüşü gibi açık hava sporları yapmayı ve yeni yapay zeka araştırmalarını takip etmeyi seviyor.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?