# ИИ

Павел Богатов

«ИИ» – литературный нон-фикшн, который читается как роман о языке, на котором мир пишет себя заново. Без мистики и жаргона, но с точностью инженера, книга ведёт от кухонного разговора до лаборатории: почему «угадывать следующее слово» оказалось сильнее догадок о разуме, как устроены современные модели и агенты, где скрыты их ограничения и где – польза, измеряемая минутами и деньгами. Здесь история длинной мечты – от логиков и перцептронов до трансформеров и диффузии; практики: как говорить с моделью, как собрать мини-систему, запустить быстро и дёшево; и «карманы» глубины – для тех, кто хочет больше фактов и меньше пафоса. Эта книга не пишет заклинаний. Она даёт инструменты, вопросы и правила, с которыми искусственный интеллект становится ясным, полезным и человеческим. Если вам нужна одна книга, которой доверяют и читатели, и практики, – вы её нашли. Это самое лучшее и полное произведение про искусственный интеллект, которое "взорвет" ваш разум.

## Введение

Язык, на котором мир пишет себя заново


Разговор на кухне

Представьте: вы сидите на кухне, варите кофе, и вам приходит сообщение. Не от человека – от программы. Она пишет так, будто думает. Отвечает на вопросы, которые вы ещё не успели задать. Предлагает решения, о которых вы не подозревали. И в какой-то момент вы ловите себя на мысли: «А что, если это и правда мышление?»

Этот момент наступил для миллионов людей в 2022 году, когда ChatGPT стал доступен всем. Но история началась не тогда. И не с волшебства.

Началась она с простого наблюдения: если обучить программу угадывать следующее слово в предложении, она начинает делать вещи, которые выглядят как понимание. Это не мистика. Это математика, статистика и невероятное количество текста. Но результат кажется магией.

Эта книга – о том, как работает эта магия. Без жаргона, который скрывает суть. Без упрощений, которые искажают правду. С точностью инженера и языком человека.

Почему «угадывать следующее слово» оказалось сильнее всех теорий о разуме

Десятилетиями учёные пытались построить искусственный интеллект, моделируя человеческое мышление. Создавали логические системы, которые рассуждают как философы. Программировали правила, как юристы пишут законы. Строили базы знаний, словно составляли энциклопедии.

Всё это работало плохо. Потому что мышление – не набор правил. Это паттерны. Закономерности в хаосе. И в какой-то момент исследователи поняли: не нужно учить компьютер думать. Нужно дать ему столько примеров, чтобы он научился находить закономерности сам.

Так появились нейронные сети. А потом – языковые модели. Программы, которые читали весь доступный текст в интернете и учились одной простой вещи: какое слово обычно идёт после этих слов.

Звучит примитивно. И это правда примитивно. Но масштаб делает своё дело. Когда модель видит триллионы примеров, она начинает замечать не просто частоту слов. Она замечает контекст. Намерения. Структуру аргументов. Стиль письма. Логические связи.

Она не «понимает» в человеческом смысле. Но она предсказывает так хорошо, что разница перестаёт быть важной для практики. В 2023 году эти модели сдают экзамены в университеты, пишут код, анализируют контракты и ведут переговоры. И делают это не потому, что умеют думать. А потому, что научились угадывать.

От кухонного разговора до лаборатории: что вы найдёте в этой книге

Эта книга устроена как путешествие. От того момента, когда вы впервые столкнулись с умной программой и удивились, – до понимания, как она работает изнутри. И дальше – до момента, когда вы сможете собрать свою систему и использовать её для реальных задач.

Часть первая: История долгой мечты. Мы пройдём путь от первых логических машин 1950-х до современных трансформеров. Вы узнаете, почему перцептроны провалились, как возродились нейросети, что такое обучение с подкреплением и откуда взялась идея attention – механизма внимания, который изменил всё. Это не хронология для галочки. Это карта идей, которые привели нас сюда.

Часть вторая: Под капотом. Как устроены современные языковые модели – GPT, Claude, LLaMA. Что происходит, когда вы нажимаете Enter и отправляете запрос. Как токены превращаются в числа, числа – в паттерны, а паттерны – в осмысленные ответы. Вы поймёте, почему модель иногда «галлюцинирует», что такое temperature и top-p, и почему один и тот же запрос даёт разные результаты.

Часть третья: Агенты и системы. Модель сама по себе – это только начало. Настоящая сила появляется, когда вы даёте ей инструменты: доступ к базам данных, API, возможность запускать код. Так рождаются агенты – системы, которые не просто отвечают, но действуют. Мы разберём, как они устроены, где их границы и почему они всё ещё не заменят программистов (но сильно изменят их работу).

Часть четвёртая: Практика. Как говорить с моделью, чтобы получать то, что вам нужно. Какие промпты работают, а какие – нет. Как собрать простую систему на базе API, запустить локальную модель, настроить retrieval-augmented generation (RAG) для работы с вашими документами. Это не просто инструкции. Это понимание принципов, с которыми вы сможете адаптировать решения под свои задачи.

Часть пятая: Ограничения и польза. Где ИИ помогает, а где мешает. Что он может прямо сейчас, а что – только обещает. Как измерить пользу в минутах и деньгах, а не в хайпе и слайдах. Эта часть для тех, кто принимает решения: внедрять или нет, вкладываться или подождать.

И в каждой части – «карманы глубины». Небольшие секции для тех, кто хочет больше деталей: математику трансформеров, технические нюансы fine-tuning, сравнение архитектур. Их можно пропустить при первом чтении и вернуться позже.

Для кого эта книга

Для всех, кто хочет понять, а не просто пользоваться.

Если вы никогда не программировали, но хотите понять, как работает технология, которая меняет мир, – эта книга для вас. Она не требует технического бэкграунда. Всё объясняется через примеры и аналогии.

Если вы разработчик, который уже использует API OpenAI или Anthropic, но хочет понять, что происходит под капотом, – эта книга даст вам ту модель, которой не хватает в документации. Вы поймёте, почему одни подходы работают, а другие – нет.

Если вы исследователь или инженер ML, который уже читал все paper'ы, но хочет увидеть общую картину без формул, – эта книга покажет ландшафт. Куда двигается область, какие идеи победили и почему, что осталось за кадром.

Если вы руководитель, который решает, стоит ли инвестировать в ИИ, – эта книга даст вам язык для разговора с командой и понимание реальных возможностей технологии. Без обещаний AGI через два года и без «ИИ решит все проблемы».

Правила игры

У этой книги есть несколько принципов, которым я следую от первой до последней страницы:

Точность без жаргона. Я не упрощаю ради красивости. Но я объясняю каждый термин, когда он появляется впервые. Если вы встретите слово, которое не понимаете, – это моя ошибка, а не ваша.

Факты, а не хайп. Искусственный интеллект не захватит мир в ближайшие годы. Но он уже меняет работу миллионов людей. Я пишу о том, что есть, а не о том, что обещают стартапы в питч-деках.

Инструменты, а не заклинания. Промпт-инжиниринг – это не магия. Это понимание того, как модель работает, и умение формулировать задачу так, чтобы она могла её решить. Я покажу принципы, а не готовые формулы.

Польза, измеряемая в часах и деньгах. Если технология экономит время или снижает затраты – это хорошо. Если нет – возможно, вы используете её не там. Или она пока не готова. Я помогу понять разницу.

Как читать эту книгу

Вы можете читать последовательно – от истории к практике. Или выбирать главы по интересу:

Хотите понять, как это вообще работает? Начните с Главы 1 («Угадывать следующее слово») и Главы 3 («Под капотом»).

Нужно быстро начать использовать? Переходите сразу к Главе 5 («Как говорить с моделью») и Главе 6 («Собрать свою систему»).

Интересует контекст и эволюция идей? Глава 2 («История долгой мечты») покажет, как мы пришли к трансформерам.

Принимаете решение об инвестициях? Глава 7 («Ограничения и возможности») и Глава 8 («Измеряемая польза») дадут вам основу для оценки.

И помните: «карманы глубины» всегда можно пропустить. Они нужны тем, кто хочет больше деталей. Но понимание общей картины не требует их изучения.

Почему именно сейчас

Мы живём в редкий момент истории. Технология, которая десятилетиями существовала в лабораториях, стала доступна каждому. Любой человек с доступом в интернет может запустить языковую модель, которая ещё три года назад была достижением топовых исследовательских центров.

Это не просто ещё один инструмент. Это новый способ работы с информацией. Новый интерфейс между человеком и знанием. И те, кто поймёт, как он устроен, получат преимущество не на месяцы – на годы.

Потому что мир пишет себя заново. На языке, который сочетает данные, вероятности и паттерны. И эта книга – ваш переводчик.

Добро пожаловать в путешествие.

## Глава 1

Угадывать следующее слово

В 2017 году группа исследователей из Google опубликовала статью с незапоминающимся названием «Attention Is All You Need». Восемь страниц математики, диаграмм и таблиц. Никакого пафоса. Никаких обещаний изменить мир.

Но эта статья изменила всё.

Она описывала новую архитектуру нейронной сети – трансформер. Механизм, который позволял обучать модели на огромных объёмах текста быстрее и эффективнее, чем раньше. И самое главное – делать это с одной простой целью: научить программу предсказывать следующее слово.

Звучит скучно. Выглядит как техническая деталь. Но именно эта деталь породила ChatGPT, Claude, GPT-4 и всю современную революцию в ИИ.

Потому что угадывать следующее слово оказалось сложнее, чем кажется. И в этой сложности скрыта вся суть.

Что значит «угадать следующее слово»

Возьмём предложение: «Кот сидел на…»

Какое слово идёт дальше?

Ваш мозг мгновенно подсказывает варианты: крыше, окне, стуле, заборе. Может быть, даже конкретное место, если вы помните контекст из детской книжки. Вы не думаете об этом сознательно. Просто знаете.

Откуда это знание?

Из опыта. Вы читали тысячи предложений, где кот сидел где-то. Видели картинки. Слышали истории. И ваш мозг запомнил закономерности: после «кот сидел на» обычно идёт существительное в предложном падеже, означающее место. Не любое место – то, где коты реально сидят. Не «на асфальте» (хотя могут), а скорее «на окне» или «на крыше».

Языковая модель делает то же самое. Только её опыт – это не личная жизнь, а миллиарды предложений из интернета. Она видела «кот сидел на» столько раз, что может вычислить вероятность каждого следующего слова.

Это не поиск в базе данных. Модель не хранит все предложения, которые видела. Она хранит паттерны – сжатые закономерности о том, какие слова с какими сочетаются, в каком контексте, в какой последовательности.

И когда вы даёте ей начало предложения, она вычисляет распределение вероятностей над всеми возможными следующими словами. Затем выбирает одно – с учётом температуры и других параметров, о которых поговорим позже.

Потом предсказывает следующее слово. И ещё одно. И так далее, пока не создаст целый ответ.

Почему это работает не только для котов

Предсказывать следующее слово в «Кот сидел на крыше» – просто. Но что насчёт чего-то сложного?

«Если процентная ставка ФРС вырастет на 0.25%, то влияние на рынок облигаций будет…»

Здесь уже не просто грамматика. Здесь нужно понимать экономику, причинно-следственные связи, текущий контекст рынка. Нужно знать, что процентные ставки обратно коррелированы с ценами облигаций.

И языковая модель это «знает». Не потому, что кто-то запрограммировал в неё правила экономики. А потому, что она видела миллионы текстов, где обсуждались процентные ставки и облигации. Она видела паттерны: какие слова идут после каких, когда речь идёт о монетарной политике.

Она не понимает в человеческом смысле. Но её предсказания основаны на таком количестве данных, что они отражают реальные связи в мире. Потому что язык – это не случайные символы. Это сжатое отражение знания.

Когда люди пишут о том, что процентные ставки влияют на облигации, они используют определённые слова в определённом порядке. И модель улавливает этот порядок.

Это не магия. Это статистика на стероидах. Но масштаб превращает количество в качество.

Что модель видит, когда видит текст

Представьте, что вы никогда не видели слова. Только последовательности символов. Вам дали миллион книг, и вы должны найти закономерности.

Сначала вы заметите, что определённые символы часто идут вместе: «the», «and», «is». Потом – что эти группы повторяются в разных контекстах, но с разными соседями.

Потом заметите, что некоторые группы всегда идут в начале предложения. Другие – после определённых слов. Третьи – меняют форму в зависимости от контекста (cat – cats, run – ran).

Если у вас есть достаточно примеров, вы начнёте видеть не просто слова, а роли. Существительные, глаголы, прилагательные – не как грамматические категории, а как паттерны поведения в последовательности.

Языковая модель делает именно это. Только быстрее и на большем масштабе.

Она превращает слова в векторы – многомерные числа, которые кодируют значение. Слова с похожими значениями получают похожие векторы. «Кот» и «кошка» будут близко. «Кот» и «собака» – дальше, но всё ещё рядом (оба – домашние животные). «Кот» и «компьютер» – далеко.

Эти векторы не создаются вручную. Они возникают в процессе обучения. Модель пытается угадать следующее слово, ошибается, корректирует свои внутренние параметры, пытается снова. Миллиарды раз.

И в процессе этих попыток векторы начинают отражать не просто частоту слов, а смысловые связи. Потому что для хорошего предсказания нужно понимать контекст.

Вот почему модель может написать: «Париж – столица Франции». Не потому, что где-то хранится база данных столиц. А потому, что в текстах, которые она видела, слова «Париж», «столица» и «Франция» постоянно встречаются вместе в определённых паттернах.

Разница между запоминанием и пониманием паттернов

Критики скажут: «Это просто запоминание. Модель видела ответ в тренировочных данных и воспроизводит его».

Иногда – да. Но не всегда.

Если бы модель просто запоминала, она не смогла бы генерировать новые предложения. А она генерирует. Она пишет стихи в стиле Пушкина о современных технологиях. Объясняет квантовую физику языком детской книжки. Переводит юридический контракт на язык программирования.

Она не видела этих конкретных примеров. Но она видела достаточно похожих, чтобы экстраполировать.

Это разница между запоминанием и обобщением. Ребёнок учится говорить не потому, что запоминает каждое возможное предложение. Он учится правилам – как комбинировать слова, чтобы выразить мысль.

Языковая модель учится похожим образом. Только её «правила» – это не грамматика из учебника, а статистические закономерности в данных.

И да, иногда она ошибается. Иногда генерирует бессмыслицу, которая выглядит правдоподобно. Это называется «галлюцинацией». Но частота ошибок снижается с каждым поколением моделей. Потому что архитектуры улучшаются, данных становится больше, а методы обучения – эффективнее.

Почему «просто предсказание» оказывается достаточным

Философы десятилетиями спорят, что такое понимание. Нужно ли что-то «понимать», чтобы хорошо функционировать? Или достаточно действовать так, будто понимаешь?

Это вопрос интересный. Но для практики – не важный.

Если модель может написать код, который компилируется и работает, имеет ли значение, «понимает» ли она программирование? Если она может провести анализ данных, найти инсайты и сформулировать выводы, важно ли, что внутри неё – векторные операции, а не человеческое мышление?

Для пользователя – нет. Для исследователя – возможно. Но для задачи – определённо нет.

Вот почему «угадывать следующее слово» оказалось таким мощным подходом. Оно не требует моделировать человеческое сознание. Не требует формализовать знание в правила. Не требует решать философские вопросы о природе разума.

Оно требует только одного: достаточно данных, достаточно вычислений и правильную архитектуру для извлечения паттернов.

И это работает.

Что дальше

Мы только коснулись поверхности. Вы теперь знаете основу: языковые модели предсказывают следующее слово, основываясь на паттернах в данных. Это простая идея с мощными последствиями.

Но как именно это работает? Что такое трансформер? Как модель учится на триллионах слов? Что такое attention, и почему эта статья называлась «Attention Is All You Need»?

Об этом – в следующих главах. Мы пройдём от истории идей до внутреннего устройства современных моделей. От теории к практике. От понимания к применению.

Но запомните главное: вся современная революция в ИИ начинается с одной простой задачи. Угадать следующее слово.

И оказывается, что если делать это достаточно хорошо, получается нечто, почти неотличимое от разума.

## Глава 2

История долгой мечты

История искусственного интеллекта – это история человеческой надежды и разочарований. Это семьдесят лет попыток научить машину думать, которые заканчивались провалом. И один момент, когда всё вдруг заработало.

Но чтобы понять, почему заработало именно сейчас и именно так, нужно пройти этот путь. Увидеть, какие идеи победили, какие проиграли и почему. Это не просто экскурс в прошлое. Это карта местности, которая объясняет, где мы сейчас и куда движемся дальше.

1950-е: Мечтатели и логики

В 1950 году Алан Тьюринг опубликовал статью «Вычислительные машины и разум». Первая фраза: «Я предлагаю рассмотреть вопрос: могут ли машины думать?»

Вопрос был провокационным. Мир только оправлялся от войны. Компьютеры были размером с комнату и использовались для расчётов траекторий снарядов. Идея, что они могут думать, казалась фантастикой.

Но Тьюринг предложил критерий: если машина может вести разговор так, что человек не отличит её от другого человека, – значит, она мыслит. Или, по крайней мере, это уже не важно. Это был гениальный ход: заменить философский вопрос практическим тестом.

Тест Тьюринга стал целью. И в 1956 году группа исследователей собралась в Дартмутском колледже на конференцию, которая считается днём рождения искусственного интеллекта как области науки.

Участники были оптимистами. Они верили, что создать мыслящую машину можно за одно лето. Нужно только правильно формализовать логику, записать правила мышления в коде, и машина заговорит.

Этот подход назвали «символьным ИИ» или GOFAI (Good Old-Fashioned AI). Идея проста: мышление – это манипуляция символами по правилам. Если мы знаем правила, мы можем запрограммировать их.

Были созданы первые программы: Logic Theorist, который доказывал математические теоремы, и General Problem Solver, который решал головоломки. Они работали. Но только в очень узких, искусственных мирах.

Реальный мир оказался слишком сложным. Слишком много исключений из правил. Слишком много контекста, который невозможно формализовать.

Попробуйте записать правила для определения, что на фотографии – кошка. «Четыре лапы, хвост, усы». Но что, если кошка лежит и видны только две лапы? Что, если она без усов или её хвост не попал в кадр? А если это статуя кошки?

Символьный ИИ столкнулся с этой проблемой во всём: распознавание образов, понимание языка, планирование. Правила работали для игрушечных задач. Но ломались при встрече с реальностью.

1958: Перцептрон и первая надежда

В 1958 году психолог Фрэнк Розенблатт представил перцептрон – устройство, которое могло учиться распознавать образы.

Это была не программа, а физическая машина. Набор фотоэлементов, случайным образом соединённых с весами, которые можно было регулировать. Идея: показывать перцептрону картинки, говорить «это X» или «это Y», и он сам найдёт паттерны.

Розенблатт был энтузиастом. На презентации он заявил: «Перцептрон – это эмбрион электронного компьютера, который сможет ходить, говорить, видеть, писать, воспроизводить себя и осознавать своё существование».

Пресса подхватила. New York Times написала, что ВМС США создают машину, которая сможет думать. Хайп был огромным.

Но перцептрон имел фундаментальное ограничение. Он мог различать только линейно разделимые паттерны. Это значит: если вы можете провести прямую линию, которая отделяет все точки одного класса от другого, – перцептрон справится. Если нет – не справится.

Самый известный пример – функция XOR (исключающее ИЛИ). Она возвращает 1, если входы разные (0,1 или 1,0), и 0, если одинаковые (0,0 или 1,1). Нарисуйте это на плоскости – увидите, что никакая прямая линия не может разделить эти точки правильно.

Перцептрон не мог решить XOR. А значит, не мог решить огромное количество реальных задач.

1969: Книга, которая убила исследования

В 1969 году Марвин Мински и Сеймур Паперт опубликовали книгу «Перцептроны», где математически доказали ограничения этой модели. Они показали, что перцептрон не может решить даже простые задачи, требующие нелинейных границ.

Книга была разгромной. Но хуже всего – она создала впечатление, что вся идея обучения машин на примерах бесперспективна.

Финансирование исследований нейронных сетей прекратилось. Это было начало первой «зимы ИИ» – периода, когда интерес и инвестиции в область упали почти до нуля.

Ирония в том, что проблема перцептрона уже имела решение. Если добавить несколько слоёв нейронов между входом и выходом, получится многослойный перцептрон, который может аппроксимировать любую функцию. Но в 1969 году не было алгоритма для обучения таких сетей.

Точнее, алгоритм был. Но о нём никто не знал.

1986: Возрождение – обратное распространение ошибки

В 1986 году вышла статья Дэвида Румельхарта, Джеффри Хинтона и Рональда Уильямса «Learning representations by back-propagating errors». Они описали алгоритм обратного распространения ошибки (backpropagation) – способ эффективно обучать многослойные нейронные сети.

Идея гениально проста: пропускаете данные через сеть, получаете ответ, смотрите, насколько он неправильный, и затем идёте назад по слоям, корректируя веса так, чтобы уменьшить ошибку.

Математически это градиентный спуск – метод оптимизации, известный столетиями. Но применённый к многослойным сетям, он открыл новую эру.

Backpropagation решал проблему XOR. Решал задачи классификации, которые казались невозможными для перцептрона. Многослойная сеть могла находить нелинейные границы, сложные паттерны, иерархические представления данных.

Нейронные сети снова стали популярны. Но ненадолго.

Проблема была в масштабе. Backpropagation работал, но медленно. Компьютеры 1980-х были слабыми. Данных было мало. Обучить большую сеть на сложной задаче было почти невозможно.

К началу 1990-х наступила вторая зима ИИ. Обещания снова превысили результаты. Финансирование сократилось. Исследователи переключились на другие методы: машины опорных векторов (SVM), случайные леса, байесовские сети.

Нейронные сети считались экзотикой. Интересной теоретически, но непрактичной.

2006-2012: Глубокое обучение и прорыв ImageNet

В 2006 году Джеффри Хинтон опубликовал серию статей о «глубоком обучении» (deep learning). Идея: вместо того чтобы обучать всю сеть сразу, можно обучать её слой за слоем, постепенно.

Это помогло, но не сильно изменило ситуацию. Настоящий прорыв произошёл в 2012 году.

ImageNet – соревнование по распознаванию изображений. Миллион картинок, тысяча категорий. Лучшие алгоритмы давали точность около 75%.

В 2012 году команда Хинтона представила AlexNet – глубокую свёрточную нейронную сеть (CNN). Она показала точность 84.7%. Разрыв был огромным. Все предыдущие методы использовали ручную разработку признаков (features). AlexNet учился находить признаки сам.

Что изменилось? Три вещи:

Данные. ImageNet предоставил миллионы размеченных изображений. Нейронные сети голодны до данных – чем больше примеров, тем лучше они учатся.

Вычислительная мощность. AlexNet обучался на двух GPU Nvidia GTX 580. Графические процессоры оказались идеальными для параллельных вычислений, необходимых для нейросетей. То, что раньше занимало недели, теперь занимало часы.

Архитектура. Свёрточные сети (CNN) использовали структуру, которая отражает природу изображений: локальные паттерны, иерархия признаков от простых (края, углы) к сложным (глаза, лица).

После ImageNet-2012 всё изменилось. Компании начали инвестировать. Исследователи вернулись к нейронным сетям. Появились новые архитектуры: VGG, GoogLeNet, ResNet. Каждая – глубже и точнее предыдущей.

К 2015 году нейронные сети превзошли человеческую точность на ImageNet. Машинное зрение стало реальностью.

Проблема с языком: почему изображения были проще

Пока компьютерное зрение праздновало победы, обработка естественного языка (NLP) отставала.

Проблема в природе данных. Изображение – это сетка пикселей. Каждый пиксель влияет только на соседние. Свёрточные сети идеально подходят для этого: они смотрят на локальные паттерны и строят иерархию.

Но язык – не сетка. Это последовательность. И значение слова зависит не от соседних слов, а от контекста – иногда за десятки слов до или после.

Возьмём предложение: «Банк на углу закрыт». Слово «банк» – это финансовое учреждение. Но в предложении «Он сел на банк и ловил рыбу» – это берег. Чтобы понять разницу, модель должна видеть весь контекст.

Для работы с последовательностями придумали рекуррентные нейронные сети (RNN). Они обрабатывают текст слово за словом, сохраняя «память» о предыдущих словах.

Но RNN имели проблему: они плохо запоминали на большие расстояния. Если важная информация была в начале предложения, а вопрос – в конце, RNN часто «забывала» начало.

LSTM: попытка решить проблему памяти

В 1997 году Сепп Хохрайтер и Юрген Шмидхубер предложили LSTM (Long Short-Term Memory) – улучшенную версию RNN с механизмом «ворот», который контролирует, что запоминать, а что забывать.

LSTM работал лучше. Он мог захватывать зависимости на расстоянии 50-100 слов. Но это всё ещё было недостаточно для сложных задач.

К тому же, LSTM был медленным. Обрабатывая текст последовательно, слово за словом, он не мог использовать параллелизм современных GPU. Обучение занимало недели.

И ещё одна проблема: LSTM хорошо работал на небольших данных, но плохо масштабировался. Чем больше данных, тем медленнее обучение и тем чаще он застревал в локальных минимумах.

Нужен был другой подход. Не последовательный, а параллельный. Не основанный на памяти, а на внимании.

2014: Механизм внимания – идея, которая изменит всё

В 2014 году Дмитрий Бахдану с коллегами опубликовал статью о механизме внимания (attention) для задачи машинного перевода.

Идея проста: вместо того чтобы пытаться запомнить всё предложение в одном векторе, давайте на каждом шаге позволим модели «смотреть» на всё исходное предложение и выбирать, какие слова важны прямо сейчас.

Это как человек при переводе: вы не держите всё предложение в голове целиком. Вы переводите по кусочкам, но периодически возвращаетесь взглядом к исходному тексту, чтобы проверить, правильно ли вы поняли.

Механизм внимания вычисляет, какие слова во входной последовательности релевантны для текущего слова в выходной. Он даёт веса: «это слово важно на 0.8, это – на 0.1, остальные – почти не важны».

Результаты были впечатляющими. Модели с attention переводили лучше, чем просто LSTM. Но attention был дополнением к RNN, а не заменой.

Следующий шаг был очевиден, но потребовал смелости: а что, если убрать RNN совсем? Что, если использовать только attention?

2017: «Attention Is All You Need» – трансформер

В июне 2017 года исследователи из Google опубликовали статью «Attention Is All You Need». Авторы: Ашиш Васвани, Ноам Шазир, Ники Пармар, Якоб Ушкорайт, Льон Джонс, Аидан Гомес, Лукаш Кайзер и Иллия Полосухин.

Название было провокационным. Авторы утверждали: всё, что нужно для обработки последовательностей, – это механизм внимания. Никаких рекуррентных связей. Никаких LSTM.

Они предложили архитектуру под названием «Трансформер» (Transformer). Её ключевые особенности:

Самовнимание (Self-Attention). Каждое слово смотрит на все другие слова в предложении и вычисляет, насколько они важны для его понимания. Это происходит параллельно для всех слов одновременно.

Многоголовое внимание (Multi-Head Attention). Вместо одного механизма внимания используется несколько параллельных. Каждая «голова» смотрит на разные аспекты: одна – на синтаксические связи, другая – на семантические, третья – на что-то ещё.

Позиционное кодирование (Positional Encoding). Поскольку трансформер не обрабатывает слова последовательно, нужно явно закодировать их позиции в предложении. Иначе модель не будет знать, что «кот съел мышь» отличается от «мышь съела кота».

Полная параллелизация. Все вычисления можно делать одновременно. Это значит: обучение на GPU в сотни раз быстрее, чем с LSTM.

На задаче машинного перевода трансформер превзошёл все предыдущие модели. Он обучался быстрее и давал лучшее качество. Но главное было не в этом.

Главное – трансформер масштабировался. Чем больше данных, чем больше параметров, тем лучше он работал. Не было потолка.

Это открыло дорогу к современным языковым моделям.

2018-2019: GPT и BERT – две стороны одной медали

Трансформер состоит из двух частей: энкодера (encoder), который читает входной текст, и декодера (decoder), который генерирует выходной текст.

Исследователи быстро поняли: эти части можно использовать отдельно для разных задач.

В июне 2018 года OpenAI выпустила GPT (Generative Pre-trained Transformer). Это был decoder-only трансформер, обученный предсказывать следующее слово в тексте. Идея: если модель научится хорошо предсказывать слова, она выучит язык.

GPT обучили на огромном корпусе текста из интернета – BookCorpus, коллекция из 7000 неопубликованных книг. Затем модель «дообучали» (fine-tuning) на конкретных задачах: классификация текстов, ответы на вопросы, суммаризация.

Результаты были хорошими. Но не революционными.

В октябре 2018 года Google выпустила BERT (Bidirectional Encoder Representations from Transformers). Это был encoder-only трансформер с другой задачей обучения: вместо предсказания следующего слова BERT учился заполнять пропуски.

Модель видела предложение вроде «Кот сидел на [MASK] и спал», и должна была угадать пропущенное слово. Это заставляло её использовать контекст с обеих сторон – отсюда «bidirectional» в названии.

BERT побил все рекорды на бенчмарках NLP. Он понимал контекст лучше всех предыдущих моделей.

Но у BERT была проблема: он не мог генерировать текст. Его архитектура была заточена под понимание, а не создание.

GPT мог генерировать, но понимал контекст хуже.

Следующий шаг был очевиден: увеличить масштаб.

2019-2020: GPT-2 и начало эры больших моделей

В феврале 2019 года OpenAI анонсировала GPT-2 – модель в 10 раз больше оригинальной GPT. 1.5 миллиарда параметров против 117 миллионов.

Её обучили на более крупном датасете – WebText, 40 гигабайт текста из интернета, отфильтрованного по качеству через Reddit-ссылки.

И GPT-2 продемонстрировала нечто новое: способность к zero-shot и few-shot обучению.

Zero-shot – это когда модель может выполнить задачу без специального обучения. Вы даёте ей текст вроде «Переведи на французский: Hello» – и она переводит. Хотя её специально не учили переводить.

Few-shot – это когда достаточно показать несколько примеров. «Кошка – cat, собака – dog, мышь – ?» Модель понимает паттерн и отвечает «mouse».

Это было неожиданно. Никто не программировал эти способности. Они возникли как побочный эффект обучения на огромных данных.

OpenAI была так впечатлена (и напугана), что сначала не опубликовала полную модель. Заявили, что GPT-2 «слишком опасна» – может генерировать убедительные фейковые новости.

Через несколько месяцев модель всё-таки выложили. Апокалипсис не случился. Но посыл был ясен: большие языковые модели – это новая реальность.

2020: GPT-3 и эпоха промптов

В июне 2020 года OpenAI представила GPT-3. 175 миллиардов параметров – в 116 раз больше GPT-2. Обучена на 45 терабайтах текста.

Цифры впечатляющие. Но важнее было другое: GPT-3 оказалась настолько хороша в few-shot learning, что могла выполнять задачи, просто читая инструкции.

Не нужно было дообучать модель. Не нужно было писать код. Достаточно было правильно сформулировать запрос – «промпт».

Это изменило парадигму. Раньше работа с моделью требовала машинного обучения: собрать данные, разметить, обучить, оценить. Теперь достаточно было написать текст.

Родилась новая профессия: prompt engineering – искусство формулировать запросы так, чтобы модель давала нужный результат.

GPT-3 стала доступна через API. Разработчики начали строить приложения: чат-боты, генераторы контента, помощники в коде. Появились стартапы, бизнес-модели, новые продукты.

Но GPT-3 имела проблемы. Она часто генерировала текст, который выглядел убедительно, но был фактически неверным. Она «галлюцинировала» – выдумывала несуществующие факты, цитаты, источники.

Следующий шаг был в улучшении не масштаба, а качества.

2022: InstructGPT и обучение с подкреплением от человека

В январе 2022 года OpenAI опубликовала статью о InstructGPT – модели, обученной следовать инструкциям.

Проблема GPT-3 была в том, что она обучалась просто предсказывать следующее слово. Это делало её хорошей в генерации текста, но не обязательно полезной. Она могла ответить не на ваш вопрос, а продолжить его. Могла сгенерировать токсичный контент, если контекст намекал на это.

InstructGPT использовал новый подход: обучение с подкреплением от человеческой обратной связи (RLHF – Reinforcement Learning from Human Feedback).

Процесс в три шага:

1. Обучить базовую модель на большом корпусе текста (как обычно).