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

un

visitante
1 / ?

Relatórios CUDA de Índices de Documentos

Um Treinador CUDA Sabe Qual Documento Amostrou

Cada passo de treinamento extrai uma sequência de um binário .btok, que empacota muitos documentos um após o outro. CUDA registra um índice de documento junto com a perda: step 47213, source=gutenberg, doc=128407, loss=2.81. Um proxy coleta esses relatórios & mantém um conjunto de índices de documentos únicos vistos por fonte.


De Contagens para Cobertura

Cobertura de uma fonte = unique_docs_seen / n_docs. Alguns exemplos:


Fonten_docsúnicos vistoscobertura
gutenberg512.000154.00030,1%
hermes3-general67.39547.17670,0%
dictionary88.00088.000100,0%
synthetic-chat1.4001.400100,0%

Fontes pequenas saturam rapidamente. Fontes grandes ficam abaixo de 50% por semanas. O bônus de cobertura recompensa um bandido por visitar documentos que ainda não foram amostrados dentro de uma fonte.


Bônus de cobertura por fonte


Fórmula do Bônus

O bônus de cobertura escala linearmente de 1.3x com 0% de cobertura até 1.0x com 50% de cobertura, depois fixo em 1.0x acima de 50%:


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

Uma fonte com 0% de cobertura ganha 1.3x; uma fonte com 25% ganha 1.15x; uma fonte com 50% cai para 1.0x. Acima de 50%, nenhum bônus é aplicado.

Calcule o Bônus

Uma execução com cobertura gutenberg de 30% & cobertura hermes3-general de 70%. Calcule o multiplicador de bônus de cobertura para cada fonte. Mostre sua aritmética.

Dois Sinais de Frescor Distintos

Mesmo Objetivo, Diferente Granularidade

A ANDREA tem dois mecanismos que previnem o sobre-treinamento em uma única fonte. Eles soam semelhantes; medem coisas diferentes.


Penalidade de época. Acompanha o excesso agregado de pulls. Quando lifetime_pulls / n_docs > 1.0, uma fonte teoricamente passou por cada documento pelo menos uma vez. Penalidade = 1 / (1 + epochs). Uma fonte synthetic-chat de 1.4K documentos com 5.600 pulls vitalícios (epochs = 4) recebe penalidade 1/5 = 0.2x. As contagens de épocas persistem entre reinicializações; elas nunca decaem.


Bônus de cobertura. Acompanha a frescor por documento dentro de uma fonte. O CUDA relata índices de docs; o proxy mantém um conjunto por fonte. Fontes abaixo de 50% de cobertura de docs únicos ganham até 1.3x. A cobertura recompensa explorar a cauda de uma fonte; a penalidade de época pune esgotá-la.


Por Que Ambos Importam


SinalRastreiaDireçãoLimitePersiste entre reinícios
Penalidade de épocapuxamento excessivo agregadoreduz1/(1+e)sim
Bônus de coberturafrescor por documentoaumenta1.3xsim

Uma fonte gutenberg de 500K documentos pode permanecer abaixo de 50% de cobertura durante toda a execução de treinamento de 200K, sem nunca se aproximar de época=1. A penalidade de época a ignora; o bônus de cobertura puxa ativamente um bandido em direção à cauda inexplorada de 70% do gutenberg.


Inversamente, uma fonte sintética-chat de 1.4K satura a cobertura (100%) em poucas milhares de puxadas; o bônus de cobertura permanece em 1.0x enquanto a penalidade de época cresce.

Diferencie os Dois

Imagine duas fontes no meio do treinamento: fonte A tem 1.400 documentos & 8.400 pulls vitalícios. Fonte B tem 500.000 documentos & 80.000 pulls vitalícios; o proxy registrou 75.000 índices de docs únicos para B até agora. Qual sinal (penalidade de epoch ou bônus de cobertura) governa o peso bandit de cada fonte, & por quê?

O Que o Bônus de Cobertura Compra para ANDREA

O Modo de Falha Que Ele Previne

Sem rastreamento em nível de documento, um bandido que seleciona com base em recompensa por passo escolhe sequências .btok de forma gananciosa. Um corpus gutenberg de 500K documentos contém algumas milhares de sequências com baixa entropia cruzada (prosa consistente, vocabulário comum). Um bandido apenas com recompensa retorna repetidamente a essas sequências porque elas continuam produzindo sinais de recompensa fortes.


Resultado: um corpus de 500K documentos é amostrado em talvez 2K-5K sequências distintas ao longo de 200K passos de treinamento. O modelo memoriza essas sequências sem nunca ver o resto. Capacidade desperdiçada; cobertura presa abaixo de 1%.


O Que o Bônus de Cobertura Compra

1.3x em 0% de cobertura, escalado para baixo até 1.0x em 50%. Esse empurrão se propaga pela seleção UCB1: braços com baixa cobertura permanecem competitivos mesmo quando sua recompensa por puxada cai. O bandido explora a cauda por design, em vez de por acidente.


Ao longo de uma execução de 200K passos em um gutenberg de 500K documentos, o bônus de cobertura tipicamente eleva a cobertura observada de ~3% (sem bônus) para ~25-30% (com bônus). Mesmo compute, oito a dez vezes mais documentos tocados.


Onde o Rastreamento Reside


ComponentResponsabilidade
microgpt_cuda.cuReporta índice do documento por etapa de treinamento
training_proxy.pyMantém conjunto seen_docs por fonte
training_proxy.pyCalcula cobertura, aplica bônus à recompensa do bandit
training_proxy.pyPersiste seen_docs em .state.json entre reinicializações

Conecte a uma Escolha de Engenharia Concreta

Suponha que você removeu o bônus de cobertura do treinamento ANDREA-120M. Preveja uma consequência concreta para o braço gutenberg especificamente (que tem 500K+ documentos) em uma execução de 200K passos. Referencie porcentagem de cobertura, diversidade de documentos ou qualidade de amostra downstream.