Сюжет 12. Обучение, проверка и настройка LLM

Я получил образование в библиотеке.

Совершенно бесплатно.

Рэй Брэдбери

Обучаться на структурированных наборах данных – датасетах – нейронные сети научились еще до революции генеративного ИИ. Такое обучение до сих пор играет важную роль, но революцию вызвали другие технологические решения. Их название сегодня слышали многие – большие языковые модели (Large Language Model, LLM).

LLM способны «понимать» поступающий на вход текстовый запрос и адекватным образом реагировать на него. Эта их способность после выхода в свет ChatGPT 3.5 уже несколько лет будоражит умы людей. Для большинства такая способность LLM – таинство и повод говорить об искусственном разуме, к созданию которого наконец-то приблизилось любознательное человечество.

Будем разбираться, как обычно – «на пальцах».

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

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

Проблемы и примеры будем приводить для русского языка.

Неоднозначные по смыслу фразы. Бытие определяет сознание. Что здесь что определяет на самом деле. Хочешь есть? Да нет, не знаю. Так «да», «нет» или «не знаю»?

Многозначные слова. Что ты думаешь об этом замке? А про что речь – про рыцарский замок или про дверной замок?

Фразеологизмы. Ни пуха, ни пера. У нас нет ни того, ни другого? Темная лошадка. А это лошадь какого цвета?

Отнесение местоимений к существительным. Мы составляли план праздника, потому что он … был очень нужен; … был очень близок. Без контекста невозможно определить, к чему относится местоимение «он».

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

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

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

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

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

Иногда токены объединяются в связанные последовательности, если в реальном языке соответствующие слова используются как устойчивые сочетания. Например, словосочетание «правильная дробь» целесообразно представить одним объектом для последующей обработки.

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

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

На последнем шаге подготовительного этапа проводится чистка текста – удаляются слова, которые не несут смысловой нагрузки: (артикли, междометья, союзы, предлоги).

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

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

Для дальнейшего погружения еще раз обратимся к архитектуре трансформеров, которая лежит в основе работы LLM. Важнейшим ее элементом является механизм внимания (attention). Этот механизм заменяет в LLM механизм понимания, который лежит в основе человеческого мышления.

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

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

Черный кот залез на черепичную крышу дома.

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

По мере обработки различных текстов, векторное пространство расширяется и уточняется. Если про черного кота LLM узнала не из одного текста, а из многих, близость слов «кот» и «черный» будет зафиксирована в результатах обучения LLM более прочно.

Естественный язык многогранен. Слова в предложениях и тексте связаны не только по смыслу, но и по синтаксису, позиции, ассоциациям, стилистике, концепциям.

Черный кот, живущий на крыше дома, напоминает не животное, а трубочиста.

Слова «черный» и «кот», «черный» и «напомнить» – связь смысловая и синтаксическая, так как это словосочетания. Слова «кот» и «трубочист» – связь ассоциативная. Слова «кот» и «животное» – связь концептуальная.

Поэтому в LLM используется механизм множественных голов внимания (multi-head attention). Каждая «голова» – это независимый блок внимания, обучающийся видеть определённый вид связей и вычислять соответствующие им весовые параметры. Так формируется сложная многослойная структура внимания, где LLM одновременно смотрит на текст под разными углами. Это делает его восприятие более точным и гибким, а внутреннее представление текста – многомерным.

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

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

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

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

первый фактор – математическая структура поступившего на вход запроса пользователя;

второй фактор – математическая структура, сформированная на этапе предварительного обучения;

третий фактор – вероятностные алгоритмы, позволяющие подбирать наиболее подходящие слова (если в запросе есть слова «лаять» и «кусать», наиболее вероятное слово для подбора – «собака»);

четвертый фактор – сформированная до этого последовательность слов в ответе.

Вероятностные алгоритмы могут быть настроены разными способами. Можно использовать очевидное правило «подбирать слова в лоб, с самой высокой совокупной вероятностью».

Солнце взошло над…

Вероятность токена «море» – 0.45, токена «город» – 0.30, токена «стакан» – 0.001. Модель не задумываясь выбирает токен «море». Текст получается предсказуемым и … скучным. Если вероятностные алгоритмы настроить более тонко, можно получить красивую литературную фразу.

Солнце взошло над прекрасным просыпающимся городом.

После предварительного обучения LLM проводится ее проверка, отладка и экспертная настройка.

В ходе проверки LLM получает от экспертов тестовые задания, затем эксперты оценивают качество их выполнения. У первых LLM экспертами выступали люди. В настоящее время все чаще в качестве экспертов используют другие LLM (об этом – в следующем сюжете).

Если в процессе проверки выясняется, что в работе LLM есть недостатки или пробелы, проводится ее отладка – LLM обучается на дополнительных текстах. Их подбирают таким образом, чтобы LLM после их обработки избавилась от выявленных недостатков.

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

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

поделиться в: