İki tür eğitim iş yükü vardır:
- işlem odaklı
- işlem sınırı yok
İşleme dayalı eğitim, ne kadar eğitim veriniz olduğuna veya başka bir faktöre göre değil, eğitime ne kadar zaman ayırabileceğinizle sınırlıdır. Diğer bir deyişle, "optimum" eğitim süresi her zaman "karşılayabileceğiniz sürece"dir. Bir şekilde daha uzun veya daha verimli antrenman yapabiliyorsanız eğitim kaybı yaşanabilir. (Doğru ayarlama yapıldığında doğrulama kaybı da düşecektir.)
İşlem odaklı eğitimi hızlandırma, eğitimi iyileştirmeye eşdeğerdir. Bununla birlikte, bir iş yükünün işlem açısından sınırlı olması, sonuçları iyileştirmenin tek yolunun daha uzun veya daha hızlı eğitim olduğu anlamına gelmez.
Eğitim, bilgi işlem odaklı olmadığında istediğiniz kadar eğitim alabilirsiniz. Bununla birlikte, bir modeli daha uzun süre eğitmek çok işe yaramayabilir veya çok fazla uyuma neden olabilir. Eğitim, bilgi işleme bağlı olmadığında:
- Ek eğitimin eğitim kaybını biraz azaltabileceği ancak doğrulama kaybını anlamlı bir şekilde azaltmayacağı kadar düşük bir eğitim kaybı oranı elde edebilirsiniz.
- Eğitim bütçesiyle özellikle güçlü bir etkileşime sahip olduklarından, özellikle eğitim hızına bağlı azalma planlarını ayarlarken daha kolay ayarlar yapabilirsiniz. Öte yandan, işlem odaklı eğitimde düşük bir eğitim kaybı elde etmek, mükemmele göre ayarlanmış bir öğrenme hızına bağlı azalma programı gerektirebilir.
Belirli bir iş yükünün işleme bağlı olup olmadığından bağımsız olarak, gradyanların (gruplar genelinde) farklılıklarını artıran yöntemler genellikle eğitimin ilerlemesini yavaşlatır ve bu nedenle belirli bir doğrulama kaybına ulaşmak için gereken eğitim adımlarının sayısını artırabilir. Aşağıdakilerden herhangi biri yüksek gradyan sapmasına neden olabilir:
- Daha küçük bir grup boyutu kullanma.
- Veri genişletme ekleme.
- Bazı normalleştirme türleri (örneğin, normalleştirme işleminin sonlandırılması) var.
Eğitim, işlem açısından bağlı olmadığında ne kadar süreyle eğitim yapılacağına karar verin
Hedefiniz: Eğitim adımlarını boşa harcamadan, modelin mümkün olan en iyi sonuca ulaşması için yeterince uzun bir eğitim verin.
Ana hedefiniz, modelin gereksiz eğitim adımlarını boşa harcamadan mümkün olan en iyi sonuca ulaşmasını sağlayacak kadar uzun süre eğitilmesini sağlamaktır. Şüpheye düştüğünüzde eğitim konusunda daha uzun süreli düşünün. Geriye dönük kontrol noktası seçimini doğru şekilde kullandığınız ve kontrol noktasını yeterince sık kullandığınız varsayıldığında değerlendirme metrikleriniz (örneğin, hassasiyet, geri çağırma, AUC veya F1), daha uzun bir eğitim sırasında asla düşmemelidir.
Bir çalışmada asla max_train_steps
numarasını ayarlamayın. Bunun yerine, bir değer seçin ve tüm denemeler için aynı değeri kullanın. Bu denemelerden, max_train_steps
seçimini hassaslaştırmak için geriye dönük kontrol noktası seçiminin bulduğu eğitim adımını çizin.
Örneğin, en iyi adım her zaman eğitimin ilk% 10'luk kısmındaysa maksimum adım sayısı çok fazla yüksektir.
Alternatif olarak, en iyi adım sürekli eğitimin son% 25'indeyse
daha uzun eğitime ve değer kaybı planını yeniden ayarlamanıza faydası olabilir.
İdeal eğitim adımı sayısı, mimari veya veri değiştiğinde (ör. veri uzantısı ekleme) değişebilir.
Bir sonraki bölümde, sabit bir öğrenme hızı kullanarak eğitim setine "tam olarak uymak" için gereken adım sayısına göre max_train_steps
için ilk aday değerinin nasıl seçileceği açıklanmaktadır.
Eğitim süreci bir şekilde iyileşirse (örneğin, daha iyi optimize edilmiş bir optimize edici veya daha iyi ayarlanmış bir öğrenim hızı planıyla) max_train_steps
azaltılabilir.
Bir öğrenme hızı taraması kullanarak max_train_steps için ilk adayı seçme algoritması
Öğrenme oranı süpürme algoritmasıyla max_train_steps
için ilk adayı seçebilirsiniz. Aşağıdaki algoritma, eğitim setine "mükemmel" bir şekilde sığmanın yanı sıra sürekli öğrenme hızı programı kullanarak bunu yapmanın mümkün olduğunu varsayar.
- Eğitim kümesinin tamamına mükemmel bir şekilde sığdırılabiliyorsa eğitim grubuna tamamen uyan bir yapılandırma (
max_train_steps
değerinde) olmalıdır. Bu tür bir yapılandırmayı bulun vemax_train_steps
değerini başlangıç noktası olarakN
olarak kullanın. - Veri genişletme olmadan ve her denemenin
N
adım boyunca eğitildiği normalleştirme olmadan sürekli bir öğrenme hızı taraması (öğrenme hızında arama yapın). Mükemmel eğitim performansına ulaşmak amacıyla öğrenme hızı taramasında en hızlı deneme için gereken adım sayısı,max_train_steps
için ilk tahmininiz olmalıdır.
NOT: Kötü arama alanları kendinizi aldatmaya yol açabilir.
Örneğin, bir çalışmadaki öğrenme oranlarının çok az olması, yanlış bir şekilde, çok büyük bir max_train_steps
değerinin gerekli olduğu sonucuna varabilir.
En azından, araştırmadaki optimum öğrenme hızının arama alanı sınırında olmadığından emin olun.
Eğitim, bilişime bağlı olduğunda ne kadar süreyle eğitim yapılacağına karar verin
Bazı durumlarda eğitim kaybı süresiz olarak artacağı için sabrınız ve hesaplama kaynaklarınız sınırlayıcı faktörler haline gelir. Ama maddi açıdan yeterliyse eğitmeli misiniz? Her zaman değil. Aşağıdakileri göz önünde bulundurun:
- Çok sayıda daha kısa deneme çalıştırarak daha etkili bir şekilde ayarlama yapabilirsiniz. Böylece, kullanıma sunmayı düşündüğünüz modeller için en uzun "üretim uzunluğunu" elde edebilirsiniz.
- Denemeler için eğitim süresi sabır sınırınıza yaklaştıkça denemelerin ayarlanması, potansiyel lansman adaylarınızla daha alakalı hale gelir ancak daha az sayıda denemeyi tamamlayabilirsiniz.
- Prodüksiyon uzunluğunun yalnızca% 10'u için eğitim yürütürken birçok soruyu yanıtlayabilirsiniz. Bununla birlikte, bu süre zarfında elde ettiğiniz sonuçlar, %100'lük bir ölçekte ve üretim uzunluğunun %20'sinde denemeler için geçerli olmayabilir.
Deneme süresi başına artan adım sayısı sınırıyla birden fazla tur boyunca kurulum yapmak mantıklı bir yaklaşımdır. İstediğiniz kadar tur çalıştırabilirsiniz, ancak genellikle 1-3 tur daha pratiktir. Esasen, aşağıdakileri deneyerek çok kısa bir süre içinde denemelerden yararlanarak sorunu mümkün olduğunca iyi anlamaya çalışın:
- İncelik ayarları.
- Nihai, en uzun çalışmalarla alaka düzeyi.
Belirli bir deneme süresi sınırı faydalı bilgiler oluşturduktan sonra, eğitim süresini uzatın ve ince ayarları yapmaya devam edin. Böylece, daha kısa çalıştırmalardan elde ettiğiniz sonuçları gerektiği şekilde tekrar kontrol edebilirsiniz. Başlangıç olarak, iki tur ayarlama yapmanızı öneririz:
- 1. Tur: Daha kısa süre çalışarak iyi bir model ve optimize edici hiperparametreleri bulur.
- 2. tur: Son modeli almak için iyi hiperparametre noktalarında çok az uzun süre çalıştırılır.
1. Turdan 2. Tura geçişle ilgili en büyük soru şudur:
Öğrenme hızına bağlı azalma programlarını nasıl düzenlersiniz?
Turlar arasında öğrenme hızı planlamaları düzenlerken yaygın olarak yapılan hatalardan biri, tüm ekstra eğitim adımlarını çok küçük bir öğrenme hızıyla kullanmaktır.
1. tur: Çok sayıda kısa antrenman
Maalesef, eğitim uzunluğunu önemli ölçüde artırdığınızda kısa ve eksik eğitimde bulunan iyi hiperparametrelerin yine de iyi bir seçim olacağını garanti edemeyiz. Ancak bazı hiperparametrelerde iyi seçimler genellikle 1. Rauntun faydalı olması için yeterince ilişkilidir. Kısa çalıştırmalarda bulunan hiperparametre değerleri, uzun eğitim çalışmalarına başarıyla aktarılır mı? Bilmiyoruz; daha fazla araştırmaya ihtiyacımız var. Ancak şimdiye kadar bildiklerimize göre, aktarma olasılığını azaltma konusundaki şüphelerimiz şunlardır:
- Aktarım olasılığı yüksek. Erken eğitim kararsızlığı, daha az sayıda eğitim adımı kullanılarak ilk ayarlama turunda çözülebilir.
Aşağıdaki hiper parametreler, aktarılma olasılığı en yüksek olanlardır:
- Isınma uzunluğu
- Başlatma
- Aktarım olasılığı yüksek. Model mimarisinde dramatik bir kazanç genellikle aktarılır ancak birçok karşı örnek mümkündür.
- Aktarım yapılabilir. Aşağıdaki hiperparametreler aktarılabilir:
- Optimizasyon algoritması ve hiperparametreler "gevşek" aktarılır.
- Veri genişletme.
- Normalleştirme. Eğitim veri kümesine tam olarak sığdırılamaması mümkün değilse model, düzeni ayarlamanın çok yardımcı olmadığı bir sistem kullanıyor olabilir.
- Aktarım olasılığı düşük. Öğrenme hızı planının mükemmel şekilde aktarılma olasılığı düşüktür. Compute-Optimum Büyük Dil Modellerinin eğitilmesi, onluk zaman planlamasının bile aktarımlar yapılmasını önerir. Ancak bunun genel olarak geçerli olduğunu düşünmüyoruz. Örneğin, azalan eğitim adımlarında azalan ince ayar, eğitimin büyük bir kısmını kapsayacak şekilde genişletilirse eğitimin büyük bir kısmı aşırı küçük adımlarda gerçekleşir. Çoğu zaman aşırı eğitim bütçesi sınırı olan "yeterince iyi" performans gösterebilirsiniz. Ancak ayar yapılırsa muhtemelen fark edilir performans iyileştirmeleri görürsünüz. Stochastic Meta-Optimizasyon'da Kısa Uyku Ön yargısını anlamak, öğrenme oranlarını mitolojik olarak seçmeye çalışmanın tehlikelerini açıklar.
2. tur: Daha az koşu ancak daha uzun süre
1. turdan en iyi hiperparametre yapılandırmasını çalıştırın.
Spekülatif: 🤖 Ek eğitim adımlarını kullanarak eğitim dönemini yüksek bir öğrenme hızında uzatın. Örneğin, doğrusal bir program kullanıyorsanız, 10. Raunttan sabit değer değerini koruyun ve başlangıçta lr
olan sabit süreyi uzatın. Kosinüs azalması için 1. turdan taban değeri lr
tutun ve Compute-Optimum Büyük Dil Modellerini Öğrenme bölümünde açıklandığı şekilde max_train_steps
oranını artırın.
Ek eğitim turları, aşağıdakilerin tümünü gerçekleştiren ekipler için anlamlı olabilir:
- Çok yetişkinlere yönelik modelleme
- Ardışık düzenleri ayarlama
- Çok uzun ve pahalı prodüksiyon eğitimi çalışmaları
Ancak, ek eğitim çalıştırmaları genellikle verimsiz olur.
1. Turdan 2. Tura nasıl aktarım yapılacağını daha önce açıklamıştık. Analiz zamanı sizin için önemli değilse ve bilgi işlem kaynaklarını verimli şekilde kullanmak sizin için öncelikli sorunsa, eğitimin süresini (ve dolayısıyla bir çalışmayı tamamlamak için uçtan uca süresini) çok çeşitli ayarlama aşamalarında artırmanızı öneririz:
- Her adımda, seçimlerinizin iyi sonuçlar sağlamaya devam ettiğinden emin olun.
- Yeni fikirleri 1. Adım'dan i+1'e kadar sürekli artan denemelerle sürekli olarak riske atan bir ardışık düzen kullanın.