• 언어 모델은 현대 NLP 애플리케이션의 기반이며, 하나의 범용 시스템으로 다양한 하위 작업을 다루는 새 패러다임을 연다
  • 이 과정은 사전학습용 데이터 수집·정제, Transformer 구축, 학습, 배포 전 평가까지 언어 모델 개발 전 과정을 직접 구현하게 함
  • 과제는 토크나이저·모델 구조·옵티마이저 구현에서 시작해 GPU 최적화, FlashAttention2의 Triton 구현, 분산 학습 코드까지 확장함
  • 수강에는 Python과 소프트웨어 엔지니어링 숙련도, PyTorch, 메모리 계층 같은 시스템 개념, 미적분·선형대수·확률통계·머신러닝 지식이 필요함
  • 5유닛의 구현 중심 수업으로, 기존 코드 참조와 LLM 직접 풀이를 제한하고 CPU 디버깅 후 GPU 학습·벤치마크를 권장함

과정의 목표와 범위

  • 언어 모델은 현대 자연어 처리(NLP) 애플리케이션의 초석이며, 하나의 범용 시스템으로 여러 하위 작업을 처리하는 새 패러다임을 연다
  • AI, ML, NLP 분야가 계속 성장하면서 과학자와 엔지니어 모두에게 언어 모델에 대한 깊은 이해가 중요해진다
  • 운영체제 수업이 운영체제 전체를 처음부터 만드는 방식에서 영감을 받아, 학생이 직접 언어 모델을 개발하는 전 과정을 따른다
  • 다루는 범위는 사전학습 데이터 수집과 정제, Transformer 모델 구성, 모델 학습, 배포 전 평가까지 이어진다

요구 역량

  • 대부분의 과제는 Python으로 진행하며, 다른 AI 수업보다 최소한의 스캐폴딩만 제공한다
  • 작성해야 하는 코드량은 다른 수업보다 최소 한 자릿수 규모 이상 많아, Python과 소프트웨어 엔지니어링 숙련도가 매우 중요하다
  • 신경망 언어 모델을 여러 머신의 GPU에서 빠르고 효율적으로 실행하는 작업이 큰 비중을 차지한다
  • PyTorch에 대한 강한 친숙도와 메모리 계층 같은 기본 시스템 개념을 기대한다
  • 행렬·벡터 표기와 연산, 확률·가우시안 분포·평균·표준편차, 머신러닝과 딥러닝 기초를 편하게 다룰 수 있어야 한다
  • 5유닛 수업이며 구현 비중이 매우 높아 충분한 시간을 배정해야 한다

과제 구성

  • Assignment 1 Basics는 표준 Transformer 언어 모델 학습에 필요한 토크나이저, 모델 아키텍처, 옵티마이저를 구현하고 최소 언어 모델을 학습한다
  • Assignment 2 Systems는 Assignment 1의 모델과 레이어를 고급 도구로 프로파일링·벤치마킹하고, FlashAttention2를 자체 Triton 구현으로 최적화하며, 메모리 효율적인 분산 학습 코드를 만든다
  • Assignment 3 Scaling은 Transformer 각 구성 요소의 기능을 이해하고, 학습 API에 질의해 모델 스케일링 예측을 위한 scaling law를 맞춘다
  • Assignment 4 Data는 원시 Common Crawl 덤프를 사용 가능한 사전학습 데이터로 변환하고, 필터링과 중복 제거로 모델 성능을 개선한다
  • Assignment 5 Alignment and Reasoning RL은 수학 문제 해결에서 추론하도록 LM을 학습시키기 위해 지도 파인튜닝과 강화학습을 적용한다
  • Assignment 5의 Optional Part 2는 DPO 같은 안전 정렬 방법을 구현하고 적용한다

GPU 컴퓨트와 비용

  • 집에서 따라가는 경우 클라우드 제공자의 GPU 컴퓨트를 사용해 과제를 완료할 수 있다
  • 2026년 3월 28일 기준 단일 B200 GPU 공개 가격은 Modal $6.25/시간, Lambda Labs $6.69/시간, RunPod $4.99/시간, Nebius $5.50/시간 또는 선점형 $3.05/시간, Together $7.49/시간이다
  • Modal은 월 $30 무료 컴퓨트를 제공하며, 실제 컴퓨트에 대해서만 과금하고 로컬 개발과 대규모 GPU 실험 전환을 단순하게 만든다
  • 비용 절감과 편의를 위해 구현의 정확성은 먼저 CPU에서 디버깅하고, 학습 실행이나 GPU 연산 벤치마크에는 과제에서 권장하는 수의 GPU를 사용하라고 권장한다

수업 운영과 제출 규칙

  • 강의는 월·수 3:00–4:20pm Skilling Auditorium에서 진행하며, 녹화본은 YouTube playlist에 제공한다
  • 모든 수업 관련 질문은 공개 Slack 채널에서 해야 하며, 모든 공지도 Slack에서 이뤄진다
  • 모든 과제는 마감일까지 Gradescope로 제출하며, 이메일 제출은 받지 않는다
  • 마감 전까지 원하는 만큼 다시 제출할 수 있고, 마지막 제출물만 채점한다
  • 부분 제출은 제출하지 않는 것보다 낫다
  • 학생당 6일의 late day를 사용할 수 있으며, late day 1일은 마감을 24시간 연장한다
  • 과제당 최대 3일의 late day를 사용할 수 있다
  • 채점에서 객관적 오류가 있다고 판단하면 성적 공개 후 3일 안에 Gradescope로 재채점 요청을 낼 수 있다

협업과 AI 도구 정책

  • 스터디 그룹은 허용하지만, 각 학생은 자신의 과제를 이해하고 직접 완료해야 하며 학생별로 하나의 과제를 제출해야 한다
  • 그룹으로 작업했다면 과제 상단에 스터디 그룹 구성원의 이름을 적어야 한다
  • ChatGPT 같은 LLM 프롬프트는 저수준 프로그래밍 질문이나 언어 모델에 대한 고수준 개념 질문에는 허용한다
  • LLM을 직접 사용해 문제를 푸는 것은 금지한다
  • 과제를 수행할 때 Cursor Tab, GitHub CoPilot 같은 AI 자동완성은 비활성화하라고 강하게 권장하며, 함수명 자동완성 같은 비AI 자동완성은 허용한다
  • 수업 자료는 자체 구현에 필요한 내용을 담기 때문에, 과제 핸드아웃에서 별도로 허용하지 않는 한 온라인에 있는 기존 구현 코드를 보면 안 된다