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

un

invitado
1 / ?

CUDA Reporta Índices de Documentos

Un Entrenador CUDA Sabe Qué Documento Muestrea

Cada paso de entrenamiento extrae una secuencia de un binario .btok, que empaqueta muchos documentos uno tras otro. CUDA registra un índice de documento junto con la pérdida: step 47213, source=gutenberg, doc=128407, loss=2.81. Un proxy recopila estos informes & mantiene un conjunto de índices de documentos únicos vistos por fuente.


De Conteos a Cobertura

Cobertura de una fuente = unique_docs_seen / n_docs. Algunos ejemplos:


Fuenten_docsúnicos vistoscobertura
gutenberg512,000154,00030.1%
hermes3-general67,39547,17670.0%
dictionary88,00088,000100.0%
synthetic-chat1,4001,400100.0%

Las fuentes pequeñas se saturan rápidamente. Las fuentes grandes caen por debajo del 50% durante semanas. El bono de cobertura recompensa a un bandido por visitar documentos que aún no ha muestreado dentro de una fuente.


Bono de cobertura por fuente


Fórmula del Bono

El bono de cobertura escala linealmente desde 1.3x con 0% de cobertura hasta 1.0x con 50% de cobertura, luego permanece plano en 1.0x por encima del 50%:


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

Una fuente con 0% de cobertura obtiene 1.3x; una fuente con 25% obtiene 1.15x; una fuente con 50% cae a 1.0x. Por encima del 50%, no se aplica bonificación.

Calcula la Bonificación

Una ejecución con cobertura de gutenberg al 30% y cobertura de hermes3-general al 70%. Calcula el **multiplicador de bonificación de cobertura** para cada fuente. Muestra tu aritmética.

Dos Señales de Frescura Distintas

Mismo Objetivo, Diferente Granularidad

ANDREA tiene dos mecanismos que evitan el sobreentrenamiento en una sola fuente. Suenan similares; miden cosas diferentes.


Penalización por época. Rastrea el sobreuso agregado. Cuando lifetime_pulls / n_docs > 1.0, una fuente ha pasado teóricamente por cada documento al menos una vez. Penalización = 1 / (1 + epochs). Una fuente synthetic-chat de 1.4K documentos con 5,600 pulls de por vida (epochs = 4) obtiene penalización 1/5 = 0.2x. Los conteos de épocas persisten entre reinicios; nunca decaen.


Bonificación por cobertura. Rastrea la frescura por documento dentro de una fuente. CUDA reporta índices de docs; el proxy mantiene un conjunto por fuente. Las fuentes por debajo del 50% de cobertura de docs únicos ganan hasta 1.3x. La cobertura recompensa explorar la cola de una fuente; la penalización por época castiga agotarla.


Por qué ambos importan


SeñalRastreaDirecciónLímitePersiste entre reinicios
Penalización de épocaexceso de tirones agregadoreduce1/(1+e)
Bonificación de coberturafrescura por documentoaumenta1.3x

Una fuente gutenberg de 500K documentos puede mantenerse por debajo del 50% de cobertura durante toda la ejecución de entrenamiento de 200K mientras nunca se acerca a época=1. La penalización de época la ignora; la bonificación de cobertura tira activamente de un bandido hacia la cola inexplorada del 70% de gutenberg.


Por el contrario, una fuente sintética-chat de 1.4K satura la cobertura (100%) en unos pocos miles de tirones; la bonificación de cobertura se mantiene en 1.0x mientras la penalización de época crece.

Distingue los Dos

Imagina dos fuentes a mitad de entrenamiento: la fuente A tiene 1.400 documentos y 8.400 pulls de por vida. La fuente B tiene 500.000 documentos y 80.000 pulls de por vida; el proxy ha registrado 75.000 índices de documentos únicos para B hasta ahora. ¿Cuál señal (penalización por época o bonificación por cobertura) gobierna el peso bandit de cada fuente, y por qué?

Qué Compra la Bonificación por Cobertura a ANDREA

El Modo de Fallo que Previene

Sin seguimiento a nivel de documento, un bandido que selecciona según la recompensa por paso elige secuencias .btok de manera codiciosa. Un corpus de gutenberg de 500K documentos contiene unas pocas miles de secuencias con baja entropía cruzada (prosa consistente, vocabulario común). Un bandido solo de recompensa regresa repetidamente a esas secuencias porque siguen produciendo señales de recompensa fuertes.


Resultado: un corpus de 500K documentos se muestrea a través de quizás 2K-5K secuencias distintas en 200K pasos de entrenamiento. El modelo memoriza esas secuencias sin ver nunca el resto. Capacidad desperdiciada; cobertura estancada por debajo del 1%.


Qué Compra el Bono de Cobertura

1.3x al 0% de cobertura, escalado hasta 1.0x al 50%. Ese empujón se propaga a través de la selección UCB1: brazos con baja cobertura permanecen competitivos incluso cuando su recompensa por tirada disminuye. El bandido explora la cola por diseño en lugar de por accidente.


En una ejecución de 200K pasos en un gutenberg de 500K documentos, el bono de cobertura típicamente eleva la cobertura observada de ~3% (sin bono) a ~25-30% (con bono). Mismo cómputo, ocho a diez veces más documentos tocados.


Dónde reside el seguimiento


ComponenteResponsabilidad
microgpt_cuda.cuReporta el índice del documento por paso de entrenamiento
training_proxy.pyMantiene el conjunto seen_docs por fuente
training_proxy.pyCalcula la cobertura, aplica bono a la recompensa del bandit
training_proxy.pyPersiste seen_docs en .state.json entre reinicios

Conectar con una Elección de Ingeniería Concreta

Supongamos que eliminas el bono de cobertura del entrenamiento de ANDREA-120M. Predice una consecuencia concreta para el brazo gutenberg específicamente (que tiene 500K+ documentos) en una ejecución de 200K pasos. Referencia ya sea el porcentaje de cobertura, la diversidad de documentos o la calidad de muestras downstream.