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

un

gäst
1 / ?

CUDA rapporterar dokumentindex

En CUDA-tränare vet vilket dokument den samplat

Varje träningssteg drar en sekvens från en .btok-binär, som packar många dokument efter varandra. CUDA registrerar ett dokumentindex tillsammans med förlusten: step 47213, source=gutenberg, doc=128407, loss=2.81. En proxy samlar dessa rapporter & underhåller en mängd unika dokumentindex sedda per källa.


Från antal till täckning

Täckning av en källa = unique_docs_seen / n_docs. Några exempel:


Källan_docsunikt seddtäckning
gutenberg512,000154,00030.1%
hermes3-general67,39547,17670.0%
dictionary88,00088,000100.0%
synthetic-chat1,4001,400100.0%

Små källor mättas snabbt. Stora källor sjunker under 50 % under veckor. Täckningsbonus belönar en bandit för att besöka dokument den ännu inte provtagit inom en källa.


Täckningsbonus per källa


Bonusformel

Täckningsbonus skalar linjärt från 1,3x vid 0 % täckning ner till 1,0x vid 50 % täckning, sedan platt vid 1,0x över 50 %:


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

En källa med 0% täckning får 1,3x; en källa med 25% får 1,15x; en källa med 50% sjunker till 1,0x. Över 50% tillämpas ingen bonus.

Beräkna bonusen

En körning med gutenberg-täckning på 30% & hermes3-general-täckning på 70%. Beräkna täckningsbonusmultiplikatorn för varje källa. Visa din aritmetik.

Två distinkta färskhetssignaler

Samma mål, olika granularitet

ANDREA har två mekanismer som förhindrar överträning på en enda källa. De låter liknande; de mäter olika saker.


Epoch-straff. Spårar aggregerad överdragning. När lifetime_pulls / n_docs > 1.0 har en källa teoretiskt gått förbi varje dokument minst en gång. Straff = 1 / (1 + epochs). En 1,4K-dokuments synthetic-chat-källa med 5 600 lifetime pulls (epochs = 4) får straff 1/5 = 0,2x. Epoch-räknare kvarstår över omstarter; de avtar aldrig.


Täckningsbonus. Spårar per-dokuments färskhet inom en källa. CUDA rapporterar doc-index; proxyn underhåller en mängd per källa. Källor under 50 % täckning av unika docs får upp till 1,3x. Täckning belönar utforskning av en källas svans; epoch-straff straffar uttömning av den.


Varför båda är viktiga


SignalTracksDirectionCapPersists across restarts
Epoch-straffaggregerad överdragningminskar1/(1+e)ja
Täckningsbonusper-dok färskhetökar1.3xja

En 500K-dokuments gutenberg-källa kan hålla sig under 50% täckning under hela 200K-träningskörningen samtidigt som den aldrig närmar sig epoch=1. Epoch-straff ignorerar den; täckningsbonusen drar aktivt en bandit mot gutenbergs outforskade 70% svans.


Omvänt mättar en 1.4K syntetisk-chatt-källa täckningen (100%) inom några tusen drag; täckningsbonusen stannar vid 1.0x medan epoch-straffet växer.

Skilj på de två

Föreställ dig två källor mitt i träningen: källa A har 1 400 dokument & 8 400 livstidsdragningar. Källa B har 500 000 dokument & 80 000 livstidsdragningar; proxyn har loggat 75 000 unika doc-index för B hittills. Vilken signal (epoch-straff eller täckningsbonus) styr varje källas banditvikt, & varför?

Vad täckningsbonusen ger ANDREA

Felmoden det förhindrar

Utan doc-level-spårning väljer en bandit baserat på per-stegsbelöning .btok-sekvenser girigt. Ett 500K-dokument Gutenberg-korpus innehåller ett fåtal tusen sekvenser med låg cross-entropy (konsekvent prosa, vanlig vokabulär). En bandit enbart baserad på belöning återvänder upprepat till dessa sekvenser eftersom de fortsätter producera starka belöningssignaler.


Resultat: ett 500K-dokument korpus samplas över kanske 2K-5K distinkta sekvenser under 200K träningssteg. Modellen memorerar dessa sekvenser utan att någonsin se resten. Kapacitet slösad; täckning fast under 1%.


Vad täckningsbonus ger

1.3x vid 0% täckning, skalat ner till 1.0x vid 50%. Den här knuffen propagerar genom UCB1-selektion: armar med låg täckning förblir konkurrenskraftiga även när deras per-drag-belöning sjunker. Banditen utforskar svansen avsiktligt snarare än av en slump.


Över en 200K-stegs körning på ett 500K-dok Gutenberg-korpus höjer täckningsbonusen typiskt observerad täckning från ~3% (ingen bonus) till ~25-30% (med bonus). Samma beräkning, åtta till tio gånger fler dokument berörda.


Var spårningen finns


KomponentAnsvar
microgpt_cuda.cuRapporterar dokindex per träningsteg
training_proxy.pyUnderhåller seen_docs-uppsättning per källa
training_proxy.pyBeräknar täckning, applicerar bonus till banditbelöning
training_proxy.pySparar seen_docs till .state.json över omstarter

Koppla till ett konkret ingenjörsval

Föreställ dig att du tog bort täckningsbonusen från ANDREA-120M-träningen. Förutsäg en konkret konsekvens för gutenberg-armen specifikt (som har 500K+ dokument) över en 200K-stegs körning. Referera antingen täckningsprocent, dokumentdiversitet eller nedströms provkvalitet.