Я, Нейросеть: как программисты научили компьютеры говорить

в 15:14, , рубрики: Eliza, gpt, нейросеть, языковая модель, языковые модели

Нейросети сегодня пишут новости, рекламные тексты, стихотворения и даже целые сценарии. Как мы пришли к этому? Рассказываем историю языковых моделей — от симулятора психотерапевта из 1960-х до первых нейросетей в начале 21 века.

Я, Нейросеть: как программисты научили компьютеры говорить - 1

Самые громкие новости об искусственном интеллекте за последние несколько лет связаны с тем, что нейросети стали намного лучше понимать язык. Открытые сервисы вроде Chat GPT и Dall-E могут анализировать сложные и объемные текстовые запросы, и выдавать осмысленный результат — новый текст, картинку или видео — а начинается все именно с запроса на «человеческом» языке.

Этот функционал нейросетей стал возможен благодаря языковым моделям. Это специальный вид статистических моделей, который используется в области обработки естественного языка. Их задача — прогнозировать вероятность последовательности слов в заданном тексте или предложении. Со временем языковая модель учится фиксировать вероятностные связи между словами в языке и предсказывать следующие слова на основе предыдущих.

На самом деле мы познакомились с языковыми моделями задолго до появления Chat GPT. Возможно, вы помните Т9 – он помогал печатать смски в кнопочных телефонах. Т9 смотрел на ту часть слова, которую вы уже успели ввести, и находил ее в специальном словаре с наиболее часто используемыми словами, подсказывая то, что вы, вероятно, и хотели написать. Современные языковые модели — быстрее, релевантнее и больше не предлагают вместо «Юля» написать что-то нецензурное, но суть их работы осталась той же.

В современных ИИ приложениях используются большие языковые модели или LLM (от англ. Large Language Model). Большими их называют из-за высокого объема параметров и связей между нейронами — они исчисляются в миллионах или миллиардах.

Как и самые базовые языковые модели, LLM применяют свои знания, чтобы предсказать следующее слово, которое могло бы продолжить заданную фразу. Такие нейросети обучаются на огромных массивах текстовых данных, и поэтому могут давать намного более точные и подробные результаты, чем когда-либо раньше. Более того, они имеют в своем распоряжении так много информации, что могут не просто воспроизводить ранее написанные тексты, но и составлять из них новые уникальные сочетания.

Я, Нейросеть: как программисты научили компьютеры говорить - 2

Современные возможности языковых моделей поражают воображение, но приницпы, которые лежат в их основе, разрабатывались почти 100 лет назад. Первым о возможности машинного обучения заговорил Алан Тьюринг — один из отцов-основателей ИИ. В 1947 на лекции в Лондоне Тьюринг предложил концепцию машины, которая может «учиться на собственном опыте» и «самостоятельно менять свои инструкции».

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

Впрочем, проекты, реализованные за 10 лет с 1940-х до 1950-х, не принесли больших успехов. Как бы правительство США и IBM ни вкладывались в финансирование, естественные языки оказались слишком нелогичными и запутанными для компьютеров той эпохи. Грубо говоря, у человечества еще не было мощного железа, которое бы потянуло масштаб задумки.

Я, Нейросеть: как программисты научили компьютеры говорить - 3

Значительный прорыв в этой сфере случился в 1966 году, когда исследователь Массачусетского технологического института Джозеф Вейценбаум создал первую в мире программу-симулятор человеческого общения — прабабушку современных чат-ботов.

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

Я, Нейросеть: как программисты научили компьютеры говорить - 4

Сходство с психотерапией — не случайность. Вейценбаум так и задумывал ELIZA, ведь терапевты придерживаются похожей стратегии в своей работе: слушают, а затем задают вопросы, исходя из контекста. В 1973 году у ELIZA даже появился первый машинный «пациент» — алгоритм PARRY, который имитировал речь человека с шизофреническим расстройством. Первый в истории «разговор» между двумя алгоритмами был крайне невежливым и неловким: компьютеры поссорились уже на третьей фразе.

Разговоры, которая вела ELIZA, были неестественными: проблема была в том, что алгоритм мог создавать тексты только исходя из загруженных шаблонов и строгих логических правил, продуманных разработчиками. Для того, чтобы ориентироваться в сложном и нелогичном мире естественного языка, этого было недостаточно.

Я, Нейросеть: как программисты научили компьютеры говорить - 5

Решение проблемы нашлось только к началу 1990-х, когда вычислительные мощности значительно выросли, а ученые нашли новый подход к обработке языка. Вместо работы с заранее заданными правилами они стали использовать статистические модели, которые анализировали примеры текстов. Такие алгоритмы были более гибкими и могли взаимодействовать с большим диапазоном языковых шаблонов.

В основе нового подхода лежала концепция Цепей Маркова или HMM (от англ. Hidden Markov Model). Цепи Маркова — это последовательность событий или действий, где каждое новое событие зависит только от предыдущего и не учитывает все остальные события. В языковых моделях это означает, что алгоритмы генерируют текст, постепенно подбирая фразы, которые с наибольшей вероятностью могли бы идти после самого последнего слова.

В конце 1990-х алгоритмы на основе Цепей Маркова расширили и стали создавать модели с использованием n-грамм — сочетаний из нескольких слов. Такие модели анализируют не только предыдущее слово в цепочке, но серию предшествующих слов — например, биграммы могут анализировать два последних слова. Такая модель в 1996 году легла в основу знаменитого алгоритма Google PageRank (PR), который анализировал ответы на поисковой запрос по количеству и качеству ссылок на определенную веб-страницу.

Я, Нейросеть: как программисты научили компьютеры говорить - 6

Алгоритмы на n-граммах запоминали больше контента, но чем более сложные языковые шаблоны им нужно было предсказывать, тем хуже они справлялись. Сочетания из пяти слов повторяются в текстах куда реже, чем из двух, поэтому для предсказания n-грамм с пятью значениями алгоритму было намного сложнее собрать необходимую статистику. Исследователи смогли преодолеть этот барьер за счет нейросетей.

У них нет ограничения по количеству слов, от которого страдали алгоритмы на Цепях Маркова: даже в начале нулевых они могли анализировать закономерности в текстах из сотен фраз. В качестве входных данных нейросети принимают векторные представления предыдущих слов. Фразы преобразуются в числовой вид (кодировку), а полученный результат называется эмбеддингом.

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

Первая языковая модель, работающая за счет нейросети, была представлена в 2003 году канадским кибернетиком Йошуа Бенжио. В 2010 году в Стэнфорде разработали решение CoreNLP, которое добавило к нейросетям такой ключевой функционал как анализ тональности текста и распознавание именованных сущностей.

Однако у этих моделей по-прежнему было ограниченное понимание текста — они не могли разобраться во многих грамматических тонкостях и оценить контекст. Из-за этого их тексты часто получались неестественными и не очень качественными.

Я, Нейросеть: как программисты научили компьютеры говорить - 7

Решение этой проблемы привело исследователей к той форме языковых моделей, которая используется в современных инструментах. Самый известный из них  — сервис ChatGPT от организации OpenAI — дает подсказку, о какой именно технологии речь. GPT расшифровывается как “Generative Pre-trained Transformer” — генеративный предварительно обученный трансформер

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

Главное преимущество трансформеров — их способность обрабатывать зависимости в длительных последовательностях. За счет высокой производительности они также могут обрабатывать несколько последовательностей параллельно. Эти особенности сделали их идеальным инструментом для работы с естественным языком.

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

Благодаря этому современные нейросети имеют наиболее глубокое понимание текстов и нелогичных особенностей естественных языков. Для развития языковых моделей идеально сошлись обстоятельства: им доступно больше данных, чем когда-либо раньше; они работают с колоссальными вычислительными мощностями; архитектуры-трансформеры позволяют им обрабатывать целые тексты, а не отдельные последовательности.

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

Автор: Mirabell

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js