English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

konuk
1 / ?
derslere geri dön

Üstel Hareketli Ortalama

Yumuşatılmış Yakın Ortalama

Üstel hareketli ortalama (EMA), eski örneklerden daha fazla ağırlık vererek son örnekleri ağırlıklandırarak bir değeri izler, ağırlıklar üstel olarak azalır. Formül:


EMA(t) = (1 - alpha) EMA(t-1) + alpha value(t)


Alpha (yumuşatma faktörü) (0, 1) aralığında yer alır. ANDREA, kaynak başına kayıp takibi için alpha = 0.1 kullanır.


Terim Terim

- value(t): en son gözlem. ANDREA için bu, kaynak k'dan bir belgede ileri geçişten sonra CUDA tarafından raporlanan kayıptır.

- EMA(t-1): kaynak k için önceki EMA değeri. Proxy durumunda saklanır.

- alpha = 0.1: her yeni kayıp %10 katkıda bulunur; yuvarlanan geçmiş %90 katkıda bulunur.

- (1 - alpha) = 0.9: geçmişe verilen ağırlık.


Neden EMA, Basit Ortalama Yerine

Basit hareketli ortalama her adımı eşit ağırlıklandırır. Adım 1 ile adım 100.000 aynı ağırlığa sahiptir. Bu, veriler durağansa işe yarar. ANDREA'nın kayıpları durağan DEĞİLDİR: eğitim sırasında model kapasitesi büyür, bu yüzden bir kaynağın 5.000. adım kayıbı 50.000. adımdaki kayıptan farklıdır.


EMA bunu çözer. Eski kayıp değerleri üstel olarak soluklaşır. EMA, son durumu yansıtır, başlangıç koşullarının ortalamasını değil.


Kaynak Bazında

ANDREA, her kol (her kaynak) için bir EMA tutar. On altı kol = on altı EMA. Her adımda sadece çekilen kaynağın EMA'sı güncellenir. Diğer 15 EMA, bir sonraki çekilene kadar donmuş kalır.

EMA Adımını Hesapla

Kaynak k için EMA_k(t-1) = 4.521. CUDA, kaynak k için yeni bir kayıp bildiriyor: loss_k(t) = 4.520. Alpha = 0.1 ile, EMA_k(t)'yi hesaplayın. Gösterin: (a) (1-alpha) terimi, (b) (1-alpha) * EMA_k(t-1), (c) alpha * loss_k(t), (d) toplamı. Yararlı yerlerde 4 ondalık basamağa yuvarlayın.

Ödül Formülü

Ödül = İyileşme, Ölçeklenmiş

ANDREA, kol k için adım başına ödülü şu şekilde tanımlar:


reward_k = max(0, EMA_k(t-1) - loss_k(t)) * 1000


Üç parça:


1. EMA_k(t-1) - loss_k(t): iyileşme. Yeni kayıp, çalışan ortalamanın altında gelirse fark pozitif olur: kaynak k beklenenden daha iyi performans gösterdi.

2. max(0, ...): negatif iyileşmeleri sıfıra kes. Yeni kayıp EMA'dan kötüyse ödül yok (ama ceza da yok).

3. \* 1000: sinyali UCB keşif bonusuyla karşılaştırılabilir hale getirmek için ölçeği büyüt.


Reward Attribution Flow


Neden max(0, ...)

Negatif ödüller mean_reward(k)'yı aşağı çeker, UCB'yi kayıpları yukarı dalgalanan kollara karşı önyargılı hale getirirdi. Ama dalgalanma normaldir: tek bir zor belge kaybı artırır ama kaynağın kötü olduğu anlamına gelmez. Sıfıra kesme, dalgalanmayı 'ceza' yerine 'bilgi yok' olarak ele alır.


Kaynaklar tekrar tekrar sıfır ödül kazanabilir olmadan batmadan. UCB sıralamaları keşif bonusu (n_k küçükken yüksek) artı geçmiş kazanımlarla yönlendirilir.


CUDA Ne Bildiriyor

Her forward+backward geçişinde, CUDA çekirdeği bir kayıt yayar:


{source: 'hermes3-general', doc_index: 4231, loss: 4.520}


Proxy kaydı alır, o kaynak için EMA'yı arar, ödülü hesaplar, EMA'yı günceller, ödülü bandit'in mean_reward(k) biriktiricisine besler.

Bir Ödül Hesapla

Kaynak k için EMA_k(t-1) = 4.521. CUDA, loss_k(t) = 4.520 rapor ediyor. reward_k'yı adım adım hesaplayın: (a) EMA_k(t-1) - loss_k(t) farkı, (b) kırpılmış değer max(0, fark), (c) ölçeklenmiş ödül (1000 ile çarpın). Ardından loss_k(t) = 4.530 (EMA'dan kötü) olan ikinci durum için (d) kırpılmamış farkı ve (e) max(0, ...) kırpma ve ölçekleme sonrası nihai ödülü hesaplayın.

Ödülü Keşif Bonusuyla Eşleştirme

Büyüklük Sorunu

Adım başına loss iyileşmeleri küçük olur. Loss 4.521'den 4.520'ye düşer: fark 0.001. 4.520'den 4.518'e: fark 0.002. Tüm bir eğitim çalışmasında ham farklar kabaca [0, 0.01] aralığında yaşar.


Şimdi UCB'nin C=0.5'deki keşif bonusuna bakın, N=1000 ve n_k=20 ile:


0.5 sqrt(ln(1000) / 20) = 0.5 sqrt(6.91 / 20) = 0.5 * 0.588 = 0.294


Bonus 0.294 seviyesinde çalışıyor. Ham ödül 0.001 seviyesinde çalışıyor. Bonus, ödülden 300 kat daha büyük. UCB'nin argmax'ı neredeyse tamamen bonus'a göre sıralıyor; mean_reward neredeyse sıfır sinyal sağlıyor.


Ölçeklendirme olmadan sonuç: ANDREA'nın banditi her adımda en küçük n_k'ya sahip kolu seçiyor. Mean_reward yok sayılıyor. Bandit saf bir keşif politikasına dönüşüyor.


Düzeltme: 1000x

Ham ödülü 1000 ile çarpın. Artık ödül 1.0 seviyesinde (ham 0.001'e karşı). Aynı keşif bonusu 0.294 ile karşılaştırın:


ölçeklenmiş ödül 1.0 vs bonus 0.294 = ödül 3.4x önde


Şimdi mean_reward UCB sıralamasını domine ediyor. Keşif, kuyruğa incelik katıyor (nadir kollar 0.3 artış alıyor), ancak sıralamanın gövdesi gözlemlenen ödülden geliyor.


Neden 1000 (Ve Değil 10, Ve Değil 100.000)

Büyüklük sırası eşleştirme. Ham ödüller ~10^-3 civarında çalışır. Keşif bonusu ~10^0 civarında çalışır. Aradaki fark 10^3'tür. Ham ödülü 10^3 ile çarpın ki bonusun aynı aralığına düşsün.


100x ölçekleme ödülü 0.1'de bırakır (hala 0.294 bonusun altında -> keşif hala baskın). 100.000x ölçekleme ödülü 100'e çıkarır (artık keşif hiçbir şeyi etkilemez; UCB açgözlü mean_reward'a çöker). 1000x her iki terimin de katkıda bulunduğu çalışma bölgesinde yer alır.


Kalibrasyon, Teori Değil

1000x faktörü teorik bir sabit değil, mühendislik kalibrasyonudur. Üç şeye bağlıdır: eğitim kaybı ölçeği (8K tokenlik bir kelime haznesinde çapraz-entropi ~4.5 civarında çalışır), adım başına kayıp azalma oranı (yavaş) ve UCB sabiti C=0.5. Bunlardan herhangi birini değiştirin, 1000 artık doğru çarpan olmayabilir.

Ölçekleme Faktörü Hakkında Akıl Yürütme

Diyelim ki ANDREA ham ödülleri 1000x yerine 100x ölçekledi. Ham ödül 0.001 ve UCB keşif bonusu 0.294 (C=0.5, N=1000, n_k=20) ile: (a) 100x ölçekli ödülü hesaplayın, (b) 1000x ölçekli ödülü hesaplayın, (c) her ölçekleme için, mean_reward'ı ölçekli ödüle eşit olan bir kolun UCB skoru için hangi terimin (mean_reward veya keşif bonusu) baskın olduğunu belirleyin. (d) Tek cümlede, 1000x'in ikisini neden dengelediğini açıklayın.

Sırada Ne Var

Elinizdekiler

Ödül atfetme, CUDA'nın kayıp raporlarını UCB'ye hazır sinyale üç işlemde dönüştürür: kaynak başına EMA kayıp geçmişini izler (alpha=0.1, yavaş), reward = max(0, EMA - loss) negatifleri kırpar, & 1000x ölçekleme ödül büyüklüğünü UCB keşif bonusu büyüklüğüne eşleştirir.


Geriye Kalan Ne?

Zeminler & epoch cezaları (etkinlik 79) UCB çıktısının üzerine çalışır. Kaynak zeminleri, UCB sıralamasından bağımsız olarak öncelikli kaynaklar için minimum örnekleme garanti eder. Epoch cezaları, belgelerinden daha fazla kez çekilmiş kaynakları ağırlıklandırır düşürür, küçük veri setlerinin ezberlenmesini önlerken büyük veri setleri taze kalır.


Kaynak

ANDREA whitepaper, bölüm 3.3.