Dikkate dayalı büyük dönüştürücü modelleri, doğal dil işlemede (NLP) büyük kazanımlar elde etti. Bununla birlikte, bu devasa ağları sıfırdan eğitmek, muazzam miktarda veri ve hesaplama gerektirir. Daha küçük NLP veri kümeleri için basit ama etkili bir strateji, genellikle çok büyük veri kümelerinde denetimsiz bir şekilde eğitilmiş önceden eğitilmiş bir transformatör kullanmak ve ilgilenilen veri kümesinde ince ayar yapmaktır. Sarılma Yüz bu önceden eğitilmiş transformatörlerin büyük bir model hayvanat bahçesine sahiptir ve acemi kullanıcılar için bile kolayca erişilebilir olmasını sağlar.
Bununla birlikte, bu modellerin ince ayarını yapmak yine de uzman bilgisi gerektirir, çünkü öğrenme hızı veya parti boyutu gibi hiperparametrelerine oldukça duyarlıdırlar. Bu gönderide, bu hiperparametrelerin açık kaynak çerçeve ile nasıl optimize edileceğini gösteriyoruz. Sinüs Melodisi dağıtılmış hiperparametre optimizasyonu (HPO) için. Syne Tune, popüler cihazlarda varsayılan hiperparametrelere kıyasla %1-4 arasında göreceli bir iyileştirme sağlayan daha iyi bir hiperparametre yapılandırması bulmamızı sağlar. YAPIŞTIRICI kıyaslama veri kümeleri. Önceden eğitilmiş modelin seçimi de bir hiperparametre olarak kabul edilebilir ve bu nedenle Syne Tune tarafından otomatik olarak seçilebilir. Bir metin sınıflandırma probleminde bu, varsayılan modele kıyasla doğrulukta yaklaşık %5'lik ek bir artışa yol açar. Ancak, bir kullanıcının vermesi gereken daha fazla kararı otomatikleştirebiliriz; Bunu, daha sonra modeli dağıtmak için kullanacağımız örnek türünü bir hiper parametre olarak göstererek de gösteririz. Doğru bulut sunucusu tipini seçerek, maliyet ve gecikmeyi en iyi şekilde dengeleyen konfigürasyonları bulabiliriz.
Syne Tune'a giriş için lütfen bkz. Syne Tune ile dağıtılmış hiperparametre ve sinir mimarisi ayarlama işlerini çalıştırın.
Syne Tune ile hiperparametre optimizasyonu
Biz kullanacağız YAPIŞTIRICI metinsel gereklilik tanıma veya duygu analizi gibi doğal dil anlama görevleri için dokuz veri kümesinden oluşan kıyaslama paketi. Bunun için Hugging Face's'i uyarlıyoruz. run_glue.py eğitim senaryosu. GLUE veri kümeleri, etiketli önceden tanımlanmış bir eğitim ve değerlendirme setinin yanı sıra etiketsiz bir bekleme testi seti ile birlikte gelir. Bu nedenle, eğitim setini eğitim ve doğrulama setlerine (%70/%30 bölünmüş) böldük ve değerlendirme setini holdout test veri setimiz olarak kullandık. Ayrıca, Hugging Face'in Trainer API'sine, Syne Tune'a her epoch sonrası doğrulama performansını rapor eden başka bir geri çağırma işlevi ekledik. Aşağıdaki koda bakın:
Tipik eğitim hiper parametrelerini optimize ederek başlıyoruz: öğrenme oranı, öğrenme oranını artırmak için ısınma oranı ve önceden eğitilmiş bir BERT'nin ince ayarı için parti boyutu (bert tabanlı) modeli, Hugging Face örneğinde varsayılan modeldir. Aşağıdaki koda bakın:
HPO yöntemimiz olarak kullandığımız ASHAhiperparametre konfigürasyonlarını rastgele ve yinelemeli olarak tek tip olarak örnekleyen , kötü performans gösteren konfigürasyonların değerlendirmesini durdurur. Daha karmaşık yöntemler, BO veya MoBster gibi amaç fonksiyonunun olasılıklı bir modelini kullanmasına rağmen, bu gönderi için ASHA kullanıyoruz çünkü arama uzayında herhangi bir varsayım olmadan geliyor.
Aşağıdaki şekilde, Hugging Faces'in varsayılan hiperparametre yapılandırmasına göre test hatasındaki göreceli gelişmeyi karşılaştırıyoruz.
Basit olması için karşılaştırmayı MRPC, COLA ve STSB ile sınırlandırıyoruz, ancak diğer GLUE veri kümeleri için de benzer gelişmeler gözlemliyoruz. Her veri kümesi için ASHA'yı tek bir ml.g4dn.xlarge üzerinde çalıştırırız Amazon Adaçayı Yapıcı Bu veri kümelerinde sırasıyla yaklaşık 1,800, 13 ve 7 tam işlev değerlendirmesine karşılık gelen 9 saniyelik çalışma zamanı bütçesine sahip örnek. Eğitim sürecinin içsel rastgeleliğini hesaba katmak için, örneğin mini toplu örneklemenin neden olduğu, hem ASHA'yı hem de beş tekrar için varsayılan konfigürasyonu, rastgele sayı üreteci için bağımsız bir tohumla çalıştırırız ve ortalama ve standart sapmayı rapor ederiz. tekrarlar arasında göreceli gelişme. Tüm veri kümelerinde, dikkatlice seçilmiş varsayılan yapılandırmanın performansına göre tahmin performansını %1-3 oranında artırabileceğimizi görebiliriz.
Önceden eğitilmiş modeli seçmeyi otomatikleştirin
HPO'yu yalnızca hiperparametreleri bulmak için değil, aynı zamanda doğru önceden eğitilmiş modeli otomatik olarak seçmek için de kullanabiliriz. Bunu neden yapmak istiyoruz? Tek bir model tüm veri kümelerinde daha iyi performans göstermediğinden, belirli bir veri kümesi için doğru modeli seçmemiz gerekir. Bunu göstermek için, Hugging Face'den bir dizi popüler transformatör modelini değerlendiriyoruz. Her veri kümesi için, her modeli test performansına göre sıralarız. Veri kümeleri arasındaki sıralama (aşağıdaki Şekile bakın) değişir ve her veri kümesinde en yüksek puanı alan tek bir model değişmez. Referans olarak, aşağıdaki şekilde her modelin ve veri setinin mutlak test performansını da gösteriyoruz.
Doğru modeli otomatik olarak seçmek için, model seçimini kategorik parametreler olarak kullanabilir ve bunu hiperparametre arama alanımıza ekleyebiliriz:
Arama alanı artık daha büyük olsa da, bu mutlaka optimize etmenin daha zor olduğu anlamına gelmez. Aşağıdaki şekil, orijinal alanda (mavi çizgi) arama yaptığımızda (BERT tabanlı kasalı önceden eğitilmiş bir modelle) zaman içinde ASHA'nın MRPC veri kümesinde en iyi gözlemlenen konfigürasyonun (doğrulama hatasına dayalı olarak) test hatasını gösterir. ) veya yeni artırılmış arama alanında (turuncu çizgi). Aynı bütçe göz önüne alındığında, ASHA, genişletilmiş arama alanında daha küçük alana göre çok daha iyi performans gösteren bir hiperparametre yapılandırması bulabilir.
Örnek türünü seçmeyi otomatikleştirin
Pratikte, yalnızca tahmine dayalı performansı optimize etmekle ilgilenmeyebiliriz. Eğitim süresi, (dolar) maliyeti, gecikme veya adalet metrikleri gibi diğer hedefleri de önemseyebiliriz. Örnek tipini seçmek gibi modelin hiper parametrelerinin ötesinde başka seçimler de yapmamız gerekiyor.
Örnek türü tahmin performansını etkilemese de (dolar) maliyetini, eğitim çalışma süresini ve gecikmeyi güçlü bir şekilde etkiler. İkincisi, model dağıtıldığında özellikle önemli hale gelir. HPO'yu birden çok hedefi aynı anda optimize etmeyi amaçladığımız çok amaçlı bir optimizasyon problemi olarak ifade edebiliriz. Ancak, tek bir çözüm tüm metrikleri aynı anda optimize etmez. Bunun yerine, bir hedefi diğeriyle en iyi şekilde dengeleyen bir dizi konfigürasyon bulmayı amaçlıyoruz. buna denir Pareto seti.
Bu ayarı daha fazla analiz etmek için, arama alanımıza ek bir kategorik hiperparametre olarak örnek tipi seçimini ekliyoruz:
Biz kullanmak MO-ASHAASHA'yı baskın olmayan sıralama kullanarak çok amaçlı senaryoya uyarlayan . Her yinelemede, MO-ASHA ayrıca her konfigürasyon için, üzerinde değerlendirmek istediğimiz örnek tipini de seçer. HPO'yu heterojen bir örnek kümesinde çalıştırmak için Syne Tune, SageMaker arka ucunu sağlar. Bu arka uç ile her deneme, kendi örneğinde bağımsız bir SageMaker eğitim işi olarak değerlendirilir. Çalışan sayısı, belirli bir zamanda paralel olarak kaç SageMaker işi çalıştırdığımızı tanımlar. Optimize edicinin kendisi, bizim durumumuzda MO-ASHA, ya yerel makinede, bir Sagemaker not defterinde ya da ayrı bir SageMaker eğitim işinde çalışır. Aşağıdaki koda bakın:
Aşağıdaki şekiller, MO-ASHA (ekseni görünürlük için sınırlandırıyoruz) tarafından dört işçi üzerinde 10,800 saniye çalıştırıldıktan sonra örneklenen rastgele yapılandırmalar için solda gecikmeye karşı test hatası ve sağda gecikmeye karşı maliyeti göstermektedir. Renk, örnek türünü gösterir. Kesikli siyah çizgi, Pareto kümesini temsil eder; bu, en az bir hedefteki diğer tüm noktalara hakim olan noktalar kümesi anlamına gelir.
Gecikme ve test hatası arasında bir denge gözlemleyebiliriz, yani en düşük test hatasına sahip en iyi yapılandırma en düşük gecikmeye ulaşmaz. Tercihinize bağlı olarak, test performansından ödün veren ancak daha küçük bir gecikme süresiyle gelen bir hiper parametre yapılandırması seçebilirsiniz. Gecikme ve maliyet arasındaki dengeyi de görüyoruz. Örneğin, daha küçük bir ml.g4dn.xlarge örneği kullanarak, gecikmeyi yalnızca marjinal olarak artırırız, ancak bir ml.g4dn.8xlarge örneğinin maliyetinin dörtte birini öderiz.
Sonuç
Bu yazıda, Syne Tune'a dayalı Hugging Face'den önceden eğitilmiş transformatör modellerinde ince ayar yapmak için hiperparametre optimizasyonunu tartıştık. Öğrenme hızı, parti boyutu ve ısınma oranı gibi hiper parametreleri optimize ederek, dikkatle seçilmiş varsayılan konfigürasyonu iyileştirebileceğimizi gördük. Bunu, hiperparametre optimizasyonu aracılığıyla önceden eğitilmiş modeli otomatik olarak seçerek de genişletebiliriz.
Syne Tune'un SageMaker arka ucunun yardımıyla, örnek türünü bir hiper parametre olarak ele alabiliriz. Bulut sunucusu tipi performansı etkilemese de gecikme ve maliyet üzerinde önemli bir etkisi vardır. Bu nedenle, HPO'yu çok amaçlı bir optimizasyon problemi olarak kullanarak, bir hedefi diğeriyle en iyi şekilde dengeleyen bir dizi konfigürasyon bulabiliriz. Bunu kendin denemek istersen, örnek not defteri.
Yazarlar Hakkında
Harun Klein AWS'de Uygulamalı Bilim Adamı.
Matthias Seeger AWS'de Baş Uygulamalı Bilim Adamıdır.
David Salinas AWS'de Sr Applied Scientist.
Emily Webber SageMaker başlatıldıktan hemen sonra AWS'ye katıldı ve o zamandan beri dünyaya bunu anlatmaya çalışıyor! Emily, müşteriler için yeni makine öğrenimi deneyimleri oluşturmanın dışında meditasyon yapmaktan ve Tibet Budizmi üzerinde çalışmaktan keyif alıyor.
Cedric Archambeau AWS'de Baş Uygulamalı Bilim Adamı ve Öğrenme ve Akıllı Sistemler için Avrupa Laboratuvarı Üyesidir.
- 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/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- Hakkımızda
- kesin
- ulaşılabilir
- Hesap
- Başarmak
- karşısında
- Ek
- etkiler
- Türkiye
- veriyor
- Rağmen
- Amazon
- miktar
- analiz
- çözümlemek
- Başka
- api
- uygulamalı
- yaklaşık olarak
- mimari
- augmented
- otomatikleştirmek
- otomatik olarak
- ortalama
- AWS
- eksen
- Çünkü
- kıyaslama
- İYİ
- Daha iyi
- arasında
- Ötesinde
- Siyah
- pim
- artırmak
- bütçe
- bina
- hangi
- dava
- neden
- seçim
- choices
- seçilmiş
- sınıf
- sınıflandırma
- kod
- nasıl
- karşılaştırıldığında
- hesaplamak
- yapılandırma
- kontrol
- Müşteriler
- veri
- kararlar
- göstermek
- dağıtmak
- konuşlandırılmış
- dağıtıldı
- Değil
- Dolar
- her
- kolayca
- Etkili
- Avrupa
- değerlendirmek
- değerlendirme
- örnek
- Deneyimler
- uzman
- uzatmak
- Yüz
- Moda
- şekil
- takip etme
- iskelet
- itibaren
- tam
- işlev
- daha fazla
- Ayrıca
- jeneratör
- yardım et
- okuyun
- Ne kadar
- Nasıl Yapılır
- Ancak
- HTTPS
- darbe
- önemli
- iyileştirmek
- iyileşme
- Artırmak
- bağımsız
- etkilemek
- örnek
- Akıllı
- faiz
- IT
- kendisi
- İş
- Mesleki Öğretiler
- katıldı
- bilgi
- laboratuvar
- Etiketler
- dil
- büyük
- büyük
- başlattı
- İlanlar
- öğrenme
- LİMİT
- çizgi
- yerel
- makine
- yapmak
- YAPAR
- masif
- anlam
- yöntemleri
- Metrikleri
- olabilir
- ML
- model
- modelleri
- Daha
- çoklu
- Doğal (Madenden)
- zorunlu olarak
- ihtiyaçlar
- ağlar
- defter
- numara
- hedefleri
- elde
- optimizasyon
- optimize
- optimize
- orijinal
- Diğer
- kendi
- özellikle
- performans
- icra
- Lütfen
- noktaları
- Popüler
- uygulama
- Anapara
- Sorun
- süreç
- işleme
- sağlar
- menzil
- Sıralaması
- rapor
- muhabir
- Raporlar
- temsil
- gerektirir
- Sonuçlar
- koşmak
- koşu
- aynı
- bilim adamı
- Ara
- saniye
- tohum
- seçilmiş
- duygu
- set
- ayar
- şov
- önemli
- benzer
- Basit
- tek
- beden
- çözüm
- sofistike
- uzay
- özel
- bölmek
- standart
- başlama
- Eyalet
- Yine
- Stratejileri
- Sistemler
- görevleri
- test
- The
- Dünya
- bu nedenle
- zaman
- Ticaret
- Eğitim
- tedavi etmek
- muazzam
- deneme
- anlayış
- us
- kullanım
- kullanıcılar
- genellikle
- kullanmak
- onaylama
- görünürlük
- Vikipedi
- olmadan
- işçiler
- Dünya