- TimeCapsuleLLM es un modelo de lenguaje grande (LLM) entrenado únicamente con materiales de un período específico (1800~1875), con el objetivo de minimizar los sesgos modernos y recrear el lenguaje y la visión del mundo de esa época
- El modelo utiliza un conjunto de datos compuesto por documentos históricos, libros, periódicos y documentos legales de la zona de Londres, reflejando el estilo lingüístico y el vocabulario de cada período
- La versión inicial se construyó sobre nanoGPT y las versiones posteriores sobre Microsoft Phi 1.5; el volumen de datos llega hasta 90GB y el modelo alcanza hasta 700M de parámetros
- Mediante el enfoque Selective Temporal Training (STT), se entrena seleccionando solo datos de un período específico, diseñado para evitar la inclusión de conceptos modernos
- Es un proyecto experimental que muestra las posibilidades de la investigación en modelos de lenguaje históricos y de la reconstrucción lingüística por época con inteligencia artificial
Resumen del proyecto
- TimeCapsuleLLM es un modelo de lenguaje entrenado solo con datos de un tiempo y lugar específicos, con la meta de reducir el sesgo moderno y recrear el vocabulario, el estilo y la cosmovisión de esa época
- Presenta la idea de “una IA que no simplemente imita figuras históricas, sino que realmente usa el lenguaje de esa época”
- Las versiones iniciales (v0, v0.5) se desarrollaron con base en nanoGPT de Andrej Karpathy, y v1 con base en Microsoft Phi 1.5
- El modelo está publicado en Hugging Face
Características por versión del modelo
- v0
- Entrenado con alrededor de 187MB de datos
- Usa vocabulario del siglo XIX, pero la mayoría de las oraciones son agramaticales
- No aparecen conceptos modernos en absoluto
- v0.5
- Mejora la gramática y la puntuación para recrear el estilo victoriano
- Tiene una alta tasa de errores fácticos e incluye ruido de OCR (por ejemplo, “Digitized by Google”)
- v1
- Genera respuestas que conectan hechos y personajes históricos reales
- Ejemplo: ante el prompt “It was the year of our Lord 1834”, genera una frase que menciona protestas y peticiones en Londres
- v2mini-eval1 / eval2
- Entrenado durante 10K pasos con una muestra de 15GB de un total de 90GB
- Debido a un problema con el tokenizador, las palabras salían separadas, pero tras corregirlo se mantuvo la estructura de las oraciones
- Genera descripciones al estilo del siglo XIX para prompts como “Charles Dickens” y “Charles Darwin”
Composición del dataset
- Dataset v2
- 90GB de textos de Londres de 1800~1875, con un total de 136,344 documentos
- La tokenización completa aún no ha terminado, y una muestra de 15GB está publicada en Hugging Face
- Las fuentes de datos incluyen libros de dominio público, periódicos, documentos legales, etc.
- Tamaño de datos por versión
- v0: 187MB
- v0.5: 435MB
- v1: 6.25GB
- v2mini-eval1: 15GB
Selective Temporal Training (STT)
- STT es una metodología de entrenamiento que usa solo datos de un período histórico específico
- Excluye la influencia de conceptos modernos y refleja únicamente el conocimiento y el lenguaje de esa época
- TimeCapsuleLLM v0.5 fue entrenado desde cero (from scratch) usando solo datos de 1800~1875
- En lugar de hacer fine-tuning sobre un modelo existente, se entrena uno completamente nuevo para eliminar los rastros de información moderna
Tamaño del modelo y entorno de entrenamiento
- Número de parámetros del modelo
- v0: 16M
- v0.5: 123M
- v1: 700M
- v2mini-eval1: 300M
- Hardware de entrenamiento
- v0/v0.5: GPU RTX 4060, CPU i5-13400F, 16GB de RAM
- v1, v2mini-eval1: uso alquilado de GPU A100 SXM
Cómo usarlo
- El proyecto se enfoca en la recolección, limpieza y construcción del tokenizador para datos históricos
- Procedimiento por etapas
- Recolección de textos históricos: obtener textos por período a partir de documentos de dominio público, libros, etc.
- Creación del tokenizador: ejecutar
train_tokenizer.py para generar vocab.json y merges.txt
- Entrenamiento del modelo: consultar la documentación de nanoGPT o de la arquitectura elegida
Análisis de sesgos
- Se ofrecen visualizaciones de sesgos pronominales, geográficos y temporales para los resultados de v2mini-eval1
- Las estadísticas detalladas pueden consultarse en el archivo
v2_bias_report.json
Licencia e información pública
- Publicado bajo MIT License
- En GitHub registra 1.2k Stars y 41 Forks
- El lenguaje principal es Python 100%
- Último lanzamiento: v2mini-eval2 — London (1800–1875)
1 comentarios
Comentarios en Hacker News
Me hace pensar en qué pasaría si entrenáramos un modelo de frontera usando 1900 como corte y le preguntáramos sobre mecánica cuántica (QM) y relatividad
Si el modelo diera respuestas aunque sea un poco correctas, sería una prueba muy fuerte de que los LLM van camino a una inteligencia mayor
El experimento de Michelson-Morley (1887), las transformaciones de Lorentz (1889) y el efecto fotoeléctrico (1887) son ejemplos
William Clifford murió en 1889, pero propuso la idea de explicar la fuerza y la materia mediante la curvatura del espacio
La ciencia no aparece de golpe, y al integrar los artículos de la época quizá estas teorías podrían haber surgido de forma natural
La calidad del OCR es mala, así que casi todo hay que procesarlo a mano, pero un modelo de 700M parámetros sí es posible incluso en casa
Aun así, para tener capacidad de razonamiento real haría falta algo del orden de 70B
Además, un gran reto es evitar que se mezcle conocimiento de 2026 durante el fine-tuning y el proceso de RL
La segunda mitad del siglo XIX fue una época dorada para la química, y da curiosidad si un LLM podría hacer predicciones termodinámicas o proponer nuevas hipótesis
La discusión relacionada puede verse en este hilo de HN
El enfoque de medir generalización y robustez del modelo mediante la tasa de compresión de datos (perplexity) resulta muy llamativo
Pensar que “Who art Henry” es inglés del siglo XIX parece un ejemplo de falta de oído histórico para el lenguaje
En realidad, no es gramaticalmente correcto en ninguna época
Es interesante si este experimento podría servir como prueba de la posibilidad de una AGI
La pregunta es si, dándole solo datos previos a cierto momento (año X), podría derivar por sí sola un descubrimiento posterior (Y)
Algunos descubrimientos pueden surgir de combinar ideas existentes, pero la relatividad y la mecánica cuántica requirieron experimentos
Por ejemplo, aunque un modelo de la época pudiera desarrollar matemáticamente la relatividad general, probablemente habría atribuido el avance del perihelio de Mercurio al planeta Vulcan (wiki de Vulcan)
Documentos mal clasificados, anotaciones o metadatos crean un riesgo alto de fuga de conocimiento
Se requerirían enormes cantidades de texto, muchísimos parámetros y un proceso de RLHF al estilo del siglo XIX
Se propone comparar un modelo entrenado con datos de 1800~1875 y otro entrenado con datos de 1800~2025
usando la diferencia entre ambas distribuciones de probabilidad para intentar predecir 2040
En la práctica sería difícil lograr predicciones precisas, pero como experimento de interpolación/extrapolación de distribuciones de probabilidad suena divertido
Es un concepto interesante, pero los datos registrados de esa época están sesgados hacia las élites del conocimiento
No era una era en la que cualquiera dejara registros como hoy
Los modelos modernos se entrenan con decenas de TB de texto, pero los datos del siglo XIX son mucho menos abundantes y menos diversos
Por eso, que responda preguntas como “¿qué pasó en 1834?” con estilo de artículo periodístico es un resultado natural
Los LLM actuales mezclan las ideas de demasiada gente y a veces producen salidas muy ruidosas
Un modelo entrenado con la perspectiva coherente de una época concreta podría tener un estilo de respuesta más predecible
Además, el proceso de alignment refleja los valores del proveedor
En cambio, un modelo basado en datos del pasado estaría reflejando los sesgos de su época de manera “accidental”
Como mínimo, parece que un modelo así podría evitar la avalancha de emojis
Aunque da curiosidad cómo cambiaría la tokenización
No tendría conocimiento de programación, pero quizá combinado con un LLM moderno podría generar explicaciones de código al estilo del siglo XIX
Estoy pensando si sería posible mezclar capas como en los antiguos modelos de transferencia de estilo
Se siente tierno ese experimento de entrenar un modelo solo con documentos previos a la era de la información y luego intentar enseñarle ‘qué es una computadora’
Pero por ahora la salida se parece más al nivel de una cadena de Markov que a ChatGPT
Hace recordar otro “proyecto de LLM con bloqueo temporal” que apareció hace poco en HN
El resultado estaba pulido, pero decían estar pensando cómo evitar el mal uso y los malentendidos
Ver este hilo relacionado
Si este modelo logra producir salidas consistentes, podría refutar la idea de que el material con copyright es indispensable para entrenar LLM
Pero por ahora no parece estar a ese nivel
The Common Pile v0.1 construyó un modelo de 7B parámetros con 8 TB de texto público
Yo también hice un experimento parecido: proyecto transformer
Entrené modelos individuales con textos distintos, como la Biblia, Don Quijote y Kafka
(También había un generador de letras y un traductor, pero la calidad no era muy buena)