AI VIDEO BRIEFING
스탠퍼드 CS336 1강 정리 - 언어모델을 밑바닥부터 만드는 법과 BPE 토크나이저의 원리
스탠퍼드 CS336 첫 강의는 프런티어 모델을 직접 만들 수 없는 시대에도 왜 밑바닥 구현이 필요한지 설명한다. 효율성이라는 하나의 기준, 작은 규모 실험의 함정, 문자·바이트·단어 방식을 거쳐 BPE 토크나이저에 이르는 과정을 정리했다.

핵심 메시지
쉽게 이해하기
스탠퍼드 CS336은 언어모델을 데이터 수집부터 시스템, 모델링까지 전 과정을 직접 구현해보는 수업이다. 첫 강의를 맡은 퍼시 리앙 교수는 이 수업을 만든 이유를 "위기의식"이라는 말로 설명한다. 8년 전만 해도 연구자들이 모델을 직접 학습시켰고 6년 전에는 최소한 공개 모델을 내려받아 미세조정했지만, 지금은 상용 모델에 프롬프트를 넣는 것만으로 연구가 가능해졌다는 것이다.
강의진은 이런 추상화가 나쁘다고 말하지는 않는다. 다만 프로그래밍 언어나 운영체제와 달리 이 추상화는 새는 구멍이 많고, 데이터·시스템·모델을 함께 설계해야 풀리는 근본 연구가 남아 있다고 본다. 그래서 수업의 철학은 "이해하려면 만들어봐야 한다"로 정리된다.
문제는 언어모델이 산업화됐다는 점이다. 강의에서는 GPT-4가 소문상 1조 8천억 파라미터에 1억 달러의 학습 비용이 들었고, 어느 기업은 H100 20만 장 규모의 클러스터를 짓고 있으며 4년간 5천억 달러 이상이 투자된다는 이야기가 나온다. 게다가 GPT-4 기술 보고서는 경쟁 환경과 안전을 이유로 세부 사항을 공개하지 않겠다고 밝혔다. 프런티어 모델은 사실상 손이 닿지 않는 곳에 있는 셈이다.
그래서 강의진은 배울 수 있는 것과 없는 것을 셋으로 나눈다. 트랜스포머 구현이나 GPU 병렬화 같은 '작동 원리'는 가르칠 수 있고, 하드웨어에서 최대한을 짜내고 규모 확장을 진지하게 받아들이는 '사고방식'도 전할 수 있다. 반면 어떤 데이터와 구조가 좋은 모델을 만드는지에 대한 '직관'은 작은 규모의 답이 큰 규모에서 달라지기 때문에 부분적으로만 전할 수 있다고 솔직히 인정한다.
수업은 기초·시스템·스케일링 법칙·데이터·정렬의 다섯 단원으로 짜여 있고, 과제에는 뼈대 코드가 주어지지 않아 빈 파일에서 시작한다. 강의 후반부는 토크나이저로 넘어간다. 문자 단위는 흔한 글자와 드문 글자에 똑같이 어휘 공간을 배정해 낭비가 크고, 바이트 단위는 어휘가 256개로 단순하지만 문장이 너무 길어져 제곱으로 늘어나는 어텐션 비용을 감당하기 어렵다. 단어 단위는 새 단어가 나올 때마다 처리가 곤란해진다. BPE는 이 셋의 절충으로, 원문에서 가장 자주 붙어 나오는 두 토큰을 반복해 하나로 합치며 자주 쓰이는 덩어리에만 어휘를 배정한다.
주요 인사이트
- 강의진은 '쓰라린 교훈'이 흔히 오해된다고 지적한다. 규모만 부으면 된다는 뜻이 아니라 규모에서 작동하는 알고리즘이 중요하다는 뜻이며, 비용이 수억 달러 단위로 커질수록 낭비를 감당할 수 없기 때문에 효율성은 오히려 큰 규모에서 더 중요해진다.
- 작은 모델에서 얻은 감각이 큰 모델에서 뒤집힐 수 있다는 점이 구체적 수치로 제시된다. 작은 모델에서는 어텐션과 MLP의 연산량이 비슷하지만 1750억 파라미터 규모에서는 MLP가 압도하기 때문에, 작은 규모에서 어텐션만 최적화하면 엉뚱한 곳에 힘을 쓰는 셈이 된다.
- "인터넷으로 학습시킨다"는 표현이 말이 안 된다는 지적이 인상적이다. 데이터는 하늘에서 떨어지지 않고 능동적으로 수집해야 하며, 수집한 것도 HTML·PDF·디렉터리라서 텍스트로 바꾸는 손실 있는 변환과 필터링·중복 제거를 거쳐야 한다.
- 추론 비용이 학습 비용을 넘어서고 있다는 점도 짚는다. 학습은 한 번으로 끝나는 비용이지만 추론은 쓸 때마다 발생하므로, 사용자가 늘수록 추론 효율이 중요해진다. 프리필과 디코드의 성격 차이, 투기적 디코딩 같은 기법이 여기서 나온다.
- 정렬(alignment)의 위치도 효율성으로 설명된다. 정렬에 자원을 쓰면 더 작은 기반 모델로도 원하는 결과를 얻을 수 있어, 용도가 좁으면 작은 모델을 다듬는 쪽이 합리적이고 용도가 넓을 때만 큰 모델 학습이 대안 없는 선택이 된다.
자주 묻는 질문
이 수업을 들으면 프런티어 모델을 만들 수 있나요?
강의진은 좋은 출발점이지만 빠진 조각이 많다고 답한다. 수업에서 만드는 것은 작은 언어모델이며, 프런티어 수준까지 이어지려면 여러 강의가 더 필요하다고 본다.
토크나이저 없이 바이트만 다루면 안 되나요?
강의에서는 바이트 기반이 가장 우아하지만 압축률이 1이라 문장이 지나치게 길어진다고 설명한다. 어텐션 비용이 길이의 제곱으로 늘어나므로 현재 구조에서는 효율이 너무 나빠, 토크나이저 없는 방식은 유망하지만 아직 프런티어 규모까지 확장된 사례를 보지 못했다고 말한다.
친칠라 최적이라는 말은 무슨 뜻인가요?
주어진 연산 예산에서 모델 크기와 학습 토큰 수의 균형을 찾는 연구를 가리킨다. 강의에서는 파라미터 수에 대략 20을 곱한 만큼의 토큰으로 학습하라는 경험칙을 소개하며, 14억 파라미터 모델이면 280억 토큰이 기준이 된다고 예를 든다.
과제는 어떤 식으로 진행되나요?
다섯 개의 과제가 있고 뼈대 코드 없이 빈 파일에서 시작한다. 단위 테스트와 어댑터 인터페이스로 정확성은 확인할 수 있지만 함수 이름과 코드 구조는 스스로 정해야 하며, 일부 과제에는 정해진 예산 안에서 퍼플렉시티를 낮추는 리더보드가 붙는다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗