К книге
Генеративный искусственный интеллект. Как ИИ меняет нашу жизнь и работу5 Ненадлежащее использование и вредоносные атаки. 5.4. Откуда у LLM галлюцинации?
53%
5 Ненадлежащее использование и вредоносные атаки. 5.4. Откуда у LLM галлюцинации?
72

В главе 1 мы познакомились с понятием галлюцинаций – явления, при котором чат-боты в ответ на промпт могут уверенно генерировать неверную информацию и объяснения. Галлюцинации могут возникать как неконтролируемо, так и в результате злонамеренного пользовательского ввода. Эта уязвимость задокументирована для всех известных LLM, и, чтобы понять ее, мы вернемся к процессу обучения таких моделей. LLM обучаются задаче предсказывать следующее слово по заданному тексту, причем обучение происходит на основе текстов из интернета. То есть они учатся воспроизводить типичные языковые шаблоны. Только из-за одной этой задачи LLM демонстрируют несколько типов поведения, которые создают условия для возникновения галлюцинаций: продолжение текста, предсказанное LLM, вряд ли будет выражать сомнение и еще менее вероятно будет оспаривать изначальное суждение пользователя. В качестве конкретного примера давайте рассмотрим промпт, который ученый-когнитивист Дуглас Хофштадтер задал GPT‐3: «Когда мост Золотые Ворота был во второй раз перевезен через Египет?» GPT‐3 в ответ сказал: «Мост Золотые Ворота был перевезен через Египет второй раз в октябре 2016 года»60. Поскольку GPT‐3 (по всей вероятности) не встречал в своих обучающих данных ни одного предложения о том, как мост Золотые Ворота перевозился через Египет, но усвоил шаблон для ответа на такой тип вопроса, то выдвинул свое предположение. Он, в отличие от человека, не смог догадаться, что это вопрос с подвохом и упомянутое событие никогда не происходило. Такие галлюцинации могут использоваться при создании злонамеренной трактовки событий, поскольку люди могут задавать наводящие вопросы и приводить ответы модели в качестве доказательства своих утверждений.

ГАЛЛЮЦИНАЦИИ появляются, когда модель создает предположения о знании, в котором она не уверена из-за ограниченной или противоречивой информации.

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

ГРАФ ЗНАНИЙ – это концептуальный инструмент, который представляет знания в виде набора отдельных сущностей в форме узлов и ребер, соединяющих их.

Рис. 5.8. Пример графа знаний

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

Рассмотрим тонкую настройку модели для ответов на вопросы общего характера с использованием такого набора данных, как TriviaQA62. Пример вопроса из данных TriviaQA звучит так: «Кто самый известный сын Пупдека Паппи?» (правильный ответ – Попай, моряк из одноименного комикса Э. К. Сигара). Если вернуться к концепции графа знаний модели, предложенной Шульманом, то этот тип тонкой настройки похож на обучение модели определять правильные ответы на основе связей, существующих в ее графе знаний. Если в графе знаний модели уже есть некоторые сведения о Пупдеке Паппи и Попае, например почерпнутые из данных предварительного обучения, то это будет полезным примером для подобного обучения. Однако если модель не имеет никакого представления о Пупдеке Паппи и Попае, то этот тип тонкой настройки успешно научит модель выдумывать неверные ответы. Поскольку в графе знаний модели нет ни Попая, ни Пупдека Паппи, ни связи между ними, и соответственно, нет никакой возможности вычислить правильный ответ, модель усваивает только, как должен выглядеть правильный по лингвистической форме ответ, но не более того.

Хотя это создает серьезную уязвимость в отношении фактической точности ответов модели, не все надежды потеряны. Правильные ответы на вопросы из TriviaQA обычно коротки, поэтому очень похожи на задачу по предсказанию токена, чему модель была изначально обучена. Для решения такой задачи нейронная сеть вычисляет вероятности для всех возможных токенов из ее словаря, а затем генерирует токен с наибольшей вероятностью. Это означает, что для подобных задач модель действительно обладает некоторой степенью неопределенности. Эти вероятности соответствуют ребрам графа знаний или представлениям об уровне уверенности модели в определенном фрагменте знаний. В предложении «Столица Франции – это…» модель может вычислить с вероятностью 99 %, что следующее слово будет «Париж», и с 1 % – «Ницца». Другими словами, модель практически уверена, что столицей Франции является Париж. В более двусмысленном предложении может быть несколько слов со значительной вероятностью оказаться следующим. На рис. 5.9 показан пример предложения с несколькими возможными вариантами завершения. В предложении, в котором есть сущности, для которых модель вообще не изучала информацию, – скажем, если ее просят составить биографию несуществующего человека – могут быть сотни тысяч возможных слов, каждое из которых имеет очень небольшую, но ненулевую вероятность. Ситуация, когда все возможные ответы являются маловероятными, напоминает произвольное гадание и приводит к галлюцинациям.

Рис. 5.9. Вероятности, полученные LLM при прогнозировании следующего токена в предложении

Для решения этой проблемы можно заставить модель перестраховываться при получении низких вероятностей, то есть научить ее отвечать: «Я не знаю», – но в настоящее время многие модели в этом не очень хороши. Научить модель генерировать ответ «Я не знаю» – непростая задача по той же причине, по которой тонкая настройка приводит модель к галлюцинациям, если нет обучающих примеров в графе знаний модели. Если в примерах тонкой настройки есть случаи, когда ответ на вопрос указан как «Я не знаю», притом что ответ присутствует в графе знаний модели, та может научиться утаивать информацию в некоторых обстоятельствах. Поэтому Шульман, среди прочих, предположил, что проблема «правдивости» LLM должна решаться методами обучения с подкреплением или обучения воспроизводить желаемое поведение, а не путем обучения с учителем, то есть на размеченных данных. Кроме того, выходные данные должны включать случаи, в которых желаемым поведением будет оспаривание первоначального утверждения пользователя или признание ошибки. Теоретически затем модель могла бы научиться правильному поведению и в тех случаях, когда вероятности ответов ниже некоторого порога достоверности, тогда она бы отвечала или «Я не знаю» (при отсутствии знания); или отвечала с исправлением (при получении входных данных типа «Когда Ницца стала столицей Франции?»). На рис. 5.10 показано, как могла бы выглядеть идеализированная функция вознаграждения, где модель получает самую большую награду за правильный ответ без перестраховки и самое серьезное наказание за неправильный ответ без перестраховки, а если она перестраховывается или отвечает нейтрально, то награда находится где-то посередине.

Рис. 5.10. Идеализированная функция вознаграждения для модели, которая учится выражать неопределенность

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

В задании с короткими ответами у модели будут вероятности для различных ответов. Но для ответов в развернутой форме, например при написании эссе, их не будет. Даже если мы оценим каждый ответ, мы увидим, что все ответы в основном правильные, за исключением появления нескольких небольших галлюцинаций здесь и там, и тогда непонятно, какое поведение следует вознаграждать [71]. Кроме того, для усвоения оптимального поведения требуются его примеры, но поскольку данные обычно собираются от людей, занимающихся разметкой, производительность модели явно ограничена количеством меток и возможностями самих разметчиков. Для улучшения качества ответов, которые большинство разметчиков не в состоянии оценить, были предложены различные автоматизированные схемы оценки, например, когда модель обучают оценивать ответы другой модели или выбирать лучший из двух разных ответов.

Наиболее надежным способом проверки ответов модели в областях, требующих определенного уровня знаний, является, помимо найма экспертов, обучение модели ссылаться на их источники. Это одно из полезных свойств функции поиска внешней информации (retrieval), которая была интегрирована в Bard от Google и Bing от Microsoft. Поиск внешней информации [72] – способность LLM обращаться к внешним источникам, например поисковым системам, и обновлять информацию, представленную в ее обучающих данных. Эта функция позволяет, если LLM зададут вопрос, ответ на который она не знает, сформировать подходящий запрос по нужной информации, выполнить поиск и затем обобщить результаты в ответе. Как и в случае ответа с подстраховкой, для этого требуется, чтобы модель могла понимать, что она чего-то не знает. И, если уровень достоверности какой-либо информации ниже некоторого заданного порога, модель может выполнить поиск – например, «сын Пупдека Паппи» – и в идеале выявить в поисковой выдаче нужный ответ. В основе этого лежит предположение, что модель может получать доступ к высококачественным и точным результатам поиска, но давайте пока представим, что эта задача надежно решена другим сервисом. Если модель проинструктирована или обучена ссылаться на свои источники в ответе, люди могут, по крайней мере, легко проверить правильность запроса и ответа (оставим в стороне вопрос определения надежности источников). Функция поиска внешней информации также может помочь устранить другие ошибки, допускаемые LLM. Если вы запросите у ChatGPT информацию о текущих событиях до сентября 2023 года, то ответ будет: «Как у языковой модели ИИ, у меня нет информации в режиме реального времени или возможности просматривать интернет. В последний раз мои знания обновлялись в сентябре 2021 года», – дата окончания сбора данных, которая относится к самым свежим обучающим данным модели (OpenAI позже выпустила версию с поддержкой поиска). Как и в случае высокой неопределенности из-за ограниченных или противоречивых знаний, модель с поддержкой поиска информации обучена определять, когда запрашиваемая информация является слишком свежей, чтобы быть в ее графе знаний, и нужно осуществлять поиск.

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

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

В главе 2 мы писали, что LLM продемонстрировали способность к логическому мышлению и что на качество их рассуждений могут влиять вводимые промпты. В частности, промпты с цепочкой логических рассуждений улучшают способность модели давать ответы на многоэтапные логические задачи; в ситуациях, когда у модели обычно возникали галлюцинации («Когда мост Золотые Ворота был во второй раз перевезен через Египет?»), это помогало ей разбить вопрос на более мелкие шаги и обнаружить ошибку. Некоторые пользователи сообщали, что им удалось уменьшить количество галлюцинаций, просто включив в инструкции к промпту указание на то, что быть неуверенным – это нормально и лучше сказать «я не знаю», чем сказать неправду. Промпт-инжиниринг, или сообщение инструкций на естественном языке, то есть изменение поведения модели с помощью пользовательского ввода, стало мощным, но малопонятным средством управления генерацией ответов.

Наконец, многие LLM, доступные онлайн или через API, имеют настраиваемый параметр температуры, который четко контролирует, насколько модель должна придерживаться информации в обучающих данных, и может ли она генерировать более разнообразные «творческие» ответы. Для вопросов, где требуется фактическая точность, температуру следует установить равной нулю. На каждый вопрос вычисляется набор возможных вариантов ответа вместе с вероятностью, что этот вариант является правильным. При высокой температуре модель может выбирать в качестве ответа варианты с более низкой вероятностью, и такое поведение при выполнении творческих заданий будет желательным, поскольку мы будем получать неожиданные и более разнообразные ответы. Когда температура равна нулю, ответ модели на вопрос будет одинаковым: она всегда выберет вариант с самой высокой вероятностью в своем распределении. С таким методом получились бы довольно скучные стихи, но для викторин его применение куда более разумно. Однако при решении задач, связанных с фактами, когда у модели вообще нет ответа, все равно стоит ожидать появления галлюцинации. В каких-то случаях такие галлюцинации могут быть даже полезны: проект с открытым исходным кодом dreamGPT задается вопросом: «Что, если [галлюцинации] можно использовать в наших интересах?» – и мотивирует пользователей к применению галлюцинаций в решении новых экспериментальных задач63. А вот более сфокусированные и целенаправленные задачи выигрывают от методов, которые сокращают галлюцинации.

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

Предыдущая главаГлава 72 из 135Следующая глава