Глава 17 из 17 30 мин
Что дальше
Сравним модели курса на одинаковых примерах, разберём границы законов масштабирования и наметим собственные эксперименты — от токенизатора до дообучения.
В этой главе
- сравнить все модели курса на одной затравке и на одном незнакомом тексте
- понять, что отделяет Ростка от передовых моделей и почему дело не только в размере
- спланировать собственный эксперимент и знать, какие статьи читать дальше
В начале курса для продолжения текста нам хватало таблицы: 97 строк и 97 столбцов с частотами пар символов. Теперь за ответом Ростка стоят восемь блоков трансформера и 17 миллионов обученных параметров. Между этими двумя моделями — не один большой скачок, а несколько понятных решений: как представить текст, учесть контекст, измерить ошибку и изменить веса. Потом в главах 14–16 он вырос в Росток-2: 125 миллионов параметров, 9 миллиардов токенов веба, кода и команд, размышления перед ответом и Python под рукой. В последней главе сравним результаты этих решений и выберем, какой вопрос исследовать дальше.
Сначала дадим моделям одинаковое начало и посмотрим на продолжения. Затем сверим впечатления с измерениями: удачный рассказ ещё не делает одну модель лучше другой во всех задачах. От этого сравнения перейдём к большим моделям и к экспериментам, которые можно поставить на Ростке. Часть идей мы уже проверили; для остальных курс даёт код и отправную точку.
Весь сад
Вот все восемь моделей первой части курса — от буквенной биграммы из главы 1 до чат-модели из главы 12, а в конце ряда — чат Ростка-2 из главы 16. Модели первой части загружаются в ваш браузер, а Росток-2 отвечает с сервера курса, так что его 126 МБ скачивать не нужно. Дайте им одну затравку и разбудите. У всех одно зерно случайности и одинаковые настройки выборки: температура 0,8, top-p 0,95. Чат-модели получают ваш текст как сообщение и отвечают на него, все остальные просто его продолжают.
Читайте продолжения сверху вниз. Биграмма опирается только на последний символ, а сети из глав 4–5 — на три или восемь. Токенизация позволяет тому же числу позиций вместить несколько слов. Внимание даёт более гибкий способ обмениваться информацией между позициями внутри доступного окна; оно не делает окно бесконечным. Дополнительные блоки, данные и обучение улучшают продолжения. А чат-модель специально дообучена отвечать в роли ассистента, поэтому её результат стоит читать с учётом этого отличия.
Впечатления бывают обманчивы, поэтому вот тот же путь в числах. На одном и том же отложенном тексте, которого ни одна модель не видела при обучении, мы измерили среднее удивление каждой модели в натах на букву. Именно на букву, а не на токен: модели режут текст по-разному, буквенные делают прогноз на каждый символ, токенные — на каждый кусок, и честно сравнивать можно только удивление на букву.
Первая ступень, равномерная догадка, — это $\ln 97 \approx 4{,}57$ ната: модель, которая ничего не знает, выбирает из 97 символов. Подсчёт пар букв (глава 1) опускает удивление до 2,36, и каждая следующая идея срезает ещё немного. Перплексия на букву делает это осязаемым: биграмма сомневается так, будто выбирает примерно из одиннадцати букв, а последние ступени — меньше чем из двух. Там, где на лестнице видны ранние контрольные точки Ростка из главы 10, заметьте ещё одно: в начале обучения большая модель хуже маленьких, уже доучившихся, и вперёд её выводят только данные и шаги.
Все модели на этой лестнице делают одно и то же: предсказывают следующий кусок текста и расплачиваются за удивление. От ступени к ступени меняется другое — на что модели позволено смотреть, как она представляет увиденное и сколько она прочитала.
Законы масштабирования
Размер, количество данных и вычислительный бюджет связаны с качеством не случайным образом. В работе Scaling Laws for Neural Language Models (Каплан и соавторы, 2020) среднюю ошибку в широком диапазоне экспериментов удалось приближённо описать степенными зависимостями. При подходящих условиях увеличение масштаба давало предсказуемое улучшение. Это не обещание, что любое удвоение параметров одинаково уменьшит полную ошибку: результат зависит также от данных, объёма обучения и области, где формулу проверяли.
Чтобы сравнивать модели, нужна мера стоимости. Обучение стоит примерно
$$C \approx 6\,N\,D$$операций, где $N$ — число параметров, а $D$ — число токенов обучения. Откуда шестёрка?
Теперь практический вопрос: при бюджете $C$ что выгоднее — модель побольше и данных поменьше или модель поменьше и данных побольше? В 2022 году Джордан Хоффман с коллегами из DeepMind подогнали функцию потерь сразу по обеим переменным:
$$L(N, D) = E + \frac{A}{N^{\alpha}} + \frac{B}{D^{\beta}}$$Здесь $E$ — ошибка идеальной модели (в тексте есть неустранимая случайность), второе слагаемое — то, что модель теряет из-за малого размера, третье — из-за того, что мало прочитала. При фиксированном бюджете $N$ и $D$ тянут в разные стороны: модель больше — токенов меньше. Лучшая точка лежит в долине между ними. Вывод авторов — «правило Chinchilla»: растить модель и данные вместе, примерно по 20 токенов на параметр. Chinchilla на 70 миллиардов параметров, обученная на 1,4 триллиона токенов, обошла Gopher на 280 миллиардов, на который ушло столько же вычислений.
Выберите «Росток»: зелёная точка находится близко к минимуму нарисованной кривой. Это согласуется с ориентиром, которым мы пользовались: 330 млн / 17,3 млн ≈ 19 токенов на параметр. Но сама кривая получена из чужих экспериментов с другими данными; для нашего размера это экстраполяция, а не измеренный оптимум. Теперь выберите GPT-3: у него было меньше двух обучающих токенов на параметр. Работа о Chinchilla показала, что в исследованных условиях такой бюджет можно было распределить эффективнее, взяв меньшую модель и больше данных.
Теперь выберите «Росток-2»: 9 миллиардов токенов на 125 миллионов параметров, 72 токена на параметр. Его точка лежит рядом с минимумом кривой, на склоне со стороны модели поменьше: по обеим формулам минимум для его бюджета — около 190–215 миллионов параметров. Это сделано нарочно. Правило Chinchilla считает только цену обучения, а модель, которая будет отвечать многим людям или работать на телефоне, оплачивается снова за каждый написанный токен, поэтому бывает выгоднее учить модель поменьше, но дольше (Сардана и Франкл, 2023). Маленькие открытые модели заходят куда дальше: SmolLM2-135M, близкая к Ростку-2 по размеру, прочитала 2 триллиона токенов.
На бюджете Ростка формула советует 17,6 миллиона параметров — практически самого Ростка. Но взгляните на последний столбец: с этими константами рекомендуемое соотношение ползёт вверх по мере роста бюджета. Это один из поводов обращаться с подогнанными формулами осторожно.
Ваш вычислительный бюджет вырос в 100 раз. Что делать по правилу Chinchilla?
C ≈ 6·N·D, а правило держит D/N примерно постоянным. Тогда и N, и D растут как корень из C: в 100 раз больше вычислений — это примерно в 10 раз больше параметров и в 10 раз больше токенов.
От Ростка до передовых моделей
Сравним Росток с крупной моделью, для которой есть подробный технический отчёт: Llama 3.1 405B (Meta, 2024). Этот конкретный пример удобнее, чем быстро устаревающее сравнение с «самой большой моделью»: известны и архитектура, и масштабы её обучения.
| Росток | Llama 3.1 405B | разница | |
|---|---|---|---|
| Параметры | 17,3 млн | 405 млрд | ×23 400 |
| Токенов обучения | 330 млн | 15,6 трлн | ×47 000 |
| Вычисления, операций | 3,4·10¹⁶ | 3,8·10²⁵ | ×1,1 млрд |
| Контекст, токенов | 512 | 128K | ×256 |
| Словарь | 8 192 | 128K | ×16 |
| Железо | один ноутбук, 3 ч 41 мин | до 16 тыс. GPU H100 |
Разрыв в вычислениях — в миллиард раз. Но посмотрите, чего в таблице нет: архитектуры. Llama 3 — трансформер-декодер с RMSNorm, позициями-поворотами (RoPE) и слоем SwiGLU, совсем как Росток. Она предсказывает следующий токен и минимизирует кросс-энтропию, совсем как Росток. Различия начинаются там, где кончается наш курс. Вот главные направления — коротко.
Данные
На передовом масштабе данные — главное ремесло. Триллионы токенов берутся из интернета, книг, кода и научных статей, и большая часть работы — фильтрация: выкинуть повторы, спам и машинный мусор, оставить познавательное и хорошо написанное, уравновесить языки и темы. Код и математику добавляют сознательно: похоже, они помогают рассуждать. С каждым годом растёт доля синтетических данных — текстов, написанных другими моделями; наши TinyStories — ранний пример. Глава 9 — та же работа в масштабе ноутбука.
После предобучения
Базовая модель продолжает текст, а полезного помощника из неё делают потом. Сначала SFT на примерах хороших ответов (глава 12), затем обучение на предпочтениях: люди сравнивают пары ответов, и модель подталкивают к тем, что понравились больше, — через модель награды и обучение с подкреплением (RLHF, InstructGPT, 2022) или напрямую, функцией потерь по парам (DPO, 2023; см. заметку в главе 13). Отсюда вежливость, отказ от опасных просьб и привычка признавать неуверенность.
Рассуждения
Промежуточные шаги иногда помогают модели решить задачу, которую она не решает коротким ответом: такой подход изучали в работе о chain-of-thought (Вэй и соавторы, 2022). Другой путь — обучение с наградой за проверяемый результат, например за код, прошедший тесты. В DeepSeek-R1 (2025) исследовали, как такое обучение меняет стратегии решения; для версии R1 использовали также этапы с подготовленными примерами. Более длинное решение тратит больше вычислений при ответе, но само по себе не гарантирует правильности. И написанное объяснение не обязательно полностью отражает внутренние причины выбора ответа.
Длинный контекст
Контекст Ростка — 512 токенов, а в примере Llama 3.1 — 128 тысяч. Такое расширение затрагивает обучение и расход памяти. Методы вроде YaRN меняют работу позиционных кодировок; FlashAttention вычисляет внимание блоками, не сохраняя целиком матрицу $T \times T$; grouped-query attention уменьшает KV-кэш, разделяя ключи и значения между головами. Эти приёмы решают разные части задачи. В частности, FlashAttention сам по себе не отменяет квадратичное число пар в полном внимании и не обучает модель пользоваться далёким контекстом.
Смесь экспертов
Зачем задействовать все параметры на каждом токене? В слое «смеси экспертов» сеть прямого распространения делится на много «экспертов», а маленький маршрутизатор отправляет каждый токен к одному или нескольким из них (Шазир и др., 2017; Switch Transformer, 2021). Модель хранит много параметров, но на каждый токен тратит лишь часть: знаний помещается больше, а каждый токен обходится почти так же дёшево. Так устроены многие из крупнейших открытых моделей наших дней.
Зрение и слух
Мультимодальные модели получают не только текст. Один из способов добавить зрение — разбить изображение на фрагменты, обработать их визуальным кодировщиком и преобразовать полученные векторы в представление, совместимое с языковой моделью. CLIP (2021) — пример обучения совместимых представлений изображений и подписей. Звук требует своего способа кодирования. Дальше объединение может быть устроено по-разному: общая последовательность, перекрёстное внимание или другая связь модулей. Одной замены картинки на числа мало — совместной работе с этими представлениями тоже нужно учиться.
Инструменты и память
Чтобы ответить о текущей погоде, нужны свежие данные; для точного большого произведения полезен калькулятор. Языковая модель может сформировать вызов инструмента, программа выполнит его и вернёт результат в контекст. Такой подход исследовали, например, в Toolformer (2023). Поиск с последующей генерацией, RAG (2020), добавляет в запрос найденные документы. Это позволяет опираться на внешний источник, но не гарантирует правильность: можно найти не ту страницу или неверно использовать её содержание.
Как измерить модель
Ошибка на отложенном тексте измеряет качество предсказания этого текста. Чтобы проверить ответы на вопросы, нужны другие задания — например, бенчмарки с известными правильными ответами. В одном из вариантов модель оценивает каждое предложенное продолжение: складывает $\log p$ по его токенам и выбирает наибольшую сумму. Так можно проверять окончания бытовых сценок, как в HellaSwag. В MMLU собраны вопросы по 57 предметам; в зависимости от протокола оценивают, например, метки вариантов ответа. Формат запроса и способ подсчёта — часть определения теста, поэтому их важно указывать.
Устроим саду Ростка маленький экзамен такого рода: двенадцать вопросов уровня детской книжки, по четыре варианта, правильный всегда среди них.
Итоговый Росток, его чат-версия и базовая модель Ростка-2 (её экзаменует сервер) отвечают правильно на все двенадцать вопросов при любом способе подсчёта, четырёхблочная gpt-4 — на одиннадцать; способ подсчёта начинает менять результат у моделей поменьше. Попробуйте оба способа. Сумма $\log p$ даёт преимущество коротким вариантам: каждый лишний токен добавляет удивления. Деление на длину убирает этот перекос, но может внести обратный. Именно поэтому популярный lm-evaluation-harness показывает обе цифры. Вот тот же эффект в миниатюре — с «моделью» из пар слов, построенной по шести коротким предложениям:
По сумме длинный вариант оказывается последним с огромным отрывом, а в пересчёте на слово обгоняет «sand». «Правильного» способа нет: это выбор, который автор бенчмарка должен сделать и честно указать.
Заглянуть внутрь
Мы точно знаем, как Росток вычисляет: каждое умножение записано в model.py. Но знать вычисление — не то же самое, что его понимать. Почему эта голова внимания смотрит на предыдущий токен? Где хранится мысль «это история про собаку»? Область, которая задаёт такие вопросы, называется интерпретируемостью, и маленькие модели вроде Ростка для неё идеальны: их дёшево разбирать, и всё помещается на ноутбуке.
Двумя её инструментами вы уже пользовались. В главе 7 мы смотрели на карты внимания — куда смотрит каждый токен. В главе 8 логит-линза (nostalgebraist, 2020) позволила прочитать остаточный поток после каждого блока так, будто модели нужно ответить прямо там. А вот что есть ещё:
- Цепи. Элхейдж с коллегами (2021) показали, как разложить маленький трансформер на пути, по которым информация течёт от токена к токену, и нашли индукционные головы — пары голов, реализующие правило «если раньше за A шло B, после A снова предскажи B». Олссон с коллегами (2022) связали эти головы со способностью модели учиться на примерах прямо в контексте.
- Зонды. Обучите крошечный классификатор на остаточном потоке: может ли он по векторам понять, вопрос ли это, весел ли герой? Если может, информация там есть — хотя модель не обязательно ею пользуется.
- Разреженные автокодировщики. Нейрон редко означает что-то одно. Разреженный автокодировщик раскладывает остаточный поток на множество редко срабатывающих «признаков», и многие из них действительно удаётся истолковать (Брикен и др., 2023; Темплтон и др., 2024, — на модели промышленного размера).
- Вмешательства. Самая сильная проверка: изменить что-то внутри и посмотреть, что изменится снаружи. Выключить голову, подставить в остаточный поток вектор из другого текста — и измерить, как поменялся прогноз.
Эксперименты для начала
Лучший вход в исследования — маленький эксперимент, доведённый до конца. Вот несколько правил, которые сберегут вам недели. Меняйте одну вещь за раз. Фиксируйте зерно случайности, а для важных выводов делайте два-три запуска с разными зёрнами: разброс между ними и есть ваша мера шума. Сравнивайте запуски при равных вычислениях, а не при равном числе шагов. Начинайте с маленького бюджета, где запуск длится минуты, и масштабируйте только то, что сработало. Когда токенизаторы разные, меряйте ошибку на букву. И записывайте всё: настройки, кривые, чего вы ждали и что получилось.
Вот эксперименты, для которых хватит одного ноутбука и кода этого курса. Каждый — настоящий открытый вопрос в масштабе Ростка.
- Размер словаря. Постройте токенизаторы на 4 096 и 16 384 токена и обучите Ростка с каждым. Словарь побольше делает текст короче, но добавляет параметров в эмбеддинг и затрудняет выучивание редких токенов. Сравнивайте ошибку на букву.≈3,5 ч на запуск; сначала попробуйте быструю версию на 50 млн токенов
- Глубина против ширины. Разложите примерно одно и то же число параметров по-разному: 4 блока ширины 512, 8 блоков ширины 384 и 16 блоков ширины 256. Какая модель учится быстрее и какая приходит к меньшей ошибке?три запуска по ≈3,5 ч
- Свой закон масштабирования. Обучите модели пяти размеров, от ширины 128 до 512, каждую примерно на 20 токенах на параметр, и подгоните степенной закон к итоговым ошибкам. Ложится ли Росток на вашу прямую?≈13 ч в сумме, две трети из них — на самый большой размер
- Смесь данных. Обучите Ростка только на TinyStories, только на SODA и на полной смеси. Меряйте ошибку на каждом источнике отдельно и задайте получившимся чат-моделям одни и те же вопросы.три запуска; этап чата добавляет минуты
- Абляции. Убирайте по одной детали: QK-norm, RoPE (без явных поворотных кодировок позиции), общие веса входа и выхода, SwiGLU (замените его обычным MLP). Сколько даёт каждая деталь в таком масштабе?≈30 мин каждая на 50 млн токенов
- Muon против AdamW до конца. Мы сравнивали их на 10 млн токенов (глава 10). Сохранится ли преимущество Muon на полном запуске или сойдёт на нет?два полных запуска
- Дистилляция. Обучите маленького Ростка, 6 блоков ширины 256, по смеси правильных токенов текста и распределений вероятностей sprout-base (Хинтон и др., 2015). Обгонит ли ученик модель того же размера, учившуюся только на тексте?один запуск плюс прямые проходы учителя
- Буквы вместо токенов. Обучите Ростка на символах (словарь из 97) за те же вычисления. Насколько он хуже на букву и в чём именно ошибается?≈4× больше шагов на тот же текст
- Ранг адаптера и забывание. Обучите пиратский адаптер с рангами 1, 4, 16 и 64 и для каждого измерьте ошибку на пиратских данных и удивление обычным историям, как в таблице из главы 13.минуты на адаптер
- Охота на индукционную голову. Подайте Ростку случайную последовательность токенов, повторённую дважды, и найдите головы, которые на второй копии смотрят на токен, стоявший сразу после прошлого появления текущего.вообще без обучения
Планировщик оценивает время по формуле $6ND$ и скорости устройства. По умолчанию используется замер Ростка на M4 Pro. Для своей машины сначала проведите короткий запуск и возьмите скорость из поля tok_s журнала train.py. Оценка для другой формы модели будет приблизительной: размеры матриц, контекст, загрузка устройства и проверки влияют на время. Часы в списке выше — ориентиры для нашего оборудования, а не обещание для любого ноутбука.
В примере дистилляции ученик получает два обучающих сигнала. Один — обычная кросс-энтропия по настоящему следующему токену. Другой сравнивает всё его распределение с распределением учителя, смягчённым температурой $T$. Параметр mix задаёт долю второго сигнала. Здесь учитель и ученик используют один токенизатор и один словарь, поэтому их вероятности можно сравнивать позиция к позиции:
Множитель $T^2$ приблизительно компенсирует уменьшение градиентов мягкой части при повышении температуры; точное равенство масштабов для любых логитов он не гарантирует. В цикл обучения нужно добавить прямой проход замороженного учителя под torch.no_grad() и передать оба набора логитов этой функции. Учитель работает в режиме оценки, чтобы его ответы не менялись из-за обучающих механизмов вроде dropout.
Что почитать
Статьи — первоисточники этой области, и большинство читается легче, чем принято думать. Вот те, на которых стоит этот курс, по темам и с главой, где мы встретили каждую идею. Читать по порядку не нужно — начните с той, где речь о том, что удивило вас больше всего.
Основы
- 1948A Mathematical Theory of Communication, Клод Шеннон.Энтропия и удивление — и первые языковые модели: Шеннон порождал «английский» по статистике букв и слов, совсем как наша биграмма. Главы 1–2.
- 1986Learning representations by back-propagating errors, Румельхарт, Хинтон, Уильямс.Обратное распространение ошибки. Глава 4.
- 2003A Neural Probabilistic Language Model, Бенджио и др.Окно из слов, эмбеддинги, скрытый слой — наши MLP. Главы 4–5.
- 2013Efficient Estimation of Word Representations in Vector Space, Миколов и др.word2vec: смысл как геометрия. Глава 5.
- 2014Adam: A Method for Stochastic Optimization, Кингма, Ба.И вариант с раздельным затуханием весов: Decoupled Weight Decay Regularization, Лощилов, Хуттер (2017). Глава 10.
- 2016Neural Machine Translation of Rare Words with Subword Units, Зеннрих, Хэддоу, Бёрч.BPE для языковых моделей. Глава 6.
Трансформер
- 2014Neural Machine Translation by Jointly Learning to Align and Translate, Бахданау, Чо, Бенджио.Внимание для нейронного машинного перевода. Глава 7.
- 2015Deep Residual Learning for Image Recognition, Хэ и др.Остаточные связи. Глава 8.
- 2017Using the Output Embedding to Improve Language Models, Пресс, Вольф.Общие веса входа и выхода. Глава 8.
- 2017Attention Is All You Need, Васвани и др.Сам трансформер. Главы 7–8.
- 2019Root Mean Square Layer Normalization, Чжан, Зеннрих.RMSNorm. Глава 8.
- 2020GLU Variants Improve Transformer, Шазир.SwiGLU. Глава 8.
- 2021RoFormer: Enhanced Transformer with Rotary Position Embedding, Су и др.RoPE. Глава 8.
Языковые модели и масштаб
- 2018Improving Language Understanding by Generative Pre-Training, Рэдфорд и др.GPT: предобучение на тексте, потом настройка.
- 2019Language Models are Unsupervised Multitask Learners, Рэдфорд и др.GPT-2: одна модель, много задач без специального обучения.
- 2020Language Models are Few-Shot Learners, Браун и др.GPT-3 и обучение на примерах прямо в запросе.
- 2020Scaling Laws for Neural Language Models, Каплан и др.Степенные законы. Эта глава.
- 2022Training Compute-Optimal Large Language Models, Хоффман и др.Chinchilla и 20 токенов на параметр. Эта глава.
- 2023TinyStories: How Small Can Language Models Be and Still Speak Coherent English?, Элдан, Ли.Почему маленьким моделям подходят простые данные. Глава 9.
- 2024The Llama 3 Herd of Models, команда Llama, Meta.Рецепт передовой модели, описанный необычно подробно.
Обучение и генерация
- 2017Mixed Precision Training, Микевичюс и др.Обучение в 16-битных числах. Глава 10.
- 2019The Curious Case of Neural Text Degeneration, Хольцман и др.Почему жадный выбор зацикливается — и top-p. Глава 11.
- 2022FlashAttention, Дао и др.Внимание без матрицы T × T в памяти.
- 2024Muon: An optimizer for hidden layers in neural networks, Келлер Джордан и др. (пост в блоге).Оптимизатор, которым учили Ростка. Глава 10.
Дообучение и выравнивание
- 2015Distilling the Knowledge in a Neural Network, Хинтон, Виньялс, Дин.Дистилляция. Эта глава.
- 2021LoRA: Low-Rank Adaptation of Large Language Models, Ху и др.Глава 13.
- 2022Training language models to follow instructions with human feedback, Оуян и др.InstructGPT: SFT и RLHF. Главы 12–13.
- 2023Direct Preference Optimization, Рафаилов и др.Обучение на предпочтениях без обучения с подкреплением. Глава 13.
- 2023QLoRA: Efficient Finetuning of Quantized LLMs, Деттмерс и др.Дообучение больших моделей на одной карте. Глава 13.
За пределами Ростка
- 2017Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, Шазир и др.Смесь экспертов.
- 2020Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, Льюис и др.RAG.
- 2021Learning Transferable Visual Models From Natural Language Supervision, Рэдфорд и др.CLIP: картинки и слова в одном пространстве.
- 2022Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, Вэй и др.
- 2023Toolformer: Language Models Can Teach Themselves to Use Tools, Шик и др.
- 2025DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, DeepSeek-AI.Рассуждения, выученные из наград за верные ответы.
Оценка и интерпретируемость
- 2019HellaSwag: Can a Machine Really Finish Your Sentence?, Зеллерс и др.
- 2020Measuring Massive Multitask Language Understanding, Хендрикс и др.MMLU.
- 2020interpreting GPT: the logit lens, nostalgebraist (пост в блоге).Глава 8.
- 2021A Mathematical Framework for Transformer Circuits, Элхейдж и др.
- 2022In-context Learning and Induction Heads, Олссон и др.
- 2023Towards Monosemanticity: Decomposing Language Models With Dictionary Learning, Брикен и др.
- 2023Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena, Чжэн и др.
А если хочется ещё раз посмотреть, как модель собирают руками, но в другом темпе, — видеокурс Андрея Карпатого Neural Networks: Zero to Hero и его репозиторий nanoGPT идут дорогой, очень похожей на нашу.
В больших языковых моделях вы встретите многие знакомые части: токенизацию, внимание, предсказание следующего токена, оптимизацию и дообучение. Конкретные системы добавляют другие архитектуры, данные и инструменты. Росток даёт удобный масштаб, чтобы проверять отдельные идеи и учиться отличать результат эксперимента от красивого объяснения.
Росток сейчас
Мы дошли от подсчёта символов до небольшой разговорной модели. Росток по-прежнему ошибается и обучен главным образом английскому, но теперь его устройство можно разобрать по шагам: найти нужную матрицу в коде, проследить вычисление и проверить, как изменение влияет на результат. Понять назначение параметров — ещё не значит объяснить роль каждого выученного числа; это отдельная исследовательская задача.
В следующий раз, когда вы увидите, как ответ появляется токен за токеном, попробуйте мысленно восстановить знакомую цепочку: текст превращается в номера, номера — в векторы, блоки обрабатывают контекст, выходной слой задаёт оценки, а алгоритм декодирования выбирает продолжение. У большой системы могут быть поиск, инструменты и дополнительные этапы. Но для этой базовой цепочки у вас уже есть работающий пример, который можно открыть и изучить.
Поговорите с Ростком напоследок — любым из трёх его голосов. А потом откройте код курса, посадите своё семечко и посмотрите, что из него вырастет. Спасибо, что растили Ростка вместе с нами.