Стенфордский университет представил обновленный курс CS336 «Языковые модели с нуля» (Language Modeling from Scratch) сезона весны 2025 года. Профессора Перси Лян (Percy Liang) и Татсу Хашимото (Tatsu Hashimoto) ставят перед студентами амбициозную задачу: пройти путь от написания базового токенизатора до развертывания систем выравнивания (alignment), чтобы вернуть академическому сообществу понимание того, как на самом деле работают современные ИИ-гиганты.
🧠 Философия курса: борьба с «текучими абстракциями» 1:37
Перси Лян утверждает, что современное ИИ-сообщество находится в состоянии кризиса: исследователи все больше отрываются от понимания базовых технологий . Если восемь лет назад разработчики сами писали код моделей, а шесть лет назад — хотя бы скачивали веса BERT для тонкой настройки, то сегодня многие ограничиваются лишь промптингом закрытых проприетарных моделей через API .
По мнению Ляна, такие абстракции являются «текучими» (leaky abstractions) — в отличие от языков программирования или операционных систем, в случае с LLM исследователь не понимает, что происходит за фасадом «строка на входе — строка на выходе» . Для проведения фундаментальных исследований необходимо «вскрыть стек» и заново научиться проектировать данные, системы и архитектуры в единой связке .
В курсе выделяют три типа знаний:
- Механика: как устроен трансформер и как параллелизм моделей эффективно использует GPU .
- Мышление: умение выжимать максимум из «железа» и серьезное отношение к масштабированию (scaling mindset), которое, по словам Ляна, первой применила OpenAI .
- Интуиция: понимание того, какие решения в данных ведут к успеху. Этому сложнее всего научить, так как архитектуры, работающие на малых масштабах, могут быть неэффективны на больших .
📉 Масштабирование и «горький урок» эффективности 8:41
Обсуждая «Горький урок» (The Bitter Lesson) Ричарда Саттона, Перси Лян подчеркивает: это не значит, что алгоритмы не важны, а имеет значение только масштаб . Напротив, по мнению Ляна, важны именно «алгоритмы в масштабе». На больших объемах неэффективность обходится слишком дорого.
Ключевые факты об эффективности:
- Исследование OpenAI 2020 года показало, что с 2012 по 2019 год алгоритмическая эффективность при обучении ImageNet выросла в 44 раза .
- Этот рост происходит быстрее, чем предсказывает закон Мура .
- Если не вкладываться в алгоритмы, стоимость обучения модели той же точности была бы в 44 раза выше .
Лян отмечает, что для GPT-4, по слухам, потребовалось $100 млн и 1,8 триллиона параметров . Поскольку детали обучения закрыты по соображениям конкуренции и безопасности , сообщество должно опираться на открытые наработки (например, от DeepSeek, Meta или Alibaba), чтобы восстановить лучшие практики индустрии .
🏗 Пять столпов создания языковой модели 26:08
Курс CS336 структурирован вокруг пяти ключевых этапов (pillars), которые студенты реализуют самостоятельно.
1. Основы (Basics) 26:53
На этом этапе создается полный пайплайн. Студенты пишут код токенизатора, архитектуру трансформера и цикл обучения. Перси Лян подчеркивает, что с 2017 года оригинальный трансформер оброс множеством улучшений:
- Функции активации: переход от ReLU к swiGLU .
- Нормализация: использование RMSNorm вместо LayerNorm и изменение её положения в слоях .
- Позиционное кодирование: внедрение роторных эмбеддингов (RoPE) .
- Внимание: использование Grouped-Query Attention (GQA) для борьбы с квадратичным ростом вычислительной сложности .
2. Системная оптимизация (Systems) 33:07
Упор делается на Triton (язык для написания кастомных GPU-кернелов от OpenAI) . Студенты изучают:
- Минимизацию перемещения данных: Лян приводит аналогию, где память — это склад, а вычислитель — фабрика; главная проблема — стоимость логистики между ними .
- Параллелизм: Data Parallelism и Tensor Parallelism для распределения обучения на кластеры GPU .
- Инференс: методы ускорения генерации, такие как спекулятивное декодирование (использование маленькой модели для предсказания токенов, которые затем проверяет большая модель) .
3. Законы масштабирования (Scaling Laws) 39:59
Студенты учатся предсказывать гиперпараметры и потери на больших масштабах, основываясь на малых экспериментах. Основной ориентир — оптимальность по Чинчилле (Chinchilla optimal). По словам Ляна, эмпирическое правило гласит: на каждый параметр модели должно приходиться примерно 20 токенов данных для эффективного обучения .
4. Данные (Data) 43:53
«Данные не падают с неба», — напоминает Лян . Процесс превращения сырого дампа Common Crawl в качественный датасет включает:
- Извлечение текста из HTML/PDF (процесс с потерями) .
- Фильтрацию мусора и вредоносного контента с помощью классификаторов .
- Дедупликацию данных на уровне корпуса .
5. Выравнивание (Alignment) 49:37
Базовая модель умеет только предсказывать следующий токен. Для создания полезного ассистента применяется Alignment:
- SFT (Supervised Fine-Tuning): обучение на парах «инструкция — ответ». Лян упоминает исследование, согласно которому даже 1000 качественных примеров достаточно, чтобы модель начала следовать инструкциям .
- RLHF (Reinforcement Learning from Human Feedback): использование методов DPO (Direct Preference Optimization) и GRPO (Group Relative Preference Optimization), популяризированного DeepSeek, для улучшения ответов через систему предпочтений .
🔤 Глубокое погружение в токенизацию 59:41
Токенизация — это фундамент, преобразующий строки в последовательности целых чисел . Профессор Лян разбирает эволюцию подходов:
- Посимвольный (Character-based): огромный словарь (если брать Unicode), неэффективное использование памяти .
- Побайтовый (Byte-based): компактный словарь (256 значений), но очень длинные последовательности, что «убивает» производительность трансформера из-за квадратичного внимания .
- Пословный (Word-based): проблема с редкими и новыми словами (токен OOV/UNK), бесконечный рост словаря .
Byte-Pair Encoding (BPE) стал золотым стандартом благодаря GPT-2 . Алгоритм, созданный Филиппом Гейджем еще в 1994 году для сжатия данных, был адаптирован для NLP . Его суть в последовательном слиянии наиболее часто встречающихся пар байтов/токенов в один новый токен . Это позволяет адаптивно выделять место в словаре для частых комбинаций символов, сохраняя при этом способность собрать любое редкое слово из базовых байтов .
🏁 Итоги и логистика 18:21
Курс CS336 славится своей экстремальной нагрузкой. По отзывам студентов прошлого года, только первое домашнее задание по объему работы сопоставимо со всеми пятью заданиями курса CS224N вместе взятыми . Студенты пишут код в «пустых файлах» без готовых каркасов, самостоятельно принимая решения по дизайну софта .
Для вычислений используется кластер из GPU H100, предоставленный компанией Together AI . Профессора подчеркивают, что главная цель — научить студентов строить лучшие модели в условиях ограниченного бюджета (compute constrained regime), что сегодня актуально для любого исследователя вне стен Big Tech .