좋은 LLM을 학습하려면 데이터가 필요한데 공개 코드·수학 데이터는 양과 품질이 부족하고 릴리스 시점에 지식이 고정되며 한국어 자료도 거의 없다는 제약에서 출발한다. Kanana-2를 위해 규모·품질·최신성·언어 구성을 직접 통제하며 코드·수학 데이터를 대규모로 수집·정제한 파이프라인과, 그 효과를 실제 벤치마크 학습으로 검증한 과정을 공유한다.
핵심 포인트- 소스코드 723.7B, 수학 90B 이상, 코드 관련 자연어 약 220B 토큰을 확보 — GH Archive·Software Heritage 메타데이터에서 해시를 뽑아 PySpark로 내려받고 라이선스·중복·저작권 헤더·개인정보를 제거해 한 달 만에 약 160억 파일을 42억 개로 정제
- 언어별 코드에 0~5점 교육적 품질 점수를 매기는 모델을 만들고 CPU tokenization·I/O와 GPU inference를 겹쳐 수백B 토큰을 수시간에 분류, 동일 토큰으로 학습한 HumanEval·MBPP·MultiPL-E에서 공개 데이터 대비 일관된 우위 확인
- 일반 추출기는 수식을 누락하고 수학용 추출기는 코드 indentation을 잃는 문제를 모두 보존하는 웹 추출기를 직접 제작, 고품질 seed로 FastText classifier를 학습해 전체 웹을 두 차례 반복 필터링
- 영어 수학·코드 능력은 일반 한국어 말뭉치만으로는 한국어 문제에 잘 전이되지 않고 한국어 전용 학습은 영어를 낮췄지만, 한·영을 절반씩 섞자 두 언어 성능을 함께 보존 — 도메인별 한국어 자료의 필요성을 입증
왜 읽나자체 LLM용 고품질 코드·수학 사전학습 데이터를 직접 구축하려는 팀에게 대규모 수집·필터링, 품질 점수 모델, 언어 구성 실험까지 데이터 파이프라인 설계의 실전 사례.