Как технология «Нейросети для нейросетей» помогает бороться с галлюцинациями LLM

18
November
2024

Опубликовано на «РБК Компаниях»

Александр Обысов

сооснователь и генеральный директор
В одном из наших материалов мы обсуждали галлюцинации больших языковых моделей и один из способов борьбы с ними — Retrieval Augmented Generation (RAG). Сегодня — ещё об одном подходе, который не позволяет ИИ фантазировать и обманывать пользователей. Это принцип «нейросети для нейросетей».

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

Сегодня нейросети применяют в различных сферах для автоматизации процессов и принятия эффективных решений.

Галлюцинации и неточности в ответах нейросетей

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

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

Посмотрим ещё раз на примеры применения ИИ выше и представим, что в какой-то точке взаимодействия с пользователем нейросеть начинает выдумывать ответы.

На самом деле рассказа «Сосновая доска» Юрий Нагибин никогда не писал. Но ChatGPT знает не только его сюжет, но и что хотел сказать автор 😁 

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

Инструменты повышения точности ответов нейросетей

Существует несколько подходов к повышению точности и надёжности ответов нейросетевых моделей. Один из них — увеличение объёма и качества обучающих данных. Говоря проще, чем больше примеров для обучения — тем лучше модель сможет обобщать и применять полученные знания.

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

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

Метод «Нейросети для нейросетей»

Есть и более изящный подход — «нейросети для нейросетей». Суть его в использовании одной нейросетевой модели для проверки работы другой. Представьте, что у вас есть основная модель, которая отвечает на вопросы клиентов. Но прежде, чем клиент увидит эти ответы, их проверит другая модель.

Как проверяющая модель определяет качество ответов? Ключевую роль здесь играет обучение на размеченных данных. Проверяющая модель тренируется на примерах ответов, которые были заранее оценены экспертами как точные или неточные. Таким образом, она учится выявлять признаки достоверности — соответствие ответа контексту вопроса, непротиворечивость, опору на фактические данные и другие.

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

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

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

Практические примеры

Применение «нейросетей для нейросетей» уже доказало свою эффективность в реальных бизнес-проектах. Вот несколько примеров.

В чат-боте Anthropic на основе ChatGPT внедрение «нейросетей для нейросетей» позволило снизить количество галлюцинаций и фактических ошибок в ответах более чем на 30% по сравнению с предыдущими версиями.

Другой пример — использование «нейросетей для нейросетей» в рекомендательной системе Amazon. Здесь одна модель предлагает товары, исходя из предпочтений клиента, а вторая оценивает, насколько эти рекомендации соответствуют его интересам. Это позволило снизить количество нерелевантных предложений более чем на 25% и повысить конверсию в продажи на 15%.

Аналогичный подход применяется и в системах финансового скоринга «Альфа-Банка». Одна нейросеть оценивает кредитные риски заёмщиков, а её «коллега» — проверяет достоверность этих оценок, выявляя потенциальные ошибки. Это помогает банку принимать более взвешенные решения о выдаче кредитов, сокращая убытки от невозвратов.

Нейросети для нейросетей VS. RAG

Существует ещё один интересный подход к повышению точности и надёжности ответов нейросеток — технология RAG (Retrieval Augmented Generation).

RAG объединяет в себе две ключевые компоненты:

  • Генеративную нейросеть, которая выдаёт ответы.
  • Модуль извлечения информации, который ищет релевантные данные во внешних источниках.
Почему генеративные нейросети галлюцинируют и как повышать точность их ответов с помощью технологии RAG

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

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

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

TL;DR

  • Нейросети находят широкое применение в бизнесе, но могут выдавать неточные ответы, «галлюцинировать».
  • Для повышения точности и достоверности ответов применяется подход «нейросетей для нейросетей», когда одна модель проверяет работу другой
  • Этот подход уже доказал свою эффективность в реальных проектах, таких, как рекомендательная система Amazon и система скоринга «Альфа-Банка».
  • Использование «нейросетей для нейросетей» позволяет снизить количество ошибок, повысить эффективность бизнес-решений и доверие пользователей.
  • В будущем можно ожидать развития и распространения этого подхода, особенно в бизнес-приложениях, требующих высокой точности.

Этот материал опубликован на «РБК Компаниях».

No items found.