TimeCapsuleLLM: 1800~1875년 데이터만으로 학습한 역사 특화 LLM
TimeCapsuleLLM: LLM trained only on data from 1800-1875
TL;DR Highlight
소형 언어 모델이 19세기 초 런던 텍스트로만 학습하여 역사적 언어를 단순 흉내가 아닌 실제 시대 지식과 문체의 내재화로 습득할 수 있는지를 검증한다.
Who Should Read
LLM의 학습 데이터 편향 문제나 도메인 특화 사전학습에 관심 있는 ML 엔지니어, 또는 역사적 텍스트 분석이나 디지털 인문학 프로젝트를 진행하는 연구자.
Core Mechanics
- 이 프로젝트는 현대 편향(modern bias)을 없애기 위해 1800~1875년 런던 관련 문서만을 학습 데이터로 사용해 LLM을 처음부터(from scratch) 학습했다. 기존 모델처럼 방대한 현대 인터넷 텍스트를 쓰지 않고 시대 제한 코퍼스만 사용한 것이 핵심 차별점이다.
- 버전별로 아키텍처가 달라졌다. v0·v0.5는 Andrej Karpathy의 nanoGPT 기반 소형 모델이고, v1은 Microsoft의 Phi 1.5 위에 구축됐으며, v2는 LlamaForCausalLM 기반으로 진화했다.
- 학습 데이터는 Internet Archive에서 수집한 19세기 런던 문서들이며, 데이터셋은 HuggingFace에 공개돼 있다(postgrammar/london-llm-1800). 단, 소형 공개 데이터셋은 이미 토크나이징된 상태로만 배포됐다는 비판을 받았다.
- 모델 출력 품질은 아직 초기 단계다. 'Who art Henry?'라는 프롬프트에 'I know that man, I have did not a black, the storm' 같은 문법적으로 부정확한 텍스트를 생성했다. 댓글에서는 'art'가 2인칭 단수라 'who art Henry'도 실제로는 틀린 문법이라는 지적도 나왔다.
- 현재 Muhlenberg College와 학술 협력 연구가 진행 중이며, 학술 인용을 위한 CITATION.cff도 제공된다. 독립 개인 프로젝트에서 출발해 학계와 연결된 케이스다.
- 프론티어 모델과의 데이터 규모 차이가 크다. 댓글에서 현대 LLM은 텍스트만 50TB 이상을 쓰는데, 19세기 생존 문서는 그보다 수 자릿수 적고 신문·공문서 등 편향된 출처 위주라는 한계가 지적됐다.
- 이 프로젝트의 철학적 질문은 '모델이 학습하지 않은 미래 지식을 스스로 추론해낼 수 있는가'다. 예를 들어 1875년 이전 데이터만 학습한 모델에게 양자역학 힌트를 주면 올바른 방향으로 추론할 수 있는지를 실험 아이디어로 커뮤니티가 논의했다.
Evidence
- '1900년 이전 데이터로만 학습한 모델에게 양자역학이나 상대성이론 관련 맥락을 주입하면 스스로 유도해낼 수 있을까?'라는 흥미로운 사고 실험이 제안됐다. 하지만 이에 대해 전문가들 사이에서는 'LLM은 패턴 압축 모델이라 학습하지 않은 개념을 새로 발견하는 건 불가능하다'는 단호한 반론이 나왔다.
- 실행 품질에 대한 비판적 피드백이 구체적으로 제기됐다. 한 댓글 작성자는 '원시(untokenized) 데이터셋을 왜 공개하지 않았는지, 재현 가능한 학습 스크립트는 왜 없는지, 데이터 노이즈 제거는 왜 안 됐는지, 채팅 가능한 형태로 post-training은 왜 안 했는지' 등 4가지 개선점을 나열하며 직접 더 나은 버전을 만들어볼 수 있다고 밝혔다.
- '1834년에 무슨 일이 있었나'를 물으면 신문 기사 스타일로 답변이 나오는데, 이는 학습 데이터 자체가 당시 살아남아 디지털화된 신문·공문서 위주이기 때문이라는 분석이 있었다. 즉, 모델이 19세기를 '전부' 반영하는 게 아니라 기록 권력을 가진 엘리트 계층의 시각만 담는다는 데이터 편향 문제가 지적됐다.
- 스타일 전이(style transfer) 아이디어가 나왔다. 현대 LLM의 코딩 지식은 유지하면서 19세기 모델의 문체로 출력을 렌더링할 수 있을지에 대한 논의가 있었는데, 파인튜닝 없이 레이어 스왑 같은 방식이 LLM에서 가능한지 확신하기 어렵다는 결론이 나왔다.
- 유사 프로젝트로 history-llms(github.com/DGoettlich/history-llms)가 언급됐으며, 또 다른 '시간 잠금(time-locked)' LLM 프로젝트가 이전에 HN에 올라왔는데 출력 품질은 더 좋지만 오남용 방지 문제로 팀이 고민 중이라는 후기가 공유됐다.
How to Apply
- 역사적 문서를 다루는 디지털 인문학 프로젝트에서 시대별 언어 모델이 필요할 때, 이 프로젝트의 데이터 수집 방식(Internet Archive + 시대 필터링)을 참고해 자체 코퍼스를 구축할 수 있다. download_texts_improved.py와 internet_archive_ids.txt가 출발점이 된다.
- 도메인 특화 사전학습(domain-adaptive pretraining) 실험을 계획 중이라면, 이 프로젝트처럼 nanoGPT나 LlamaForCausalLM을 베이스로 좁은 코퍼스를 처음부터 학습하는 접근과, 기존 모델을 좁은 코퍼스로 continued pretraining하는 접근을 비교 실험할 수 있다. 이 프로젝트는 전자의 한계(데이터 부족, 출력 품질 저하)를 실증적으로 보여준다.
- HuggingFace에 공개된 postgrammar/london-llm-1800 데이터셋을 직접 내려받아 19세기 영어 텍스트 분류, 감성 분석, 언어 변화 연구 등의 베이스라인 데이터로 활용할 수 있다. 단, 데이터가 이미 토크나이징된 형태일 수 있으니 원시 텍스트 필요 시 직접 Internet Archive에서 수집해야 한다.
Terminology
관련 논문
레이어 하나면 충분한가? 단일 Transformer 레이어 학습이 전체 파라미터 RL 학습과 동등한 성능
LLM의 RL 후처리 학습(post-training)에서 성능 향상의 대부분이 중간 레이어 소수에 집중되며, 단 하나의 레이어만 학습해도 전체 파라미터 학습과 비슷하거나 더 나은 결과를 낼 수 있다는 연구 결과. 이는 RL 학습 비용을 대폭 줄일 수 있는 가능성을 시사한다.
Black-Box LLM에서 지식 증류하기: Proxy-KD 기법 (2024)
GPT-4 같은 내부 구조에 접근할 수 없는 독점 LLM에서 작은 모델로 지식을 효과적으로 전달하는 Proxy-KD 기법을 소개하는 논문으로, 전통적인 White-Box 방식보다 성능이 높다는 점에서 주목할 만하다.
NanoEuler – 순수 C/CUDA로 처음부터 만든 GPT-2 규모 언어 모델
PyTorch나 autograd 없이 C와 CUDA만으로 GPT-2 수준의 LLM을 처음부터 구현한 교육용 프로젝트로, 역전파·BPE 토크나이저·FlashAttention까지 직접 손으로 작성했다.
Neural Particle Automata: 자기조직화 파티클 시스템을 학습하는 신경망 모델
고정된 격자 대신 움직이는 파티클 위에서 동작하는 Neural Cellular Automata의 확장 버전으로, 형태 생성·포인트 클라우드 분류·텍스처 합성 등 다양한 작업에서 자기조직화 동작을 학습할 수 있다.
PyTorch Training Loop 완전 해부: 각 줄이 하는 일과 순서를 바꾸면 생기는 문제
PyTorch 학습 루프의 각 코드 줄이 왜 그 위치에 있어야 하는지, 순서를 바꾸거나 빠뜨렸을 때 어떤 문제가 생기는지를 단계별로 설명한 심층 가이드다.
좋은 Verifier도 망가질 수 있다: Self-Improving VLM이 새로운 태스크에서 오히려 퇴보하는 현상
VLM 자가학습 루프에서 verifier가 특정 태스크에 맞지 않으면 학습할수록 오히려 성능이 떨어지는데, DPO 손실값은 멀쩡히 내려가서 눈치채기도 어렵다.