ChatGPT 이후 누구나 대규모 언어 모델을 쓴다. 그러나 ‘이 모델은 대체 어떻게 만들어졌는가’라는 질문 앞에서는 대부분 멈춘다. 논문을 열면 첫 페이지부터 scaling law와 attention 수식, RLHF와 KL 제약이 쏟아지고, 튜토리얼을 열면 API 키를 발급받아 함수를 호출하는 예제가 나온다. 정작 그 사이 — 토크나이저를 학습시키고, 모델을 정의하고, 코퍼스를 흘려보내 가중치를 처음부터 만들어 내는 과정 — 을 처음부터 끝까지 코드로 보여주는 자료는 의외로 적다. Foundation Model로 검색하면 수많은 기술 보고서가 나오지만, ‘내 GPU에서 이 모델을 어떻게 학습시키나’라는 가장 실용적인 질문에 답하는 자료는 드물다.
이것이 ML 엔지니어가 Foundation Model 앞에서 멈춰서는 가장 흔한 지점이다. 논문의 추상화와 실무의 추상화 사이에 ‘내 손으로 돌려볼 수 있는 규모’라는 다리가 빠져 있기 때문이다. frontier 모델은 수천 장의 GPU와 수조 토큰을 쓴다. 그 숫자 앞에서 대부분은 ‘이건 내가 할 수 있는 일이 아니다’라고 결론짓고, 결국 남의 모델을 호출하는 법만 익힌 채 멈춘다.
그러나 규모를 줄이면 전 과정은 재현 가능하다. 파라미터를 0.5B로, 코퍼스를 수천만 토큰으로 줄여도 사전학습·정렬·평가의 메커니즘은 조금도 달라지지 않는다. 데이터를 모으고, 토크나이저를 학습하고, Transformer를 정의하고, 분산학습으로 손실을 떨어뜨리고, SFT와 DPO로 정렬하고, 벤치마크로 검증하는 그 순서는 500B 모델이든 0.5B 모델이든 동일하다. 이 책은 바로 그 축소된 규모에서 전체 라이프사이클을 한 번 완주하는 것을 목표로 한다. 한 번 완주하고 나면, 큰 모델의 기술 보고서가 갑자기 읽히기 시작한다.
모델을 직접 만들어야 할 이유는 단지 ‘원리를 알기 위해서’만은 아니다. 실무에서 자체 모델이 필요한 순간은 생각보다 자주 온다. 데이터가 외부로 나갈 수 없는 도메인, API 단가가 트래픽에 비례해 감당하기 어려워지는 서비스, 특정 언어나 전문 용어에서 범용 모델이 유독 약한 경우가 그렇다. 이럴 때 필요한 것은 ‘더 큰 모델’이 아니라 ‘내 데이터에 맞게 학습된 작은 모델’이다.
본 책의 기준 모델은 알리바바 Qwen 팀이 공개한 Qwen3-0.6B-Base다. 표면적으로는 작은 오픈 가중치 모델이지만, 학습용 교재로서 이 모델은 몇 가지 결정적인 장점을 가진다. 첫째, 라이선스가 Apache 2.0이라 상업적 사용과 재배포·개작이 모두 자유롭다. 둘째, RMSNorm·SwiGLU·RoPE·GQA라는 현대 LLM의 표준 부품을 그대로 담고 있어, 이 모델 하나를 이해하면 Llama·Gemma·Mistral 계열이 함께 읽힌다. 셋째, 0.6B라는 크기 덕분에 GPU 한 장에서 추론은 물론 LoRA 기반 SFT·DPO까지 실제로 돌아간다
2026년 현재의 지형도 이 방향을 뒷받침한다. Chinchilla 이후 업계는 컴퓨트 최적점보다 훨씬 많은 토큰을 작은 모델에 밀어 넣는 의도적 over-training으로 옮겨 갔다. 학습 비용은 한 번이지만 추론 비용은 영원하기 때문이다. 여기에 토큰마다 일부 expert만 켜는 MoE, 이미지를 함께 읽는 VLM, 답하기 전에 스스로 생각하는 Reasoning 모델까지 더해지면서, ‘작지만 특화된 모델’이 설 자리는 오히려 넓어졌다.
그래서 이 책은 LLM을 ‘코드로’ 가르치되, 그 코드가 왜 지금의 지형에서 의미를 갖는지를 함께 짚는다. 0.5B 모델을 사전학습하는 경험은 그 자체로도 값지지만, 더 큰 가치는 그 다음에 온다 — 어떤 베이스 모델을 고를지, 데이터를 얼마나 모을지, 학습이 실패했을 때 무엇을 의심할지를 스스로 판단할 수 있게 된다.