tag Hiperparametre
Bu sayfada Hiperparametre etiketi ile işaretlenmiş 3 yapay zeka kavramını bulabilirsiniz.
Batch size (yığın boyutu), bir yapay sinir ağının eğitiminde her gradyan güncellemesinde aynı anda işlenen eğitim örneği sayısını belirleyen hiperparametredir. Model tüm veri setini tek seferde hafızaya almak yerine veriyi küçük gruplara böler; batch size 32 ise ağırlıklar her 32 örnekte bir güncellenir. 10.000 örneklik bir veri setinde bu, epoch başına yaklaşık 313 güncelleme adımı demektir. Bu tek sayının önemi iki eksende toplanır: donanım ve öğrenme dinamiği. Donanım tarafında batch; model ağırlıkları, optimizer durumları ve ara aktivasyonlarla birlikte GPU belleğine (VRAM) sığmak zorundadır. Değer büyüdükçe bellek tüketimi yaklaşık orantılı artar, sınır aşıldığında Out of Memory (OOM) hatası alınır. Öğrenme tarafında ise küçük batch'ler gürültülü ama düzenleyici etki yapan gradyan tahminleri üretir ve genellemeyi iyileştirebilir; büyük batch'ler daha kararlı gradyanlar ve yüksek GPU verimliliği sunar ama keskin minimumlara (sharp minima) takılıp test performansını düşürme riski taşır. Pratikte üç yaklaşım ayırt edilir: batch size 1 ile çalışan stochastic gradient descent (SGD), tüm veriyi tek seferde işleyen full batch ve ikisinin ortasındaki mini-batch. Modern derin öğrenmede standart, 32-256 aralığındaki mini-batch değerleridir; "batch size" dendiğinde çoğunlukla bu kastedilir. Batch size tek başına değil, learning rate ile birlikte ayarlanır: batch büyütüldüğünde öğrenme hızı da genellikle orantılı artırılır (linear scaling rule) ve warmup uygulanır. Ölçek büyüdükçe kavram şekil değiştirir: büyük dil modeli ön eğitiminde global batch örnek sayısıyla değil token sayısıyla ifade edilir. Llama 3 405B'nin ön eğitiminde global batch 16 milyon token'a kadar çıkarılmıştır; bu ölçek tek GPU'ya sığmadığı için gradient accumulation ve data parallel dağıtım zorunludur. Günlük pratikte ise VRAM yetmediğinde gradient accumulation ile büyük sanal batch simüle edilir, bf16 mixed precision ve gradient checkpointing bellek ihtiyacını ciddi ölçüde azaltır. Doğru batch size veri setine, mimariye ve donanıma göre deneysel seçilir; 32 veya 64 ile başlayıp validation loss izleyerek ayarlamak en yaygın yöntemdir.
Batch Size (Yığın (Küme) Boyutu)
Batch size (yığın boyutu), bir yapay sinir ağının eğitiminde her gradyan güncellemesinde aynı anda işlenen eğitim örneği sayısını belirleyen hiperparametredir. Model tüm veri setini tek seferde hafızaya almak yerine veriyi küçük gruplara böler; batch size 32 ise ağırlıklar her 32 örnekte bir güncellenir. 10.000 örneklik bir veri setinde bu, epoch başına yaklaşık 313 güncelleme adımı demektir. Bu tek sayının önemi iki eksende toplanır: donanım ve öğrenme dinamiği. Donanım tarafında batch; model ağırlıkları, optimizer durumları ve ara aktivasyonlarla birlikte GPU belleğine (VRAM) sığmak zorundadır. Değer büyüdükçe bellek tüketimi yaklaşık orantılı artar, sınır aşıldığında Out of Memory (OOM) hatası alınır. Öğrenme tarafında ise küçük batch'ler gürültülü ama düzenleyici etki yapan gradyan tahminleri üretir ve genellemeyi iyileştirebilir; büyük batch'ler daha kararlı gradyanlar ve yüksek GPU verimliliği sunar ama keskin minimumlara (sharp minima) takılıp test performansını düşürme riski taşır. Pratikte üç yaklaşım ayırt edilir: batch size 1 ile çalışan stochastic gradient descent (SGD), tüm veriyi tek seferde işleyen full batch ve ikisinin ortasındaki mini-batch. Modern derin öğrenmede standart, 32-256 aralığındaki mini-batch değerleridir; "batch size" dendiğinde çoğunlukla bu kastedilir. Batch size tek başına değil, learning rate ile birlikte ayarlanır: batch büyütüldüğünde öğrenme hızı da genellikle orantılı artırılır (linear scaling rule) ve warmup uygulanır. Ölçek büyüdükçe kavram şekil değiştirir: büyük dil modeli ön eğitiminde global batch örnek sayısıyla değil token sayısıyla ifade edilir. Llama 3 405B'nin ön eğitiminde global batch 16 milyon token'a kadar çıkarılmıştır; bu ölçek tek GPU'ya sığmadığı için gradient accumulation ve data parallel dağıtım zorunludur. Günlük pratikte ise VRAM yetmediğinde gradient accumulation ile büyük sanal batch simüle edilir, bf16 mixed precision ve gradient checkpointing bellek ihtiyacını ciddi ölçüde azaltır. Doğru batch size veri setine, mimariye ve donanıma göre deneysel seçilir; 32 veya 64 ile başlayıp validation loss izleyerek ayarlamak en yaygın yöntemdir.
Epoch (Epoch (Eğitim Döngüsü))
Epoch (Epok ya da Eğitim Döngüsü), makine öğrenimi ve derin öğrenme modellerinin eğitiminde kullanılan temel bir zaman birimidir. Bir epoch; modelin tüm eğitim veri setini baştan sona tam olarak bir kez işlemesi, yani her örnek üzerinde hem ileri yayılım (forward pass) hem de geri yayılım (backward pass) gerçekleştirmesi anlamına gelir. Makine öğrenimi modellerini eğitirken, yalnızca bir epoch genellikle yeterli olmaz. Model, karmaşık kalıpları ve ilişkileri kavrayabilmek için aynı veriler üzerinde defalarca geçiş yapmak zorundadır. Bu nedenle modeller onlarca, yüzlerce hatta binlerce epoch boyunca eğitilebilir. Büyük dil modellerinin (LLM) eğitimi milyarlarca token üzerinde birden fazla epoch uygulanarak gerçekleştirilir; görüntü sınıflandırma gibi daha küçük görevlerde ise 10-100 epoch sıkça kullanılır. Epoch ve Batch İlişkisi Her epoch, büyük veri setini daha küçük parçalara (batch) bölerek işler. Bir epoch içindeki güncelleme sayısı, veri seti boyutunun batch boyutuna bölünmesiyle hesaplanır. Örneğin 10.000 örnekli bir veri seti 100'lük batch boyutuyla işleniyorsa, her epoch 100 ağırlık güncellemesi (iterasyon) içerir. Her iterasyonda gradyan hesaplanır ve model ağırlıkları güncellenir; böylece model adım adım öğrenir. Overfitting ve Erken Durdurma Epoch sayısının doğru seçilmesi kritik öneme sahiptir. Çok az epoch modelin yeterince öğrenememesine (underfitting) yol açar; model verinin altında yatan örüntüleri kavramaz ve hem eğitim hem de test verisinde kötü performans gösterir. Öte yandan, çok fazla epoch modelin eğitim verisini mekanik olarak ezberlemeye (overfitting) başlamasına neden olabilir. Bu durumda model eğitim setinde mükemmel sonuçlar verirken yeni verilerde başarısız olur. Bu dengesizliği çözmek için "Early Stopping" (Erken Durdurma) tekniği uygulanır: model her epoch sonunda doğrulama (validation) seti üzerinde değerlendirilir ve doğrulama kaybı iyileşmemeye başladığında eğitim otomatik olarak durdurularak en iyi ağırlıklar korunur. Eğitim ve doğrulama kaybının birbirinden ayrışmaya başlaması (divergence), overfitting'in erken belirtisidir. Epoch Sayısını Belirlemek Kaç epoch kullanılacağı, modelin karmaşıklığına, veri setinin büyüklüğüne ve görevin zorluğuna bağlıdır. Küçük veri setlerinde genellikle daha fazla epoch gerekir çünkü model her geçişte sınırlı miktarda örneğe maruz kalır. Büyük veri setlerinde ise tek bir epoch bile çok sayıda güncelleme içerdiğinden az epoch ile tatmin edici sonuçlar alınabilir. Epoch sayısı, öğrenme hızı (learning rate) ve model mimarisiyle birlikte hiperparametre optimizasyonunun temel bileşenlerinden biridir.
Simulated Annealing (Benzetimli Tavlama)
Benzetimli Tavlama (Simulated Annealing), fizikteki metal tavlama sürecinden esinlenen olasılıksal bir optimizasyon algoritmasıdır. Metal tavlama işleminde erimiş metal yavaşça soğutularak atom dizilişi minimum enerji durumuna ulaşır; benzer şekilde bu algoritma da çözüm uzayında küresel minimumu (veya maksimumu) aramak için kontrollü bir soğuma stratejisi kullanır. Algoritma 1983 yılında Scott Kirkpatrick, C. Daniel Gelatt Jr. ve Mario P. Vecchi tarafından önerilmiştir. Benzetimli Tavlama, yerel minimumlara takılmaktan kaçınmak için başlangıçta yüksek bir sıcaklık parametresiyle çalışır. Bu aşamada kötü çözümleri belirli bir olasılıkla kabul edebilir. Sıcaklık yavaş yavaş azaldıkça (soğuma programı), algoritma giderek daha seçici hale gelir ve yalnızca daha iyi çözümleri kabul etmeye başlar. Bu sayede evrimsel süreçlerde görülen lokal optimallerden kaçış mekanizmasına benzer bir davranış elde edilir. Algoritma, pratik uygulamalarda son derece geniş bir kullanım alanına sahiptir: gezgin satıcı problemi (TSP), çizelgeleme optimizasyonu, devre tasarımı, portföy optimizasyonu ve ağ yönlendirme problemleri bunların başında gelir. Derin öğrenme çağında bile hiperparametre optimizasyonu ve sinir ağı ağırlıklarının başlangıç değerlerini ayarlamak için kullanılmaktadır. Temel parametre olan soğuma hızı (cooling schedule), algoritmanın başarısını doğrudan etkiler. Çok hızlı soğuma lokal minimuma takılmaya; çok yavaş soğuma ise aşırı uzun çalışma sürelerine yol açar.