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

un

gast
1 / ?
terug naar lessen

CUDA Rapporteert Documentindices

Een CUDA Trainer Weet Welk Document Het Heeft Bemonsterd

Elke trainingstap haalt een sequentie uit een .btok binaire, die veel documenten aaneengeregen bevat. CUDA registreert een documentindex naast de loss: stap 47213, bron=gutenberg, doc=128407, loss=2.81. Een proxy verzamelt deze rapporten & onderhoudt een set van unieke documentindices gezien per bron.


Van Aantallen naar Dekking

Dekking van een bron = unique_docs_seen / n_docs. Enkele voorbeelden:


Bronn_docsuniek geziendekking
gutenberg512.000154.00030,1%
hermes3-general67.39547.17670,0%
dictionary88.00088.000100,0%
synthetic-chat1.4001.400100,0%

Kleine bronnen raken snel verzadigd. Grote bronnen zakken wekenlang onder de 50%. Coverage bonus beloont een bandit voor het bezoeken van documenten die het nog niet heeft bemonsterd binnen een bron.


Coverage bonus per source


Bonusformule

Coverage bonus schaalt lineair van 1.3x bij 0% coverage omlaag naar 1.0x bij 50% coverage, en daarna vlak op 1.0x boven 50%:


if coverage < 0.5:
bonus = 1.0 + 0.3 * (1.0 - coverage / 0.5)
else:
bonus = 1.0

Een bron met 0% dekking verdient 1,3x; een bron met 25% verdient 1,15x; een bron met 50% daalt naar 1,0x. Boven 50% geldt geen bonus.

Bereken de Bonus

Een run met gutenberg coverage van 30% & hermes3-general coverage van 70%. Bereken de coverage bonus multiplier voor elke bron. Toon je berekening.

Twee Onderscheiden Versheidsignalen

Zelfde Doel, Andere Granulariteit

ANDREA heeft twee mechanismen die over-training op een enkele bron voorkomen. Ze klinken vergelijkbaar; ze meten verschillende dingen.


Epoch-straf. Houdt cumulatief overtrekken bij. Wanneer lifetime_pulls / n_docs > 1.0, heeft een bron theoretisch elke document minstens één keer rondgedraaid. Straf = 1 / (1 + epochs). Een bron synthetic-chat met 1.4K documenten bij 5.600 lifetime pulls (epochs = 4) verdient straf 1/5 = 0.2x. Epoch-tellingen blijven bestaan over herstarts heen; ze vervallen nooit.


Dekkingspremie. Houdt frisheid per document bij binnen een bron. CUDA rapporteert doc-indexen; de proxy onderhoudt een set per bron. Bronnen onder 50% dekking van unieke docs verdienen tot 1.3x. Dekking beloont het verkennen van de staart van een bron; epoch-straf straft het uitputten ervan.


Waarom Beide Belangrijk Zijn


SignaalTracksRichtingCapBlijft bestaan na herstarts
Epoch-strafaggregate over-pullingverlaagt1/(1+e)ja
Dekkingsbonusper-doc freshnessverhoogt1.3xja

Een 500K-document gutenberg-bron kan onder 50% dekking blijven voor de gehele 200K training run terwijl het nooit epoch=1 nadert. Epoch-straf negeert het; dekkingsbonus trekt een bandit actief naar gutenberg's onontgonnen 70% staart.


Omgekeerd bereikt een 1.4K synthetische-chat bron dekking (100%) binnen een paar duizend pulls; dekkingsbonus blijft op 1.0x terwijl epoch-straf groeit.

Onderscheid de Twee

Stel je twee bronnen voor midden in de training: bron A heeft 1.400 documenten & 8.400 lifetime pulls. Bron B heeft 500.000 documenten & 80.000 lifetime pulls; de proxy heeft 75.000 unieke doc indices voor B gelogd tot nu toe. Welk signaal (epoch penalty of coverage bonus) bepaalt het bandit weight van elke bron, & waarom?

Wat de Coverage Bonus ANDREA oplevert

De Failure Mode Die Het Voorkomt

Zonder doc-level tracking kiest een bandit die selecteert op per-step reward .btok-sequenties hebzuchtig. Een 500K-document Gutenberg-corpus bevat een paar duizend sequenties met lage cross-entropy (consistente proza, veelvoorkomende woordenschat). Een reward-only bandit keert steeds terug naar die sequenties omdat ze sterke reward-signalen blijven produceren.


Resultaat: een 500K-document corpus wordt bemonsterd over misschien 2K-5K distincte sequenties over 200K training steps. Het model memoriseert die sequenties zonder ooit de rest te zien. Capaciteit verspild; coverage vast onder 1%.


Wat Coverage Bonus oplevert

1.3x bij 0% coverage, schalend omlaag naar 1.0x bij 50%. Die duw verspreidt zich door UCB1-selectie: armen met lage coverage blijven competitief, zelfs als hun per-pull reward daalt. De bandit verkent de staart bewust in plaats van per ongeluk.


Over een 200K-step run op een 500K-doc Gutenberg verhoogt coverage bonus typisch de waargenomen coverage van ~3% (geen bonus) naar ~25-30% (met bonus). Zelfde compute, acht tot tien keer meer documenten aangeraakt.


Waar de Tracking Zit


ComponentVerantwoordelijkheid
microgpt_cuda.cuRapporteert doc-index per trainingstap
training_proxy.pyOnderhoudt seen_docs set per bron
training_proxy.pyBerekent dekking, past bonus toe op bandit-beloning
training_proxy.pyBehoudt seen_docs in .state.json over herstarts heen

Verbind met een Concreet Engineering Keuze

Stel je voor dat je de coverage bonus verwijderde uit de ANDREA-120M training. Voorspel één concreet gevolg specifiek voor de gutenberg-arm (die 500K+ documenten heeft) over een run van 200K stappen. Verwijs naar coverage percentage, documentdiversiteit, of downstream samplekwaliteit.