- TimeCapsuleLLM é um modelo de linguagem de grande porte (LLM) treinado apenas com materiais de um período específico (1800–1875), com o objetivo de minimizar vieses modernos e reproduzir a linguagem e a visão de mundo da época
- O modelo usa um conjunto de dados composto por documentos históricos, livros, jornais e documentos legais da região de Londres, refletindo estilos linguísticos e vocabulário de cada período
- As versões iniciais foram construídas com base no nanoGPT e as versões posteriores no Microsoft Phi 1.5; o volume de dados chega a 90GB e o modelo tem até 700M de parâmetros
- Por meio da abordagem Selective Temporal Training (STT), ele é treinado selecionando apenas dados de um período específico, de modo a evitar a inclusão de conceitos modernos
- Um projeto experimental que demonstra o potencial de pesquisa em modelos de linguagem históricos e na reprodução por IA da linguagem de diferentes épocas
Visão geral do projeto
- O TimeCapsuleLLM é um modelo de linguagem treinado apenas com dados de um período e local específicos, com a meta de reduzir vieses modernos e reproduzir o vocabulário, o estilo de escrita e a visão de mundo daquela era
- Apresenta o conceito de “uma IA que não apenas imita figuras históricas, mas realmente usa a linguagem daquele período”
- As versões iniciais (v0, v0.5) foram desenvolvidas com base no nanoGPT de Andrej Karpathy, e a v1 com base no Microsoft Phi 1.5
- O modelo está disponível no Hugging Face
Características por versão do modelo
- v0
- Treinado com cerca de 187MB de dados
- Usa vocabulário do século XIX, mas as frases ainda são em grande parte malformadas
- Não aparecem conceitos modernos
- v0.5
- Gramática e pontuação foram melhoradas para reproduzir o estilo vitoriano
- A taxa de erros factuais é alta, e há ruído de OCR (ex.: “Digitized by Google”)
- v1
- Gera respostas que conectam eventos e personagens históricos reais
- Exemplo: para o prompt “It was the year of our Lord 1834”, gera uma frase mencionando protestos e petições em Londres
- v2mini-eval1 / eval2
- Treinado por 10K steps com uma amostra de 15GB dentre os 90GB
- Devido a um problema no tokenizador, as palavras eram exibidas separadas, mas após a correção a estrutura das frases foi mantida
- Para prompts como “Charles Dickens” e “Charles Darwin”, gera descrições em estilo do século XIX
Composição do dataset
- dataset v2
- 90GB de textos londrinos de 1800 a 1875, totalizando 136.344 documentos
- A tokenização completa ainda não foi finalizada, e uma amostra de 15GB foi publicada no Hugging Face
- As fontes dos dados incluem livros em domínio público, jornais, documentos legais etc.
- Tamanho dos dados por versão
- v0: 187MB
- v0.5: 435MB
- v1: 6.25GB
- v2mini-eval1: 15GB
Selective Temporal Training (STT)
- STT é uma metodologia de treinamento que usa apenas dados de um período histórico específico
- Exclui a influência de conceitos modernos, refletindo apenas o conhecimento e a linguagem daquela época
- O TimeCapsuleLLM v0.5 foi treinado do zero (from scratch) usando apenas dados de 1800 a 1875
- Em vez de fazer fine-tuning em um modelo existente, ele é treinado completamente do zero para eliminar resíduos de informação moderna
Tamanho do modelo e ambiente de treinamento
- Número de parâmetros do modelo
- v0: 16M
- v0.5: 123M
- v1: 700M
- v2mini-eval1: 300M
- Hardware de treinamento
- v0/v0.5: GPU RTX 4060, CPU i5-13400F, 16GB de RAM
- v1, v2mini-eval1: uso alugado de GPU A100 SXM
Como usar
- O projeto foca em coleta, limpeza e construção de tokenizador para dados históricos
- Procedimento em etapas
- Coleta de textos históricos: obter textos por período a partir de documentos em domínio público, livros etc.
- Criação do tokenizador: executar
train_tokenizer.py para gerar vocab.json e merges.txt
- Treinamento do modelo: consultar a documentação do nanoGPT ou da arquitetura escolhida
Análise de vieses
- São fornecidos materiais de visualização sobre vieses pronominais, geográficos e temporais para os resultados do v2mini-eval1
- As estatísticas detalhadas podem ser consultadas no arquivo
v2_bias_report.json
Licença e informações públicas
- Disponível sob a MIT License
- No GitHub, registra 1.2k Stars e 41 Forks
- Linguagem principal: Python 100%
- Último release: v2mini-eval2 — London (1800–1875)
1 comentários
Comentários do Hacker News
Fico pensando como seria treinar um modelo de última geração com 1900 como data de corte e então perguntar sobre mecânica quântica (QM) e relatividade
Se o modelo acertasse minimamente, isso seria uma forte evidência de que os LLMs estão no caminho para uma inteligência maior
O experimento de Michelson-Morley (1887), as transformações de Lorentz (1889) e o efeito fotoelétrico (1887) são exemplos disso
William Clifford morreu em 1889, mas propôs a ideia de explicar força e matéria por meio da curvatura do espaço
A ciência não surge de repente, e ao reunir os artigos da época essas teorias talvez pudessem emergir de forma natural
Como a qualidade do OCR é ruim, preciso fazer grande parte do trabalho manualmente, mas um modelo de 700M de parâmetros ainda é viável em casa
Para ter capacidade real de raciocínio, porém, seria preciso um modelo na faixa de 70B
Outro grande desafio é evitar que conhecimento de 2026 se misture durante o fine-tuning e o processo de RL
O fim do século XIX foi a era de ouro da química, e tenho curiosidade se um LLM conseguiria fazer previsões termodinâmicas ou sugerir novas hipóteses
A discussão relacionada pode ser vista no tópico do HN
A abordagem de medir generalização e robustez por meio da taxa de compressão dos dados (perplexity) é muito impressionante
Considerar “Who art Henry” como inglês do século XIX parece um exemplo de falta de senso linguístico histórico
Na prática, isso não está gramaticalmente correto em nenhuma época
É interessante pensar se esse experimento poderia servir como um teste da possibilidade de AGI
A pergunta é se, dando apenas dados anteriores a um certo ponto no tempo (ano X), seria possível levar o modelo a deduzir por conta própria uma descoberta posterior (Y)
Algumas descobertas podem surgir da combinação de ideias existentes, mas relatividade e mecânica quântica exigiram experimentação
Por exemplo, mesmo que um modelo da época pudesse desenvolver matematicamente a relatividade geral, ele provavelmente atribuiria a precessão do periélio de Mercúrio ao planeta Vulcano (Vulcan na Wikipédia)
Documentos classificados incorretamente, anotações e metadados trazem um grande risco de infiltração de conhecimento
Seriam necessários um volume enorme de texto, muitos parâmetros e um processo de RLHF com características do século XIX
Foi sugerida a ideia de comparar um modelo treinado com dados de 1800~1875 e outro treinado com dados de 1800~2025
Usando a diferença entre as duas distribuições de probabilidade, tentar prever 2040
Na prática seria difícil fazer previsões exatas, mas como experimento de interpolação/extrapolação de distribuições de probabilidade parece divertido
É um conceito interessante, mas os registros da época têm um viés centrado na elite do conhecimento
Não era uma era em que qualquer pessoa deixava registros como hoje
Os modelos modernos são treinados com dezenas de TB de texto, mas os dados do século XIX são muito menores e menos diversos
Por isso, responder a perguntas como “o que aconteceu em 1834?” em estilo de artigo de jornal é um resultado natural
Os LLMs de hoje misturam o pensamento de gente demais e às vezes produzem saídas cheias de ruído
Um modelo treinado com a perspectiva consistente de uma época específica pode ter um estilo de resposta mais previsível
Além disso, no processo de alignment, os valores do fornecedor acabam refletidos
Já um modelo baseado em dados históricos acaba refletindo os vieses de sua época “por acaso”
No mínimo, um modelo desses provavelmente evitaria a enxurrada de emojis
Mas fico curioso sobre como a tokenização mudaria
Ele não teria conhecimento de programação, mas talvez, combinado com um LLM moderno, pudesse gerar explicações de código em estilo do século XIX
Estou pensando se seria possível misturar camadas, como nos antigos modelos de transferência de estilo
Treinar um modelo só com documentos anteriores à informatização e depois tentar ensinar a ele ‘o que é um computador’ parece um experimento simpático
Mas, por enquanto, a saída está mais perto de uma cadeia de Markov do que do ChatGPT
Isso me lembrou outro “projeto de LLM com bloqueio temporal” que apareceu recentemente no HN
O resultado era refinado, mas disseram que ainda estão pensando em como evitar uso indevido e interpretações erradas
Veja o tópico relacionado
Se esse modelo produzir saídas consistentes, poderá refutar a alegação de que material protegido por direitos autorais é indispensável no treinamento de LLMs
Mas, por enquanto, não parece estar nesse nível
The Common Pile v0.1 construiu um modelo de 7B de parâmetros com 8TB de texto público
Eu também fiz um experimento parecido: projeto transformer
Treinei modelos separados com diferentes obras, como a Bíblia, Dom Quixote e Kafka
(Também havia um gerador de letras e um tradutor, mas a qualidade não era muito boa)