Угадай следующее слово

Если отбросить маркетинг, большая языковая модель решает одну-единственную задачу: смотрит на текст и угадывает, что должно идти дальше. Не целое предложение и не мысль, а следующий фрагмент — токен. Потом добавляет его к тексту и угадывает снова. Всё, что вы видите в окне чат-бота, от сонета до SQL-запроса, собрано таким пошаговым образом.

Звучит как автодополнение в телефоне, и это честное сравнение. Разница в масштабе и в том, что модели приходится «знать», чтобы угадывать хорошо. Чтобы правильно продолжить фразу «столица Франции — это», нужна география. Чтобы продолжить доказательство теоремы, нужна математика, а чтобы закончить реплику персонажа — понимание его характера. Задача простая, но решать её хорошо можно, только если внутри сложилась довольно подробная модель мира — или как минимум модель того, как люди о нём пишут.

Токены и векторы: как текст превращается в числа

Нейросеть не умеет работать с буквами — только с числами. Поэтому текст сначала режут на токены: это могут быть целые слова, их куски или отдельные символы. Частые английские слова обычно умещаются в один токен, а русские, особенно длинные, нередко распадаются на несколько. Отсюда, кстати, и разница в цене: один и тот же смысл на разных языках может стоить разное количество токенов.

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

Внимание — это всё, что нужно

Ключевая деталь современной архитектуры называется механизмом внимания. Он появился чуть раньше, но настоящую славу ему принесла статья исследователей Google 2017 года с дерзким заголовком «Attention Is All You Need», представившая архитектуру трансформера. Идея в том, что при обработке каждого слова модель может «посмотреть» на все остальные слова в тексте и решить, какие из них сейчас важны. Не менее важно и то, что внимание можно вычислять параллельно для всех слов сразу: прежние архитектуры читали текст строго по порядку, а трансформеры позволили гораздо эффективнее использовать специализированные чипы.

Возьмём фразу «Кот не пролез в форточку, потому что был слишком толстым». Кто был толстым — кот или форточка? Человек понимает сразу. Механизм внимания позволяет модели связать «толстым» с «котом», а не с форточкой. Таких слоёв в большой модели десятки, и каждый вылавливает свои закономерности: грамматику, логические связи, стиль, факты.

Модель не хранит интернет как библиотеку. Она хранит сжатые закономерности — и именно поэтому умеет как обобщать, так и уверенно ошибаться.

Три этапа обучения

Путь от пустой нейросети до вежливого ассистента обычно состоит из нескольких стадий:

  • Предобучение. Модель прогоняют через огромный корпус текстов — книги, статьи, код, форумы — и заставляют снова и снова предсказывать следующий токен. Это самый дорогой этап: недели работы на тысячах специализированных чипов.
  • Дообучение на инструкциях. Получившаяся «сырая» модель умеет продолжать текст, но не умеет отвечать на вопросы. Её дообучают на примерах диалогов, где показано, как выглядит полезный ответ.
  • Обучение на предпочтениях. Люди, а всё чаще и другие модели, сравнивают варианты ответов и отмечают лучшие. Этот сигнал учит модель быть полезной и аккуратной; самый известный вариант метода называется RLHF — обучение с подкреплением на основе обратной связи от людей.

Именно последние два этапа превращают энциклопедического «продолжателя текстов» в собеседника. Сырая модель на вопрос «как испечь хлеб?» вполне может ответить списком других вопросов про выпечку — потому что в интернете такие списки встречаются часто.

Почему ответы бывают разными

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

Отсюда же одно из главных ограничений: модель оптимизирована на правдоподобие, а не на истину. Чаще всего правдоподобное и верное совпадают, но не всегда. Ещё одно ограничение — контекстное окно, то есть объём текста, который модель видит одновременно. Всё, что за его пределами, для неё не существует, а памяти между разговорами у неё нет, если разработчики специально её не добавили.

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

Понравился материал?
Подписывайтесь — так вы не пропустите новые.
RSS-лента

Комментарии

Будьте вежливы — это делает обсуждение лучше

Пока нет комментариев — будьте первым.