- TimeCapsuleLLM est un grand modèle de langage (LLM) entraîné uniquement sur des documents d’une période précise (1800–1875), avec pour objectif de minimiser les biais modernes et de reproduire la langue ainsi que la vision du monde de l’époque
- Le modèle utilise un jeu de données composé de documents historiques, livres, journaux et textes juridiques de la région de Londres, afin de refléter les styles linguistiques et le vocabulaire propres à la période
- Les premières versions ont été construites sur nanoGPT, et les versions ultérieures sur Microsoft Phi 1.5 ; le volume de données atteint jusqu’à 90 Go et le modèle compte jusqu’à 700M de paramètres
- Grâce à l’approche Selective Temporal Training (STT), l’entraînement sélectionne uniquement des données d’une période donnée afin d’éviter l’inclusion de concepts modernes
- Il s’agit d’un projet expérimental qui montre le potentiel de la recherche sur les modèles de langage historiques et la reconstitution, par l’IA, du langage propre à une époque
Aperçu du projet
- TimeCapsuleLLM est un modèle de langage entraîné uniquement sur des données d’une période et d’un lieu spécifiques, avec pour but de réduire les biais modernes et de reproduire le vocabulaire, le style et la vision du monde de cette époque
- Il avance l’idée d’« une IA qui ne se contente pas d’imiter des personnages historiques, mais qui utilise réellement la langue de cette époque »
- Les premières versions (v0, v0.5) ont été développées à partir de nanoGPT d’Andrej Karpathy, et la v1 à partir de Microsoft Phi 1.5
- Le modèle est publié sur Hugging Face
Caractéristiques par version du modèle
- v0
- entraînée sur environ 187 Mo de données
- utilise un vocabulaire du XIXe siècle, mais les phrases sont en grande partie mal formées
- aucun concept moderne n’apparaît
- v0.5
- améliore la grammaire et la ponctuation pour reproduire un style victorien
- le taux d’erreurs factuelles reste élevé et du bruit d’OCR (par ex. : “Digitized by Google”) est présent
- v1
- génère des réponses reliant de véritables événements et personnages historiques
- exemple : avec le prompt “It was the year of our Lord 1834”, il produit une phrase mentionnant des manifestations et des pétitions à Londres
- v2mini-eval1 / eval2
- entraînées pendant 10K steps sur un échantillon de 15 Go parmi les 90 Go
- en raison d’un problème de tokenizer, les mots étaient séparés à la sortie, mais la structure des phrases a été conservée après correction
- produit des récits de style XIXe siècle à partir de prompts comme “Charles Dickens” ou “Charles Darwin”
Composition du jeu de données
- jeu de données v2
- 90 Go de textes londoniens de 1800 à 1875, soit 136 344 documents au total
- la tokenization complète n’est pas encore terminée, mais un échantillon de 15 Go est publié sur Hugging Face
- Les données proviennent de livres du domaine public, journaux, textes juridiques, etc.
- Taille des données par version
- v0 : 187 Mo
- v0.5 : 435 Mo
- v1 : 6.25 Go
- v2mini-eval1 : 15 Go
Selective Temporal Training (STT)
- Le STT est une méthodologie d’entraînement qui n’utilise que des données d’une période historique précise
- elle exclut l’influence des concepts modernes et ne reflète que les connaissances et la langue de l’époque concernée
- TimeCapsuleLLM v0.5 a été entraîné from scratch uniquement sur des données de 1800 à 1875
- Au lieu de recourir au fine-tuning d’un modèle existant, le projet repart entièrement de zéro afin d’éliminer toute persistance d’informations modernes
Taille du modèle et environnement d’entraînement
- Nombre de paramètres du modèle
- v0 : 16M
- v0.5 : 123M
- v1 : 700M
- v2mini-eval1 : 300M
- Matériel d’entraînement
- v0/v0.5 : GPU RTX 4060, CPU i5-13400F, 16 Go de RAM
- v1, v2mini-eval1 : location de GPU A100 SXM
Mode d’utilisation
- Le projet se concentre sur la collecte de données historiques, leur nettoyage et la construction du tokenizer
- Procédure par étapes
- Collecte de textes historiques : récupérer des textes par période à partir de documents du domaine public, de livres, etc.
- Création du tokenizer : exécuter
train_tokenizer.py pour générer vocab.json et merges.txt
- Entraînement du modèle : se référer à la documentation de nanoGPT ou de l’architecture choisie
Analyse des biais
- Des visualisations des biais pronominaux, géographiques et temporels sont fournies pour les résultats de v2mini-eval1
- Les statistiques détaillées sont disponibles dans le fichier
v2_bias_report.json
Licence et informations de publication
- Publié sous licence MIT
- Le projet compte 1.2k stars et 41 forks sur GitHub
- Langage principal : Python 100 %
- Dernière release : v2mini-eval2 — London (1800–1875)
Aucun commentaire pour le moment.