Лекция 1
От основ до архитектуры трансформера — и план создания модели с нуля
Добро пожаловать на первую лекцию нашего курса. Сегодня мы разберём, что такое большие языковые модели — от базовых определений до архитектуры трансформера и плана по созданию собственной LLM с нуля. Эта глава закладывает фундамент для всего курса: без понимания «зачем» и «как устроено» невозможно двигаться к реализации. Мы будем использовать PyTorch для практической части в последующих лекциях.
Сегодняшняя лекция состоит из трех блоков: что такое LLM, как они работают, и как мы будем строить свою модель. Обратите внимание на оглавление — оно поможет ориентироваться в материале. Мы движемся от общих концепций к конкретной архитектуре, а затем к плану реализации. Важно подчеркнуть: мы не просто изучаем теорию — к концу курса у нас будет работающая модель. Этот слайд стоит использовать как «карту» лекции, к которой можно возвращаться.
| Русский | English |
|---|---|
| Большая языковая модель (БЯМ) | Large Language Model (LLM) |
| Обработка естественного языка (ОЕЯ) | Natural Language Processing (NLP) |
| Искусственный интеллект (ИИ) | Artificial Intelligence (AI) |
| Машинное обучение (МО) | Machine Learning (ML) |
| Глубокое обучение | Deep Learning |
| Архитектура трансформера | Transformer Architecture |
| Механизм самовнимания | Self-Attention Mechanism |
| Предобучение | Pretraining |
| Дообучение | Fine-tuning |
| Предсказание следующего слова | Next-Word Prediction |
| Кодировщик / Декодировщик | Encoder / Decoder |
| Обучение без примеров (Zero-shot) | Zero-Shot Learning |
| Обучение с малым числом примеров (Few-shot) | Few-Shot Learning |
| Эмерджентное поведение | Emergent Behavior |
| Базовая (фундаментальная) модель | Foundation Model |
| Авторегрессионная модель | Autoregressive Model |
| Генеративный ИИ | Generative AI |
| Токен | Token |
Этот слайд — справочная таблица ключевых терминов с переводами русский ↔ английский. Зачем он нужен? В области машинного обучения большинство первоисточников — на английском, и важно знать оба варианта терминов. Обратите внимание на пары, которые могут вызвать путаницу: «дообучение» и «предобучение», «кодировщик» и «декодировщик». Не нужно заучивать всё сразу — термины закрепятся по мере изучения материала.
Раздел 1.1
Начинаем с фундаментального вопроса. Прежде чем строить что-либо, нужно понять, с чем мы работаем. В этом разделе мы дадим определение LLM и покажем их место среди других технологий искусственного интеллекта.
Нейронная сеть, предназначенная для понимания, генерации и ответа на текст, подобный человеческому — обученная на огромных объёмах текстовых данных.
Ключевое определение: LLM — это нейронная сеть, обученная на огромных объёмах текстовых данных. Разберем три пункта последовательно. Важный нюанс, который стоит подчеркнуть: когда мы говорим, что модель «понимает» текст, мы имеем в виду, что она способна обрабатывать и генерировать связный текст. Это не человеческое сознание и не настоящее понимание в философском смысле — это статистическая обработка паттернов языка. Слово «большая» относится как к размеру модели (миллиарды параметров), так и к объёму обучающих данных (сотни гигабайт текста). Именно масштаб отличает LLM от более ранних языковых моделей.
LLM — это разновидность генеративного ИИ — глубоких нейронных сетей, создающих новый контент (текст, изображения, медиа)
На этом слайде — визуальная диаграмма вложенности: Искусственный интеллект → Машинное обучение → Глубокое обучение → LLM. ИИ — самое широкое понятие, включающее любые системы, имитирующие интеллект. Машинное обучение — подмножество ИИ, где системы учатся на данных. Глубокое обучение использует многослойные нейронные сети. LLM — специализированные модели глубокого обучения для работы с языком. Важно заметить, что LLM — это не отдельная технология, а эволюционное развитие десятилетий исследований в области ИИ. Каждый следующий уровень строится на предыдущем.
Посмотрим на ключевое различие между традиционным машинным обучением и глубоким. Традиционное требует ручного извлечения признаков. Посмотрим конкретный пример: для задачи обнаружения спама в традиционном машинном обучении (МО) инженер вручную определяет признаки — количество триггерных слов, восклицательных знаков, процент заглавных букв. В глубоком обучении, модель сама находит значимые признаки в данных. Это принципиально меняет подход: вместо «я говорю модели, на что смотреть» мы переходим к «модель сама определяет, что важно». Это подводит нас к пониманию того, почему LLM так мощны — они обнаруживают паттерны, которые человек мог бы не заметить.
Раздел 1.2
Теперь, когда мы поняли, что такое LLM, давайте посмотрим, для чего они используются на практике. Этот раздел покажет широту возможностей и поможет понять, почему эта технология вызывает такой интерес.
Перевод
Машинный перевод между языками
Генерация текста
Художественные тексты, статьи, код
Чат-боты
ChatGPT, Gemini, виртуальные ассистенты
Анализ тональности
Понимание мнений и тона
Суммаризация
Сжатие объёмных текстов
Извлечение знаний
Медицина, право, специализированные области
LLM незаменимы для автоматизации практически любых задач, связанных с анализом и генерацией текста.
Тут показаны лишь шесть ключевых применений, среди которых мы видим: машинный перевод (перевод между языками), генерация текста (создание нового контента), чат-боты (диалоговые системы), анализ тональности (определение эмоциональной окраски), суммаризация (сжатие длинных текстов), поиск знаний (извлечение информации). Обратите внимание: все эти задачи раньше требовали отдельных специализированных моделей, а теперь одна LLM может решать их все. Это и есть «универсальность», которая делает LLM революционными. Наверняка, все вы уже используете языковые модели в повседневной жизни — ChatGPT, переводчики, и тд.
Специализированные LLM (например, BloombergGPT для финансов) могут превосходить универсальные LLM в конкретных задачах.
Пять аргументов, и каждый важен. Первый — понимание механики: нельзя эффективно использовать инструмент, не понимая, как он работает. Второй — доменная специализация: пример BloombergGPT показывает, что модель, обученная на финансовых данных, превосходит общие модели в финансовых задачах. Третий — приватность данных: некоторые данные нельзя отправлять во внешние API. Четвёртый — работа на устройстве: мобильные и встроенные системы требуют компактных моделей. Ну и Пятый — автономность: независимость от внешних сервисов и их ценовой политики. Подчеркнем: наш курс — именно про это. Мы не просто пользователи API, мы строим модель с нуля.
Раздел 1.3
Переходим к процессу. Это подводит нас к пониманию того, как именно создаются те модели, о которых мы только что говорили. Два ключевых этапа — предобучение и дообучение — составляют основу всего процесса.
На слайде — визуальный поток: сырой текст → предобучение → базовая модель → дообучение → целевая модель. Пройдемся по каждому этапу слева направо. Предобучение — это самый ресурсоёмкий этап: модель «читает» огромные объёмы текста и учится предсказывать следующее слово. Результат — базовая модель, которая «знает язык», но не умеет выполнять конкретные задачи. Дообучение адаптирует эту базу под конкретные нужды. Важная аналогия: предобучение — это как общее образование, а дообучение — специализация. Врач сначала изучает биологию вообще, а потом специализируется в кардиологии. Обратите внимание: предобучение — это самообучение с учителем (self-supervised learning), модель сама генерирует свои метки из структуры данных.
Обучение на парах инструкция–ответ
→ Персональные ассистенты, чат-боты
Обучение на парах текст–метка
→ Фильтры спама, анализ тональности
Инструктивное и классификационное — два разных подхода к дообучению. Инструктивное дообучение учит модель следовать инструкциям: «переведи текст», «напиши код», «объясни концепцию». Именно так создаются чат модели, например ChatGPT. Классификационное дообучение учит модель категоризировать: определять тональность (позитивная/негативная), классифицировать документы, выявлять спам. Важно понять разницу: инструктивное дообучение делает модель «универсальным помощником», а классификационное — «специалистом по сортировке». В нашем курсе мы рассмотрим оба подхода. Выбор зависит от конечной задачи.
Раздел 1.4
Теперь погружаемся в техническую часть. Трансформер — это архитектура нейронной сети, которая лежит в основе всех современных LLM. Без понимания трансформера невозможно понять, как работают GPT, BERT и другие модели.
Vaswani et al., 2017 — архитектура, лежащая в основе большинства современных LLM
Изначально разработан для машинного перевода (английский → немецкий/французский)
Историческая точка отсчёта — статья Vaswani и его коллег из Гугл в 2017 году. Название говорит само за себя: «Внимание — это всё, что вам нужно». Эта работа предложила механизм внимания как замену рекуррентным сетям и произвела революцию в NLP. Оригинальная архитектура состоит из двух частей: кодировщик (encoder) преобразует входной текст во внутреннее представление, декодировщик (decoder) генерирует выходной текст на основе этого представления. Важная деталь: оригинальный трансформер имел по 6 слоёв в кодировщике и декодировщике — сравните с 96 слоями в GPT-3. Масштабирование этой архитектуры и привело к созданию современных LLM.
Самовнимание позволяет модели оценивать важность различных слов относительно друг друга в последовательности.
Самовнимание (self-attention) — сердце трансформера. Разберем определение и три ключевых пункта. Суть механизма: при обработке каждого слова модель «смотрит» на все остальные слова в предложении и определяет, какие из них наиболее важны для понимания текущего слова. Например, в предложении «Кот сидел на коврике, потому что он устал» — модель должна понять, что «он» относится к «кот», а не к «коврику». Самовнимание позволяет устанавливать такие связи. Это принципиально отличается от рекуррентных сетей, которые обрабатывают слова последовательно и «забывают» начало длинных предложений. Трансформер видит весь контекст одновременно.
→ Классификация текста, анализ тональности, категоризация документов
→ Перевод, суммаризация, художественные тексты, генерация кода
Критически важное сравнение. BERT использует кодировщик — он «читает» текст в обоих направлениях и хорош для задач понимания (классификация, поиск ответов). GPT использует декодировщик — он «пишет» текст слева направо и хорош для генерации. Аналогия: BERT — это читатель, который понимает текст. GPT — это писатель, который создаёт текст. BERT видит слово и его окружение с обеих сторон. GPT видит только предшествующий контекст и предсказывает, что будет дальше. В нашем курсе мы будем строить модель на основе архитектуры GPT — декодировщик, которая доминируем во всех лучших LLM архитектурах.
Обобщает на задачи без каких-либо предварительных примеров
Обучается на минимальном количестве примеров во входных данных
Модели GPT могут выполнять задачи, для которых не были явно обучены — благодаря масштабному предобучению.
Zero-shot и few-shot learning — это способности, которые появляются у достаточно больших моделей. Zero-shot: модель выполняет задачу без единого примера — просто по инструкции. Few-shot: модель получает несколько примеров прямо в промпте и обобщает паттерн. Почему это важно? Потому что это означает, что большие модели не нужно дообучать для каждой новой задачи — достаточно правильно сформулировать запрос. Это демонстрирует, что при достаточном масштабе предобучения модель приобретает способности, которые не были явно заложены. Это подводит нас к концепции эмерджентного поведения, о которой мы поговорим позже.
Раздел 1.5
Данные — топливо для LLM. В этом разделе мы посмотрим, какие объёмы данных нужны для обучения модели масштаба GPT-3, и сколько это стоит. Цифры впечатляют.
| Набор данных | Описание | Токены | Доля |
|---|---|---|---|
| CommonCrawl | Данные веб-краулинга | 410B | 60% |
| WebText2 | Данные веб-краулинга | 19B | 22% |
| Books1 | Интернет-корпус книг | 12B | 8% |
| Books2 | Интернет-корпус книг | 55B | 8% |
| Wikipedia | Высококачественный текст | 3B | 3% |
Всего: ~499B доступных токенов · Модель обучена на 300B токенов · Только CommonCrawl ≈ 570 ГБ
На слайде — таблица с данными предобучения GPT-3. Обратите внимание на ключевые цифры: общий объём — 499 миллиардов токенов, а только CommonCrawl (данные, собранные из интернета) — около 570 ГБ текста. Важный нюанс: GPT-3 была обучена на 300 миллиардах из 499 доступных токенов — то есть не все данные были использованы одинаково. Некоторые источники (книги, Википедия) «просматривались» многократно, потому что считались более качественными. Это показывает, что не только количество, но и качество данных играет роль. Состав обучающей выборки напрямую влияет на поведение и «знания» модели.
Примерная стоимость облачных вычислений для предобучения GPT-3
Одна цифра — и она говорит о многом. Стоимость обучения GPT-3 составила примерно 4,6 миллиона долларов — только на вычислительные ресурсы. Это без учёта затрат на сбор данных, зарплаты исследователей, инфраструктуру. Зачем показывать эту цифру? Во-первых, чтобы объяснить, почему предобучение с нуля доступно только крупным компаниям (современные цифры на порядок больше). Во-вторых, чтобы подчеркнуть ценность дообучения: вместо того чтобы тратить миллионы, мы берём готовую базовую модель и адаптируем её за разумные деньги. В нашем курсе мы будем работать с моделями меньшего масштаба, но принципы те же. Понимание стоимости помогает принимать практические решения.
Раздел 1.6
Теперь, когда мы поняли общую архитектуру трансформера и масштаб данных, давайте подробно рассмотрим GPT — модель, которую мы будем реализовывать в нашем курсе.
На слайде — диаграмма архитектуры GPT. Обратите внимание: в отличие от оригинального трансформера, GPT использует только декодировщик. GPT-3 имеет 96 слоёв трансформера и 175 миллиардов параметров. Для сравнения: оригинальный трансформер 2017 года имел по 6 слоёв в кодировщике и декодировщике. Масштабирование от 6 до 96 слоёв — это и есть переход от «трансформера» к «большой языковой модели». Каждый слой содержит механизм самовнимания и нейронную сеть прямого распространения. Чем больше слоёв, тем более сложные паттерны языка модель может захватить.
Вся мощь GPT основана на одной простой задаче — предсказании следующего слова (токена). Это самообучение с учителем (self-supervised learning): модели не нужны размеченные данные, она сама создаёт себе «правильные ответы» из структуры текста. Каждое предложение автоматически становится обучающим примером: «Кот сидел на ___» — правильный ответ уже есть в тексте. Почему это революционно? Потому что это устраняет главное узкое место машинного обучения — необходимость в ручной разметке данных. Весь интернет становится обучающей выборкой. Именно поэтому LLM можно обучать на сотнях миллиардов токенов.
Каждый выходной результат становится частью входных данных для следующего предсказания — по одному слову за раз.
Четыре шага авторегрессии — покажите процесс пошагово. Модель получает начальный текст, предсказывает следующий токен, добавляет его к входу и повторяет. Каждый новый токен становится частью контекста для следующего предсказания. Это как снежный ком: начинаем с одного слова и постепенно строим целое предложение, абзац, текст. Важно подчеркнуть: модель не «знает», что она хочет сказать целиком — она принимает решение по одному токену за раз. Тем не менее результат выглядит связным и осмысленным. Именно этот итеративный процесс и называется авторегрессионной генерацией — каждый шаг зависит от всех предыдущих.
Один из самых интригующих аспектов LLM. Эмерджентное поведение — это способности, которые не были явно запрограммированы, но «возникли» из масштаба обучения. GPT обучен только предсказывать следующее слово, но при этом может переводить тексты, писать код, решать логические задачи. Никто не учил модель переводить — она «научилась» этому сама, потому что в обучающих данных были параллельные тексты. Это аналогично тому, как ребёнок, читая достаточно книг на двух языках, начинает интуитивно понимать связи между ними. Масштаб создаёт качественно новые способности.
Альтернативные архитектуры стремятся повысить вычислительную эффективность, но смогут ли они сравниться с LLM на базе трансформеров — вопрос открытый.
Важные терминологические уточнения. Первое: не все трансформеры — это LLM. Трансформеры используются и для компьютерного зрения (Vision Transformer, ViT), и для обработки аудио, и для работы с белковыми структурами. Второе: не все LLM — это трансформеры. Существуют языковые модели на основе рекуррентных (RNN, LSTM) и свёрточных (CNN) архитектур, хотя трансформеры сейчас доминируют. Третье: когда в повседневной речи говорят «LLM», обычно подразумевают именно трансформерные модели. Зачем эти уточнения? Чтобы аудитория точно понимала терминологию и не путала архитектуру (трансформер) с классом задач (языковое моделирование).
Раздел 1.7
Итак, давайте начинать переходить от теории к практике — а именно какой план мы будем реализовывать на протяжении курса. Это дорожная карта всего, что нас ждёт.
Подготовка данных и выборка, механизм внимания, архитектура LLM
Цикл обучения, оценка модели, загрузка предобученных весов
Модель классификации или персональный ассистент на размеченных данных
Три важных этапа. Первый — подготовка данных и реализация механизма внимания, второй — предобучение модели, третий — дообучение. Мы уже коснулись этих этапов немного на предыдущих слайдах. Подчеркнем: мы будем реализовывать всё с нуля на PyTorch. Это не курс по использованию API (это сильно проще) — мы напишем каждый компонент сами: токенизатор, механизм внимания, архитектуру модели, цикл обучения. К концу курса у каждого из вас будет полное понимание того, как работает LLM изнутри, а не только умение вызывать чужие модели.
Итак, основые моменты для закрепления: LLM — это нейронные сети, обученные на огромных данных; трансформер с механизмом самовнимания — основа архитектуры; предобучение + дообучение — двухэтапный процесс (в самой простой интерпретации обучения); GPT основан на предсказании следующего слова; масштаб порождает эмерджентное поведение.
Лекция 1 — Завершена
Далее: Лекция 2 — Работа с текстовыми данными
На следующей лекции мы перейдём к практической работе с текстовыми данными — токенизации и подготовке обучающей выборки. Спасибо за внимание.