본문으로 건너뛰기
Stanford Online조회 10

CS336: 처음부터 시작하는 언어 모델 학습 - 강의 1 (Stanford)

스탠포드 CS336 과정의 첫 강의로, 현대 언어 모델의 역사와 아키텍처, 그리고 효율적인 학습을 위한 토큰화 및 시스템 최적화의 핵심 원리를 다룬다.

챕터별 상세

00:05

강의 소개 및 목적

Percy Liang 교수는 연구자들이 모델의 기저 기술과 단절되는 문제를 지적하며 직접 구축을 통한 이해를 강조했다. 2016년 모델 직접 구현 시대에서 현재의 프롬프트 시대로 변화하며 추상화 수준은 높아졌으나, 근본적인 연구를 위해서는 전체 스택을 파악해야 한다. 이 강의는 '만들면서 이해한다'는 철학을 바탕으로 LLM의 모든 구성 요소를 밑바닥부터 다룬다.
04:55

현대 언어 모델의 산업화와 한계

GPT-4와 같은 최첨단 모델은 학습 비용이 수억 달러에 달하며 상세 아키텍처가 공개되지 않는 폐쇄적인 구조이다. 대학 환경에서 이러한 거대 모델을 그대로 복제하는 것은 불가능하므로, 작은 규모의 실험에서도 유효한 핵심 원리를 배우는 것이 중요하다. 특히 모델 규모에 따라 연산 비중(Attention vs MLP)이 달라지는 특성을 이해해야 한다.

모델 규모가 커질수록 MLP 레이어의 연산 비중이 급격히 증가하며, 작은 모델에서 발견되지 않는 창발적 능력이 특정 임계점에서 나타나기도 한다.

07:11

강의에서 배울 세 가지 지식

강의는 메커니즘(작동 원리), 마인드셋(하드웨어 최적화), 직관(데이터 및 모델링 결정)의 세 영역을 다룬다. Transformer의 구조와 병렬화 방식 같은 메커니즘은 규모와 상관없이 전이되는 지식이다. 효율성을 극대화하기 위해 하드웨어를 한계까지 활용하는 마인드셋을 갖추는 것이 이 과정의 핵심 목표이다.
09:16

효율성의 중요성과 비터 레슨(The Bitter Lesson)

Rich Sutton의 '비터 레슨'을 인용하며 연산 자원을 확장할 수 있는 알고리즘이 결국 승리한다는 점을 강조했다. 정확도는 효율성과 자원의 곱으로 결정되므로, 동일 자원 대비 성능을 높이는 효율성 개선이 필수적이다. 2012년부터 2019년 사이 ImageNet 학습에서 알고리즘 개선만으로 44배의 효율성 향상이 있었음이 확인됐다.

비터 레슨은 인간의 지식을 주입하는 방식보다 범용적인 연산 능력을 활용하는 방식이 장기적으로 더 우월하다는 AI 분야의 유명한 통찰이다.

11:40

언어 모델의 역사적 흐름

1950년대 Shannon의 엔트로피 측정부터 시작하여 2010년대 LSTM과 Transformer의 등장까지의 계보를 정리했다. 2017년 Transformer 아키텍처의 등장이 현대 LLM의 기점이 되었으며, 이후 BERT와 GPT 시리즈를 거쳐 스케일링의 시대로 진입했다. 최근에는 Llama와 같은 고성능 오픈 웨이트 모델들이 등장하며 생태계가 확장되고 있다.
17:35

언어 모델 정의의 변화

언어 모델의 정의는 단순 파인튜닝 대상(BERT)에서 프롬프트 대응 모델(GPT-3), 대화형 모델(ChatGPT), 그리고 자율적 에이전트로 진화했다. 하지만 Attention 메커니즘, 커널 최적화 같은 근본적인 기술 요소는 변하지 않았다. 현재는 더 긴 컨텍스트와 추론 효율성이 더욱 중요해진 시점이다.
19:30

강의 운영 방식 및 과제 안내

총 5개의 과제를 통해 토큰화, 아키텍처, 시스템 최적화, 스케일링 법칙, 데이터 큐레이션, 정렬(Alignment)을 직접 구현한다. 과제는 스캐폴딩 코드 없이 유닛 테스트만 제공하여 학생들이 밑바닥부터 코딩하도록 유도한다. Modal 플랫폼을 통해 실제 GPU 자원을 활용한 벤치마킹과 리더보드 경쟁도 진행된다.
25:01

AI 정책 및 에이전트 활용 가이드

코딩 에이전트가 과제를 모두 풀 수 있는 시대이므로, 학습을 위해 에이전트 사용 시 특정 프롬프트(AGENTS.md)를 강제한다. 이 프롬프트는 AI가 정답을 바로 주지 않고 교육적인 힌트만 제공하도록 설정되어 있다. 기술을 도구로 쓰되, 스스로의 구현 능력을 기르는 것이 본 과정의 핵심이다.
28:08

토큰화(Tokenization)의 개념

토큰화는 원시 텍스트(Unicode)를 모델이 처리할 수 있는 정수 시퀀스로 변환하는 과정이다. 단순 문자 단위는 시퀀스가 너무 길어지고, 단어 단위는 미등록 단어(OOV) 문제를 일으킨다. 따라서 바이트 단위와 단어 단위의 장점을 결합한 하위 단어(Subword) 토큰화가 표준으로 사용된다.
30:20

BPE(Byte Pair Encoding) 알고리즘

BPE는 가장 자주 나타나는 바이트 쌍을 반복적으로 병합하여 새로운 토큰을 생성하는 데이터 기반 알고리즘이다. 빈번한 시퀀스는 하나의 토큰으로 압축하고, 희귀한 시퀀스는 여러 토큰으로 쪼개어 표현한다. 이를 통해 고정된 어휘 사전 크기 내에서 텍스트 압축률을 높이고 연산 효율을 개선할 수 있다.

GPT-2부터 현대의 Llama 3까지 대부분의 LLM이 BPE 또는 그 변형을 토큰화 기법으로 채택하고 있다.

32:45

토큰화의 효율성 지표

토큰화 성능은 '압축비(Compression Ratio)'로 측정하며, 이는 바이트 수를 토큰 수로 나눈 값이다. 압축비가 높을수록 동일한 컨텍스트 길이 내에 더 많은 정보를 담을 수 있어 Attention 연산 비용이 절감된다. 하지만 어휘 사전이 너무 커지면 임베딩 레이어의 파라미터가 비대해지는 트레이드오프가 존재한다.
35:00

Transformer 아키텍처의 진화

오리지널 Transformer 이후 활성화 함수(ReLU -> SwiGLU), 정규화 위치(Pre-norm), 위치 인코딩(RoPE) 등 다양한 개선이 이루어졌다. 특히 연산 효율을 위해 GQA(Grouped Query Attention)나 Flash Attention 같은 기법들이 필수적으로 도입되고 있다. 최근에는 MoE(Mixture of Experts)를 통해 파라미터 수는 늘리되 활성 연산량은 유지하는 방식이 대세이다.

Flash Attention은 메모리 계층 구조를 활용해 Attention 연산 속도를 획기적으로 높인 기법이다.

40:05

시스템 최적화와 병렬화

모델이 GPU 메모리보다 커짐에 따라 데이터 병렬화, 텐서 병렬화, 파이프라인 병렬화 등 다양한 전략이 필요하다. GPU 내부에서는 메모리 대역폭 한계를 극복하기 위해 커널 퓨전(Kernel Fusion)을 통해 데이터 이동을 최소화해야 한다. 과제 2에서는 Triton을 사용해 직접 고성능 커널을 작성하는 실습을 진행한다.

커널 퓨전은 여러 연산을 하나의 GPU 커널로 합쳐 중간 결과값을 메인 메모리에 썼다 읽는 과정을 생략하는 최적화 기법이다.

python
def train_bpe(string, num_merges):
    indices = list(map(int, string.encode("utf-8")))
    for i in range(num_merges):
        counts = count_adjacent_pairs(indices)
        pair = max(counts, key=counts.get)
        new_index = 256 + i
        indices = merge(indices, pair, new_index)
    return indices

가장 빈번한 바이트 쌍을 찾아 병합하며 BPE 토큰화 사전을 학습하는 핵심 로직이다.

45:30

스케일링 법칙(Scaling Laws)의 실전 적용

한정된 컴퓨팅 예산 내에서 최적의 모델 크기와 데이터 양을 결정하는 것이 스케일링 법칙의 핵심이다. Chinchilla 연구에 따르면 모델 파라미터 1개당 약 20개의 토큰을 학습시키는 것이 연산 효율 측면에서 최적이다. 과제 3에서는 작은 모델들의 학습 결과로부터 거대 모델의 성능을 예측하는 회귀 분석을 실습한다.
50:15

데이터 큐레이션과 품질 관리

LLM의 성능은 데이터의 양보다 질에 의해 결정되므로 정교한 필터링과 중복 제거(Deduplication)가 필수적이다. 웹 크롤링 데이터에서 저품질 텍스트를 제거하기 위해 분류기를 학습시키고, MinHash 등을 사용해 유사 문서를 제거한다. 과제 4에서는 수 테라바이트의 원시 데이터에서 고품질 학습 데이터를 추출하는 파이프라인을 구축한다.
55:40

정렬(Alignment) 및 사후 학습

사전 학습된 모델을 인간의 의도에 맞게 조정하기 위해 RLHF, DPO 등의 기법을 적용한다. 최근에는 PPO보다 구현이 단순한 DPO(Direct Preference Optimization)나 연산 효율이 높은 GRPO가 주목받고 있다. 마지막 과제에서는 이러한 알고리즘을 직접 구현하여 모델의 대화 능력을 개선한다.

용어 해설

바이트 페어 인코딩(BPE)
텍스트를 토큰으로 분할할 때 가장 빈번하게 등장하는 바이트 쌍을 반복적으로 병합하여 어휘 사전을 구축하는 알고리즘이다. 문자 단위와 단어 단위의 중간 형태를 취해 미등록 단어 문제를 해결하고 압축 효율을 높인다. 현대 LLM의 표준 토큰화 기법으로 자리 잡았다.
스케일링 법칙(Scaling Laws)
모델의 크기, 데이터셋의 규모, 학습에 투입되는 컴퓨팅 자원이 증가함에 따라 모델의 성능(Loss)이 예측 가능한 방식으로 개선된다는 법칙이다. 이를 통해 작은 규모의 실험으로 거대 모델의 성능을 사전에 예측하고 자원을 최적 배분할 수 있다.
전문가 혼합(MoE)
전체 파라미터를 모두 사용하는 대신 입력 데이터에 따라 일부 전문가(Expert) 네트워크만 활성화하여 연산 효율을 극대화하는 아키텍처이다. 모델의 용량은 키우면서도 실제 추론에 필요한 연산량은 낮게 유지할 수 있어 대규모 모델 구축에 필수적이다.
퍼플렉서티(Perplexity)
언어 모델이 다음 단어를 얼마나 잘 예측하는지를 나타내는 지표로, 확률 분포의 혼란도를 의미한다. 값이 낮을수록 모델이 텍스트를 더 정확하게 예측하고 있음을 나타내며, 모델 학습 과정에서 주요 성능 평가 척도로 사용된다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 15.수집 2026. 04. 15.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.