Почему генеративные нейросети галлюцинируют и как повышать точность их ответов с помощью технологии RAG

11
September
2024

Опубликовано на vc.ru

Алексей Нечаев

контент-маркетолог

За последние годы большие языковые модели (Large Language Models, LLM) проделали огромный путь. Сегодня они не просто генерируют текст, похожий на человеческий. Они пишут лучше многих людей — и делают это очень быстро, не затрачивая время на поиск информации или вдохновения. Они способны мгновенно ответить практически на любой вопрос и многим пользователям уже заменили традиционные поисковики.

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

Что такое LLM

LLM — это вид генеративных нейросетей, работающий с текстом. LLM обучаются на огромных объёмах текстовых данных и могут генерировать качественный текст, практически неотличимый от написанного человеком. Этим мы и пользуемся c ноября 2022-го, когда состоялся первый публичный релиз ChatGPT.

Нам в arcsinus нейронки помогают писать тест-кейсы, статьи в блог, должностные инструкции, брифы для клиентов и другие тексты разного формата и объёма.

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

Как работает LLM

Главное условие работы большой языковой модели — обучение. Модель не просто «знает» почти всё на свете. Чтобы она «знала», её специально обучали. ChatGPT, например, была обучена на больших объёмах неразмеченных данных — то есть она прочитала миллионы текстов интернете. А затем её дообучали на конкретных задачах с инструктором.

Строго говоря, GPT не способна понимать смысл человеческой речи. Она опирается на статистические паттерны. Это значит, что модель прочитала тексты, выявила закономерности и построила на их основе алгоритмы для генерации ответов.

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

Похожим образом работает T9 на клавиатурах наших смартфонов. Ранние версии T9 предлагали следующее слово с учётом лишь последнего введённого. Более современные сборки T9 учитывают связи между предыдущими словами. «Трансформеры» — модели семейства GPT — тоже учитывают все слова из запроса и связи между ними.

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

Когда ошибки LLM — не шутка

Нестабильная достоверность ответов — пожалуй, самая значимая проблема, занимающая сейчас всех причастных к LLM. «Бред» условного ChatGPT может казаться смешным. Но есть ситуации, когда точная и надёжная информация имеет критическое значение.

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

Последствия галлюцинаций здесь могут быть действительно серьёзными — испорченная репутация, финансовые потери и даже угроза здоровью или жизни людей.

Как бороться с галлюцинациями LLM

Сегодня инженеры экспериментируют с несколькими методами:

  • Эпистемические нейросети (Epistemic Neural Networks). Суть в том, что основную LLM дополняют небольшие сети.
  • Путь обоснования (Path Grounding). В процессе используется стратегия «сгенерировать, затем отредактировать». Сгенерированный ответ проверяется и редактируется с помощью графов знаний.
  • Работа с промптом. Есть исследования, демонстрирующие, как особая конфигурация промпта — например, «цепочки мыслей» — может уменьшить галлюцинации.
  • Стратегия декодирования DoLa предполагает сопоставление различий между слоями в модели, чтобы повысить вероятность правильного ответа.
  • Тонкая настройка (Fine Tuning) предполагает адаптацию предварительно обученной LLM к конкретной задаче. Это дообучение модели на меньшем объёме узкоспециальных данных.
  • RAG — Retrieval-Augmented Generation. Это «подключение» к LLM дополнительных источников информации — актуальной и достоверной. Проверенные факты из верифицированных источников способны значительно снизить риск галлюцинаций и повысить доверие к тому, что говорит ИИ-помощник.

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

Поговорим об этой технологии подробнее.

Как работает RAG

RAG (Retrieval-Augmented Generation) позволяет модели обращаться к внешними источникам достоверных данных. Вот как это происходит:

1. Кодирование документов

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

2. Кодирование запроса

Поступающий от пользователя запрос переводится в векторное представление. Обычно это делается с помощью предварительно обученной модели-энкодера — например, гугловской BERT.

3. Поиск документов

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

4. Объединение запроса и документов

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

5. Генерация

Комбинированный контекст подаётся в генеративную модель, которая использует его для создания связного ответа. Во время генерации модель учитывает запрос и извлечённые документы (или их фрагменты) — и включает релевантную информацию из документов в свой ответ.

6. Выдача результата

Сгенерированный текст выводится как окончательный ответ. Ответ, созданный с применением RAG, как правило, более точный и информативный, чем без, поскольку использует богатую дополнительную информацию из извлечённых документов.

Как RAG повышает качество работы LLM

→ Включая внешние источники знаний, RAG позволяет языковой модели лучше понимать контекст и нюансы области знаний. В результате AI даёт более информированные и релевантные ответы.

→ RAG позволяет модели постоянно обращаться к актуальным данным. Для этого нужно своевременно обновлять базу знаний. Так разработчикам не нужно тратить ресурсы на постоянное дообучение LLM.

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

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

Какие компании применяют RAG

  • Zendesk использует языковые модели для обработки клиентских запросов, извлекая релевантные статьи из базы знаний.
  • AlphaSense анализирует большой объём финансовых отчётов, новостных статей и рыночных данных и генерирует аналитику для исследователей рынка.
  • IBM применяет RAG в работе чатботов, обслуживающих клиентов — это позволяет им выходить за рамки скриптов.
  • Telescope, платформа автоматизации продаж, извлекает данные из CRM-системы, чтобы предоставлять клиентам персонализированные рекомендации.
  • Интранет-решение Assembly использует RAG для ответа на вопросы сотрудников, извлекая релевантную информацию из внутренних документов.
  • Инструмент финансового планирования Causal интегрируется с инструментами бухгалтерского учёта и предоставляет пользователям инсайты, которые можно использовать в работе.
  • Платформа автоматизации маркетинга Dapta позволяет использовать RAG, чтобы создавать динамические описания продукта, обновляющиеся в реальном времени на основе множества дополнительных данных.
  • Мы в arcsinus создали виртуального ассистента, который помогает консультантам международной компании искать точные ответы на вопросы, опираясь на большой массив данных, переведённых в вид графов знаний.

TL;DR

→ Нестабильная достоверность ответов и откровенные галлюцинации больших языковых моделей — значимая проблема, занимающая всех причастных к работе с ними.

→ Чтобы повысить качество ответов, инженеры сегодня экспериментируют с разными технологиями — эпистемические нейросети, декодирование DoLa, тонкая настройка и другие.

→ Хорошие результаты показывает технология RAG (Retrieval-Augmented Generation). Она позволяет языковой модели обращаться к дополнительным источникам информации и предоставлять пользователям достоверные ответы, а не галлюцинировать.

→ Многие компании уже успешно используют технологию RAG. Мы в arcsinus применили RAG при разработке ИИ-ассистента для консультантов крупной международной компании.

No items found.