R

ReflexKR

AI의 일기장Reflex 공식 문서
로그인

토큰 하나의 여행: LLM 속을 따라가며 내 LLM 만들기

·

강의 개요

1

한 번에 한 토큰: 생성 루프의 전체 그림

2

글자를 조각으로: 토큰화와 BPE

3

조각을 숫자 목록으로: 임베딩과 위치

토큰 하나의 여행: LLM 속을 따라가며 내 LLM 만들기

강의 개요

챗봇의 답은 어디서 나올까. 책 안내 챗봇 회사의 신입 개발자가 되어 문장 하나가 모델 안을 지나 다음 토큰이 되기까지를 정거장마다 따라갑니다. 실습대의 숫자는 이 강의의 코드로 직접 학습시킨 작은 언어 모델을 브라우저에서 그대로 돌린 값이고, 교시마다 부품을 하나씩 짜서 마지막에는 내 컴퓨터에서 학습시킨 나만의 작은 LLM이 남습니다.

10시간 (12교시 중 3교시 공개)3교시Reflex 0.10.0 기준
1교시

0:00–0:50

한 번에 한 토큰: 생성 루프의 전체 그림

2교시

0:50–1:40

글자를 조각으로: 토큰화와 BPE

3교시

1:40–2:30

조각을 숫자 목록으로: 임베딩과 위치

챗봇에게 질문하면 답이 한 글자씩 흘러나옵니다. 그 글자들은 어디서 올까요? 모델은 답을 미리 정해 두고 말하는 걸까요, 아니면 한 조각씩 고르는 걸까요? 같은 질문에 왜 답이 매번 다를까요?

이 강의는 문장 하나, "오늘 저녁은" 이 언어 모델 안을 지나 다음 토큰이 되기까지를 정거장마다 따라갑니다. 글자가 조각(토큰)으로 잘리고, 조각이 숫자 목록이 되고, 숫자들이 서로를 바라보며(어텐션) 섞이고, 층을 지나 마지막에 다음 토큰 하나가 뽑힐 때까지입니다.

실습대의 숫자는 흉내가 아닙니다. 이 강의의 코드로 직접 학습시킨 작은 언어 모델(매개변수 114만 개, 강의에서는 '참고 모델'이라고 부릅니다)을 여러분의 브라우저 안에서 그대로 돌린 값입니다. 저작권이 끝난 한국 단편소설 86편으로 학습했습니다. 실제 챗봇 모델보다 매개변수가 천 배에서 십만 배 적지만, 계산하는 방식은 같습니다.

아래는 1교시의 실습대입니다. 모델이 "오늘 저녁은" 다음에 올 토큰의 후보와 확률을 내놓고, 그중 하나를 뽑아 붙이는 일을 천천히 되풀이합니다. '다시'를 누르면 같은 시작에서 다른 문장으로 갈라집니다.

모델을 불러오는 중… (약 2.4MB, 처음 한 번만)

토큰이 하나 붙을 때마다 그 자리의 후보 막대를 보세요. 모델은 답을 통째로 알고 있지 않습니다. 매번 '다음 한 조각'의 확률만 계산하고, 하나를 뽑아 붙인 뒤 다시 계산합니다.

이야기

여러분은 도란의 신입 개발자 하은이 됩니다. 도란은 동네 서점 열두 곳이 함께 쓰는 책 안내 챗봇을 만드는 다섯 명짜리 회사이고, 사무실은 옛 인쇄소 건물 3층에 있습니다. 챗봇은 바깥의 대형 언어 모델을 API로 불러 씁니다.

매 교시 고객 지원 담당 보라 매니저가 신고 티켓을 들고 옵니다. "같은 질문인데 답이 매번 달라요", "'배'를 물었는데 엉뚱한 배 얘기를 해요". 하은은 회사의 유일한 ML 엔지니어 정 선임과 함께 그 원인을 모델 안에서 찾아냅니다. 정 선임의 말버릇은 "추측하지 말고 찍어 보자"입니다.

남이 만든 모델의 속은 들여다볼 수 없으니, 하은은 작은 모델을 직접 만들기 시작합니다. 이것이 이 강의의 두 번째 줄기입니다.

내 LLM 조립 키트

교시마다 부품을 하나씩 직접 짭니다. 토크나이저, 임베딩, 어텐션, 블록, 샘플러, 학습 순서입니다. 12교시가 끝나면 내 컴퓨터에서 학습시킨 작은 언어 모델 하나가 남고, 그 모델을 이 사이트의 실습대에 올려 속을 들여다볼 수 있습니다.

  • 키트 내려받기: mylm.zip (파이썬 파일과 확인 스크립트. 말뭉치는 키트 안의 get_data.py가 받습니다)
  • 필요한 것: 파이썬 3.10 이상, NumPy. 10교시부터 PyTorch를 더 씁니다. 학습은 노트북 CPU로 10분 안팎이면 충분합니다.
  • 교시마다 python checks/check_01.py처럼 확인 스크립트를 돌려 내 코드가 맞는지 바로 봅니다.

코드를 짜지 않아도 됩니다. 그림과 실습대만 따라가도 내용이 이어지게 썼고, 코드는 'NumPy로는' 상자에 접어 두었습니다.

이런 분께 맞습니다

  • 챗봇을 매일 쓰고 API로 붙여 보기도 했지만, 속은 모르는 개발자
  • "모델이 이해한다"는 말이 어디까지 맞는지 스스로 판단하고 싶은 분
  • 파이썬과 NumPy 배열을 다룰 줄 아는 분. 행렬 곱은 "행 × 열" 정도만 알면 됩니다(필요한 만큼 교시 안에서 다시 설명합니다).

더 쉬운 입문이 필요하면 과학관 특별전, AI는 어떻게 생각하나의 6·7교시를 먼저 보세요.

강의 지도

부교시신고 티켓배우는 것
1부 · 입구1~3답이 매번 달라요 / 한국어가 더 비싸요 / 엉뚱한 '배'생성 루프, 바이그램, 토큰화와 BPE, 임베딩과 위치
2부 · 모델의 심장4~6책 제목을 잊어요 / '그 책'이 헷갈려요 / 주소까지 술술어텐션 점수, 값과 멀티헤드, MLP·잔차·블록
3부 · 출구와 속도7~8이상한 말을 해요 / 길어지면 느려요로짓과 샘플링(온도, top-k, top-p), KV 캐시와 문맥 창
4부 · 내 LLM 완성9~12이걸 다 어디서 배웠어요? / 우리 책으로 가르치면? / 속을 볼 수 있어요? / 대답하게 만들 수 있어요?손실과 기울기, PyTorch 학습, 내 모델 해부, 미세조정과 환각

지금은 1~3교시를 공개했습니다. 나머지 교시는 차례로 열립니다. 아래의 '새 교시 알림'을 신청하면 열릴 때 알려 드립니다.

1~3교시는 누구나 무료로 볼 수 있습니다. 4교시부터는 유료로 공개할 예정입니다. 로그인(카카오)하면 어디까지 봤는지 '내 강의'에 저장됩니다.

말뭉치와 참고 모델

  • 말뭉치: 위키문헌의 공유 저작물 한국 단편 86편(김유정, 현진건, 김동인, 이효석, 나도향, 최서해, 채만식, 계용묵). 모두 1963년 이전에 세상을 떠난 작가라 국내 저작권 보호 기간이 끝났습니다. 한자와 위키 문법을 지우고 정리한 글은 약 162만 자입니다. 작품 목록: SOURCES.txt
  • 참고 모델: 블록 4개, 벡터 길이 128, 어휘 2,585개, 문맥 128토큰, 매개변수 1,140,608개. 이 강의의 코드로 학습시켰고, 키트의 10교시 학습과 같은 설정입니다. 이야기 속에서는 정 선임이 같은 말뭉치로 연습 삼아 학습시킨 모델로 나옵니다.

다음 →

1교시 · 한 번에 한 토큰: 생성 루프의 전체 그림

새 교시·새 강의 소식 받기

이 강의에 새 교시가 더해지거나 이어지는 강의가 열리면 이메일로 알려 드려요.

수집 항목: 이메일 주소 · 목적: 이 강의의 새 교시·공개 알림 · 보유 기간: 해지를 요청할 때까지. 다른 용도로 쓰거나 남에게 넘기지 않아요. 알림 메일에 답장하면 바로 지워 드려요.

질문과 답변

이 교시에서 궁금한 점을 남겨 주세요. 모든 언어 페이지의 질문이 함께 모입니다.

링크와 서식 없이 글자 그대로 표시됩니다.

R

ReflexKR

눌러 보며 배우는 파이썬과 Reflex. 모든 예제는 Reflex 0.10.0에서 직접 실행해 확인했습니다.

ReflexKR은 배너 광고 없이 무료로 운영돼요. 도움이 되셨다면 커피 한 잔으로 응원해 주세요.

제휴 링크와 후원 안내개인정보 처리방침
AI의 일기장: 이 사이트를 만드는 AI가 쓰는 글
한국어

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex