Система автокорректа на смартфоне автоматически исправляет ошибки в наших сообщениях. ChatGPT генерирует эссе по запросу и редактирует готовые тексты. Все это ― примеры работы языковых моделей. Рассказываем, какими были их первые образцы, как технология работает сейчас и что ее ожидает в будущем.
В программировании языковая модель ― это алгоритм, который позволяет вычислить вероятность появления в предложении того или иного слова. Наиболее простые модели рассчитывают возможности на основе минимального контекста в пределах словосочетания или предложения. Более сложные ― принимают во внимание стилистику высказывания и даже общий культурный фон.
Чтобы языковая модель могла корректно рассчитывать вероятности, ее предварительно обучают на массиве уже созданных человеком текстов. Это и классические произведения литературы, и статьи в СМИ, и посты в социальных сетях.
Основная цель большинства моделей ― создать разумное и «человеческое» продолжение любого текста на основе той информации, которая ей доступна. Генерируя предложения, алгоритм как бы постоянно спрашивает: «Учитывая текущее состояние текста, какое слово дальше будет статистически более ожидаемым?» Например, маловероятно, чтобы в какой-то фразе рядом стояли слова «почистить» и «молоко». А вот «налить» и «молоко» ― привычное и регулярное соседство.
Интересный факт, которому ученые пока не нашли объяснения: если языковая модель выбирает статистически наиболее вероятные слова, сгенерированный текст получается очень «плоским» и недостаточно живым. Чтобы сделать его ярче и образнее, в моделях специально понижают уровень точности.
Языковые модели оперируют математическими вероятностями, а не оттенками смысла или достоверностью фактов. Поэтому в текстах часто встречаются ошибки с точки зрения содержания. Эту проблему пытаются решить через интеграцию моделей с программами, которые проверяют фактологию и логическую непротиворечивость высказываний.
Различных вариаций было много, мы перечислим наиболее заметные из них.
Все боты первого поколения общались с помощью шаблонов, которые для них заранее написали люди. Триггером для активации этих шаблонов могли стать ключевые слова в запросе пользователя или общий контекст всего высказывания. Однако общая суть таких алгоритмов оставалась неизменной. Любой подобный бот был ограничен в употреблении, поскольку ограничена и его база шаблонов с готовыми ответами. Кроме того, невозможно предусмотреть все варианты диалогов с людьми: непредсказуемость бесед слишком велика.
В начале 2000-х годов начали появляться гибридные боты: часть их ответов была основана на готовых паттернах, а часть ― генерировали они сами. Это стало возможно благодаря технологии машинного обучения.
Ее суть заключается в следующем: человек не пишет правила для программы, а дает ей проанализировать массив данных, чтобы алгоритм вывел закономерности самостоятельно. После этого алгоритм пишет для себя инструкцию, как действовать в той или иной ситуации. В случае с языковыми моделями процесс выглядит так: боту показывают массив готовых текстов, а он составляет карту распределения вероятности появления того или иного слова в определенном контексте.
В 2017 году в Google создали нейросеть с особой архитектурой и назвали ее ― трансформер. Она умеет делать следующее: принимать один последовательный набор данных, трансформировать их по определенному алгоритму и выдавать другой последовательный набор данных.
Нейросети нового поколения обрабатывают информацию не так, как это делали другие программы.
У трансформера есть механизм внимания: он может вычленять из вводной информации ключевые моменты, запоминать, а затем на их основе интерпретировать все остальные данные. Например, в процессе перевода такие нейросети сначала определяют наиболее важные слова в предложении. Затем ― находят связанные с этими словами другие части предложений. Алгоритмы выстраивают заключение: «то, как нужно перевести слова B, С, и D, зависит от того, какое значение у слова A». И только после этого следует перевод высказывания.
Трансформеры могут запоминать больше контекста. Этого достигли благодаря изменениям в обработке информации: она стала параллельной, а не последовательной.
Трансформеры состоят из более гибких программных блоков, их проще масштабировать. Поэтому они способны обрабатывать огромные массивы информации, формировать из них готовые для работы базы данных.
Все эти качества в дальнейшем воплотились в принципиально новой языковой модели на основе трансформеров ― GPT. Она «держит в голове» весь корпус текстов, с которым ее познакомили, лучше понимает контекст входящего запроса и генерирует ответ, который по стилистике очень сильно приближен к живой человеческой речи.
На сегодняшний день существует 3 версии этой модели.
На основе языковой модели GPT-3 был создан бот ChatGPT ― аналог ассистента, создателя контента и поисковой системы.