Иной разум. Как «думает» искусственный интеллект? - Андрей Владимирович Курпатов
Глава четвёртая
Как «думает» искусственный интеллект?
Задача состоит не в том, чтобы видеть то, что никто ещё не видел, а в том, чтобы думать о том, что ещё никто не думал, но что видят все.
Эрвин Шрёдингер
Начнём с того, что определим, в чём заключается главная задача большой языковой модели (LLM). Что она делает на каждом шаге своей работы? Впрочем, ответ на этот вопрос, кажется, уже все выучили: она предсказывает следующее слово.
Эта, казалось бы, простая идея имеет глубокие корни, уходящие к самой заре информационной эры и работам Клода Шеннона[78]. А её современное воплощение стало возможным благодаря прорывным исследованиям в области нейронных сетей, таким как модель, предложенная Йошуа Бенжио и его коллегами[79], которая и заложила фундамент для всех современных больших языковых моделей.
Давайте на секунду остановимся и вдумаемся в то, что здесь происходит.
• Когда вы просите ИИ написать эссе о причинах Французской революции или рассказать о видах индий-ской кухни, он не «анализирует» исторические предпосылки и не «представляет» себе какую-то еду. По правде сказать, он вообще не «знает», что это такое — «революция» и тем более «французская», или та же «еда».
• Когда вы делитесь с ИИ своими переживаниями, он вовсе не «сопереживает» вам. Да, он может создавать очень правдоподобную иллюзию сочувствия и личной вовлечённости. Но у него нет чувств, у него нет эмоционального опыта, а тем более в нём нет того, кто вам как бы сочувствует.
В каждый момент ИИ решает лишь одну, строго определённую задачу: угадать, какое слово с наибольшей вероятностью должно идти после предыдущего. Давайте посмотрим, как это происходит. Предположим, мы дали ему начало фразы: «Главная причина Французской революции — это…»
Модель анализирует этот текст и генерирует вероятностное распределение для следующего слова. Скажем, с вероятностью 30 % это будет слово «неравенство», с вероятностью 15 % — «кризис», с вероятностью 10 % — «долг» и так далее по всему словарю.
Проведя этот анализ, модель выбирает один из наиболее вероятных вариантов — например, «неравенство». Текст теперь выглядит так: «Главная причина Французской революции — это неравенство…»
Теперь модель берёт уже эту новую последовательность слов и повторяет весь процесс заново: снова взвешивает, какие слова статистически с большей вероятностью могут следовать дальше.
Какое слово наиболее вероятно после слова «неравенство» в данном контексте? Возможно, «в». И новый текст: «Главная причина Французской революции — это неравенство в…» Какое слово следующее? Вероятно, «распределении».
И так далее, слово за словом, токен за токеном, вспомнится и Мария Антуанетта, и её наивная сентенция «если у них нет хлеба, пусть едят пирожные», и гильотина, и т. д.
То есть весь сложный, многогранный, структурированный ответ, который вы получаете от ИИ, — это всего лишь цепочка из сотен таких локальных последовательных предсказаний. Шаг за шагом.
Машина не видит всей картины целиком. Она, как альпинист в густом тумане, делает лишь один шаг за раз — тот, который кажется ей наиболее надёжным и вероятным в данный момент. Но, совершая сотни таких выверенных шагов, она в итоге покоряет вершину.
Перед нами фундаментальный парадокс: как система, решающая такую, казалось бы, механическую задачу, может демонстрировать поведение, которое воспринимается почти как разумное? Как из простого «угадывания» рождается то, что выглядит как «понимание»?
На самом деле ИИ, конечно, устроен существенно сложнее. Но прежде всего важно понять другое: нам интуитивно кажется, что «предсказанию» должно предшествовать «понимание». Мы полагаем, что в любом вопросе сначала нужно понять суть, а уже потом, на основе этого понимания, делать прогнозы.
Но так ли это? Не попались ли мы снова в ловушку неправильного понимания понятия «понимания»? Что ж, давайте разберёмся с этим. И начнём с самого первого этапа — выясним, как машина видит слова из наших текстов. Ведь для неё слово «революция» — это не исторический концепт, а лишь набор символов…
Превратить слова в числа
Книга природы написана на языке математики.
Галилео Галилей
Итак, большая лингвистическая модель занимается предсказанием следующих слов в предложении. А для этого ей сначала нужно научиться «читать», то есть воспринимать текст в понятном для неё формате. И единственный язык, который понимает компьютер, — это язык чисел.
Следовательно, создатели ИИ должны были научиться переводить всю сложность и многогранность человеческого языка в строгий, формализованный мир математики.
Первый шаг в этом процессе — это разборка текста на своего рода «кирпичики», или токенизация. Машина разбивает сплошной поток текста на минимальные строительные блоки, которые называются токенами.
Токенизация
Токен — это не всегда целое слово. Например, слово «невероятный» может быть разбито на токены «не», «вероятн» и «ый». Тогда как короткое слово (например, «дом») или знак препинания останутся одним токеном.
Такой подход позволяет машине работать с конечным словарём из нескольких десятков тысяч «кирпичиков», чтобы из них, как из конструктора Lego, собирать любое слово, а в конце концов — и любой текст[80].
Согласитесь, это гораздо эффективнее, чем пытаться запомнить все бесчисленные словоформы, существующие в языке. Но тут ИИ точно ничего понимать не может, он просто делает «фарш» из элементов текста.
Второй шаг куда интереснее… После того как текст разобран на токены, каждый из них должен быть превращён в какое-то число. Но как это сделать, чтобы не превратить процесс в простую нумерацию?
Да, есть вариант присвоить каждому токену уникальный номер (например, условному токену «король» — 5391, а токену «королева» — 9814). Но такой пересчёт не будет содержать никакой информации о смысле токена, а мы всё-таки должны этого как-то добиться.
Так что современные языковые модели используют куда более элегантный подход: каждый токен представляется не одним числом, а целым списком чисел, которые создают «вектор». Сам процесс такого преобразования слов в векторы называется эмбеддингом, что можно перевести как «вложение» или «погружение»[81].
Векторы и эмбеддинги
Создатели языковых моделей, по сути, погружают плоский, символьный мир языка в богатое, многомерное математическое пространство. И чтобы понять, как это работает, давайте воспользуемся аналогией. Представьте, что мы хотим описать любой цвет не словом, а числами.
Мы можем использовать модель «красный — зелёный — синий», где каждый цвет — это комбинация трёх чисел, отвечающих за интенсивность красного,




