---
title: "스탠퍼드가 공개한 ‘언어 모델 바닥부터 만들기’ 코스"
published: 2026-06-01T14:10:32.000Z
canonical: https://jeff.news/article/3589
---
# 스탠퍼드가 공개한 ‘언어 모델 바닥부터 만들기’ 코스

스탠퍼드 CS336은 토크나이저, 트랜스포머, 옵티마이저부터 분산 학습, 데이터 정제, 정렬 학습까지 언어 모델을 직접 구현하게 만드는 강의다. 단순히 모델을 써보는 수업이 아니라, 실제 사전학습 파이프라인을 작게나마 끝까지 밟아보는 구성이라 실무 개발자에게도 꽤 빡센 로드맵으로 볼 만하다.

- 스탠퍼드 CS336은 이름 그대로 언어 모델을 ‘바닥부터’ 만드는 코스임
  - 토크나이저, 트랜스포머 모델 구조, 옵티마이저를 직접 구현해서 표준 언어 모델을 학습시키는 게 첫 과제
  - 그러니까 챗봇 응용 만들기가 아니라, 모델이 돌아가는 최소 부품을 직접 조립하는 쪽에 가까움

- 과제 흐름이 꽤 현실적인 사전학습 파이프라인을 따라감
  - 1번 과제는 기본기임. 토크나이저, 모델, 옵티마이저를 구현하고 작은 언어 모델을 학습시킴
  - 2번 과제는 시스템 쪽으로 넘어감. 1번 모델과 레이어를 프로파일링·벤치마킹하고, 트라이톤으로 플래시어텐션2를 직접 구현함
  - 거기서 끝이 아니라 메모리 효율적인 분산 학습 버전까지 만들어야 함. 이쯤 되면 장난감 수업은 아님

```mermaid
sequenceDiagram
    participant 데이터
    participant 토크나이저
    participant 트랜스포머
    participant 학습시스템
    participant 정렬단계
    데이터->>토크나이저: 원문을 토큰으로 변환
    토크나이저->>트랜스포머: 학습 가능한 입력 생성
    트랜스포머->>학습시스템: 프로파일링과 분산 학습 최적화
    학습시스템->>데이터: 커먼 크롤 정제와 중복 제거 반영
    학습시스템->>정렬단계: 지도 미세조정과 강화학습 적용
```

- 3번 과제는 모델을 키우는 감각을 다룸
  - 트랜스포머 각 컴포넌트가 무슨 역할을 하는지 이해하는 게 목표
  - 학습 응용 프로그래밍 인터페이스를 호출해서 스케일링 법칙을 맞추고, 모델 확장 계획을 세우게 함
  - 요즘 모델 크기 얘기할 때 자주 나오는 ‘얼마나 키우면 돈값 하냐’ 문제를 수업 과제로 다루는 셈

- 4번 과제는 데이터임. 이게 은근 핵심임
  - 커먼 크롤 원본 덤프를 바로 쓰는 게 아니라, 사전학습에 쓸 수 있는 데이터로 변환해야 함
  - 필터링과 중복 제거를 수행해서 모델 성능을 개선하는 작업도 포함됨
  - 모델 구조만 멋져도 데이터가 구리면 답이 없다는 걸 과제로 박아두는 구성임

- 5번 과제는 정렬과 추론 강화학습까지 감
  - 수학 문제를 풀 때 추론하도록 언어 모델을 학습시키기 위해 지도 미세조정과 강화학습을 적용함
  - 선택 파트로는 직접 선호 최적화 같은 안전 정렬 방법도 구현하고 적용함
  - 요즘 대형 언어 모델 논문에서 자주 보이는 ‘추론 능력’과 ‘정렬’을 학부·대학원 과제 스타일로 쪼개놓은 느낌임

> [!IMPORTANT]
> 이 코스의 포인트는 모델을 호출하는 법이 아니라, 모델 학습의 병목이 토크나이저·어텐션·분산 학습·데이터 정제·정렬 중 어디에서 생기는지 직접 밟아보게 만드는 데 있음.

- 집에서 따라 하는 사람을 위한 그래픽 처리 장치 비용 가이드도 현실적임
  - 2026년 3월 28일 기준 단일 B200 그래픽 처리 장치 공개 가격을 비교함
  - 모달은 시간당 6.25달러이고 매달 30달러 무료 크레딧을 제공한다고 안내함
  - 람다 랩스는 시간당 6.69달러, 런팟은 4.99달러, 네비어스는 5.50달러이며 선점형은 3.05달러임
  - 투게더는 시간당 7.49달러지만 최소 8개 그래픽 처리 장치부터 시작하고, 장기 약정이면 더 싸지는 구조임

- 비용 아끼는 팁도 꽤 개발자답게 적혀 있음
  - 구현의 정확성은 먼저 중앙 처리 장치에서 디버깅하라고 권장함
  - 학습 실행이나 그래픽 처리 장치 연산 벤치마크가 필요한 순간에만 그래픽 처리 장치를 쓰라는 식임
  - 작은 버그 하나 때문에 비싼 그래픽 처리 장치 시간을 태우지 말라는 아주 현실적인 조언임

- 명예 규정도 요즘 분위기를 제대로 반영함
  - 챗지피티 같은 대규모 언어 모델에 낮은 수준의 프로그래밍 질문이나 고수준 개념 질문을 하는 건 허용됨
  - 하지만 문제를 직접 풀게 하는 건 금지됨
  - 커서 탭이나 깃허브 코파일럿 같은 인공지능 자동완성은 끄는 걸 강하게 권장함. 자동완성이 깊은 학습을 방해한다고 봤다는 점이 흥미로움

---
## 기술 맥락

- 이 코스가 특이한 건 언어 모델을 하나의 라이브러리 호출로 보지 않고, 학습 파이프라인 전체로 쪼개서 다룬다는 점이에요. 토크나이저부터 옵티마이저까지 직접 구현해야 하기 때문에, 모델 품질이 어느 한 군데서만 결정되지 않는다는 걸 알 수밖에 없거든요.

- 플래시어텐션2를 트라이톤으로 직접 구현하게 하는 것도 꽤 의도적이에요. 어텐션은 트랜스포머에서 비용이 크게 튀는 부분이라, 수학을 아는 것만으로는 부족하고 그래픽 처리 장치 메모리 접근과 커널 최적화까지 봐야 해요.

- 커먼 크롤 데이터를 전처리하는 과제가 들어간 것도 중요해요. 실제 사전학습에서는 모델 구조보다 데이터 필터링과 중복 제거가 성능에 크게 영향을 주는 경우가 많고, 이 수업은 그 지점을 그냥 말로 설명하지 않고 과제로 밀어붙여요.

- 마지막에 지도 미세조정, 강화학습, 직접 선호 최적화까지 이어지는 흐름은 요즘 언어 모델 개발의 후반부 작업을 압축해서 보여줘요. 모델이 다음 토큰을 잘 맞히는 것과, 사람이 원하는 방식으로 추론하고 답하는 건 다른 문제라서요.

## 핵심 포인트

- 토크나이저, 모델 구조, 옵티마이저를 직접 구현해 최소 언어 모델을 학습시킴
- 트라이톤으로 플래시어텐션2를 직접 구현하고 메모리 효율적인 분산 학습 코드까지 다룸
- 커먼 크롤 데이터를 전처리하고 필터링·중복 제거로 사전학습 데이터 품질을 개선함
- 수학 문제 풀이를 대상으로 지도 미세조정과 강화학습, 선택적으로 직접 선호 최적화까지 적용함
- 집에서 따라 할 수 있도록 단일 B200 그래픽 처리 장치 기준 클라우드 가격까지 비교함

## 인사이트

요즘 언어 모델 공부가 대부분 ‘모델 호출 잘하기’로 흐르는데, 이 코스는 반대로 밑바닥 구현을 강제로 밟게 한다. 한국 개발자 입장에선 연구자가 아니어도 모델 학습 비용, 병목, 데이터 품질 감각을 잡는 데 꽤 좋은 커리큘럼이다.
