TimeCapsuleLLM: 1800~1875년 데이터만으로 학습된 대형 언어 모델

3 weeks ago 11

  • TimeCapsuleLLM은 특정 시기(1800~1875년)의 자료만으로 학습된 대형 언어 모델(LLM) 로, 현대적 편향을 최소화하고 당시의 언어와 세계관을 재현하는 목적
  • 모델은 런던 지역의 역사적 문서, 서적, 신문, 법률 문서 등으로 구성된 데이터셋을 사용해 시대별 언어 스타일과 어휘를 반영
  • 초기 버전은 nanoGPT, 이후 버전은 Microsoft Phi 1.5 기반으로 구축되었으며, 데이터 규모는 최대 90GB, 모델 파라미터는 최대 700M
  • Selective Temporal Training(STT) 방식을 통해 특정 시기의 데이터만을 선별해 학습, 현대 개념이 포함되지 않도록 설계
  • 역사적 언어모델 연구와 시대별 인공지능 언어 재현 가능성을 보여주는 실험적 프로젝트

프로젝트 개요

  • TimeCapsuleLLM은 특정 시기와 장소의 데이터만으로 학습된 언어 모델로, 현대적 편향을 줄이고 해당 시대의 어휘·문체·세계관을 재현하는 목표
    • “AI가 단순히 역사적 인물을 흉내내는 것이 아니라, 실제로 그 시대의 언어를 사용하는 모델”이라는 개념 제시
  • 초기 버전(v0, v0.5)은 Andrej Karpathy의 nanoGPT를 기반으로, v1은 Microsoft Phi 1.5를 기반으로 개발
  • 모델은 Hugging Face에서 공개되어 있음

모델 버전별 특징

  • v0
    • 약 187MB의 데이터로 학습
    • 1800년대 어휘를 사용하지만 문장은 대부분 비문 형태
    • 현대 개념이 전혀 등장하지 않음
  • v0.5
    • 문법과 구두점이 개선되어 빅토리아 시대 문체를 재현
    • 사실 오류율이 높고 OCR 노이즈(예: “Digitized by Google”)가 포함됨
  • v1
    • 실제 역사적 사건과 인물을 연결하는 응답 생성
    • 예시: “It was the year of our Lord 1834” 프롬프트에 런던의 시위와 청원을 언급하는 문장 생성
  • v2mini-eval1 / eval2
    • 90GB 중 15GB 샘플로 10K 스텝 학습
    • 토크나이저 문제로 단어가 분리되어 출력되었으나, 수정 후 문장 구조는 유지
    • “Charles Dickens”, “Charles Darwin” 등의 프롬프트에 대해 19세기식 서술 생성

데이터셋 구성

  • v2 데이터셋
    • 1800~1875년 런던 텍스트 90GB, 총 136,344개 문서
    • 아직 전체 토크나이징은 완료되지 않았으며, 15GB 샘플이 Hugging Face에 공개
  • 데이터 출처는 공개 도메인 서적, 신문, 법률 문서 등
  • 버전별 데이터 크기
    • v0: 187MB
    • v0.5: 435MB
    • v1: 6.25GB
    • v2mini-eval1: 15GB

Selective Temporal Training(STT)

  • STT는 특정 역사 시기의 데이터만을 사용해 학습하는 방법론
    • 현대 개념의 영향을 배제하고, 해당 시대의 지식과 언어만을 반영
    • TimeCapsuleLLM v0.5는 1800~1875년 데이터만으로 처음부터 학습(from scratch)
  • 기존 모델을 파인튜닝(fine-tuning) 하는 대신, 완전히 새로 학습하여 현대 정보의 잔존을 제거

모델 크기 및 학습 환경

  • 모델 파라미터 수
    • v0: 16M
    • v0.5: 123M
    • v1: 700M
    • v2mini-eval1: 300M
  • 학습 장비
    • v0/v0.5: RTX 4060 GPU, i5-13400F CPU, 16GB RAM
    • v1, v2mini-eval1: A100 SXM GPU 임대 사용

사용 방법

  • 프로젝트는 역사 데이터 수집, 정제, 토크나이저 구축에 초점을 둠
  • 단계별 절차
    1. 역사 텍스트 수집: 공개 도메인 문서, 서적 등에서 시기별 텍스트 확보
    2. 토크나이저 생성: train_tokenizer.py 실행으로 vocab.json, merges.txt 생성
    3. 모델 학습: nanoGPT 또는 선택한 아키텍처 문서 참고

편향 분석

  • v2mini-eval1 결과에 대해 대명사, 지리적, 시간적 편향 시각화 자료 제공
  • 세부 통계는 v2_bias_report.json 파일에서 확인 가능

라이선스 및 공개 정보

  • MIT License로 공개
  • GitHub에서 1.2k Stars, 41 Forks 기록
  • 주요 언어는 Python 100%
  • 최신 릴리스: v2mini-eval2 — London (1800–1875)

Read Entire Article