Как повысить точность ответов большой языковой модели
В этом материале об одном из инструментов, который снижает склонность больших языковых моделей к галлюцинациям — технологии Neural Network Optimization
Вел ключевые проекты, лидировал направление системного анализа, выступал наставником, курировал построение системы ИБ компании. Драйвит освоение новых рынков и трансформацию компании. AI-евангелист
В одном из наших материалов мы обсуждали галлюцинации больших языковых моделей и один из способов борьбы с ними — Retrieval Augmented Generation (RAG). Сегодня — еще об одном подходе, который не позволяет ИИ фантазировать и обманывать пользователей. Это принцип «нейросети для нейросетей».
Нейросети — мощный инструмент на основе машинного обучения. Искусственные нейронные сети, созданные человеком, построены по тому же принципу, что и естественные сети нервных клеток живого организма. Они состоят из взаимосвязанных узлов, обрабатывающих данные и постоянно на них обучающихся.
Сегодня нейросети применяют в различных сферах для автоматизации процессов и принятия эффективных решений.
- В ритейле нейросети персонально «затачивают» под клиента рекомендации, прогнозируют колебания спроса и оптимизируют цепочки поставок.
- В туристической отрасли они помогают предсказывать цены на авиабилеты и отели, а также персонализируют предложения для путешественников.
- Банки используют нейросети для оценки кредитных рисков, выявления мошенничества и персонализации банковских продуктов.
- В сфере здоровья и медицины нейросети применяются для анализа изображений, прогноза течения заболеваний и разработки лекарств.
Галлюцинации и неточности в ответах нейросетей
Несмотря на впечатляющий потенциал, нейросети могут фантазировать и выдумывать, вместо того чтобы опираться на фактические данные. Это явление называется «галлюцинациями».
Причина возникновения галлюцинаций — в ограниченности данных, на которых обучаются нейросетевые модели. Если в процессе обучения модель не сталкивалась с теми или иными ситуациями или типами данных, она может «домысливать» ответы, основываясь на своих внутренних представлениях. Которые, впрочем, она тоже выработала в процессе обучения. И эти домыслы — серьезный фактор риска, когда речь идет о важных решениях.
Посмотрим еще раз на примеры применения ИИ выше и представим, что в какой-то точке взаимодействия с пользователем нейросеть начинает выдумывать ответы.
Мы посмеиваемся, когда клиент-мужчина регулярно получает в рекомендациях предметы женского гардероба. Но что произойдет, если нейросеть станет галлюцинировать в серьезных вопросах? Если нейросеть, оценивающая кредитные риски для банка, начнет выдавать необоснованные прогнозы и одобрять кредиты всем подряд? А если нейросеть, ассистирующая врачу, не найдет подходящей информации и выдумает диагноз, а к нему и схему лечения? Это может обернуться катастрофой.
Инструменты повышения точности ответов нейросетей
Существует несколько подходов к повышению точности и надежности ответов нейросетевых моделей. Один из них — увеличение объема и качества обучающих данных. Говоря проще, чем больше примеров для обучения — тем лучше модель сможет обобщать и применять полученные знания.
Другой способ — использование техник регуляризации, которые помогают избежать переобучения модели на тренировочных данных. Переобучение (в английском — overfitting) возникает, когда алгоритм обучения вырабатывает предсказания, строго соответствующие конкретному набору данных, и перестает работать с какими-либо другими данными или наблюдениями. Регуляризация «штрафует» модель за слишком большие значения «веса», то есть значимости какого-либо фактора для принятия итогового решения — и так улучшает ее способность работать с новыми, незнакомыми примерами, обобщать.
Метод «Нейросети для нейросетей»
Есть и более изящный подход — «нейросети для нейросетей». В англоязычной среде эта технология называется neural networks for neural networks, или neural network optimization. Суть его в использовании одной нейросетевой модели для проверки работы другой. Представьте, что у вас есть основная модель, которая отвечает на вопросы клиентов. Но прежде, чем клиент увидит эти ответы, их проверит другая модель.
Как проверяющая модель определяет качество ответов? Ключевую роль здесь играет обучение на размеченных данных. Проверяющая модель тренируется на примерах ответов, которые были заранее оценены экспертами как точные или неточные. Таким образом, она учится выявлять признаки достоверности — соответствие ответа контексту вопроса, непротиворечивость, опору на фактические данные и другие.
В процессе обучения проверяющая модель выделяет внутренние представления, которые позволяют ей оценивать качество ответов основной модели. Это скрытые слои нейросети, кодирующие семантическую близость ответа к эталонным, или специальные классификаторы, предсказывающие вероятность ошибки.
Затем эта проверяющая модель дает основной обратную связь, помогая ей улучшать свои результаты. Например, если ответ вызывает сомнения, проверяющая модель может запросить дополнительную информацию или предложить альтернативный вариант. Таким образом достигается высокая точность и надежность ответов.
Практические примеры
Применение «нейросетей для нейросетей» уже доказало свою эффективность в реальных бизнес-проектах. Вот несколько примеров.
В чат-боте Anthropic на основе ChatGPT внедрение «нейросетей для нейросетей» позволило снизить количество галлюцинаций и фактических ошибок в ответах более чем на 30 % по сравнению с предыдущими версиями.
Другой пример — использование «нейросетей для нейросетей» в рекомендательной системе Amazon. Здесь одна модель предлагает товары, исходя из предпочтений клиента, а вторая оценивает, насколько эти рекомендации соответствуют его интересам. Это позволило снизить количество нерелевантных предложений более чем на 25 % и повысить конверсию в продажи на 15 %.
Аналогичный подход применяется и в системах финансового скоринга «Альфа-Банка». Одна нейросеть оценивает кредитные риски заемщиков, а ее «коллега» — проверяет достоверность этих оценок, выявляя потенциальные ошибки. Это помогает банку принимать более взвешенные решения о выдаче кредитов, сокращая убытки от невозвратов.
Нейросети для нейросетей VS. RAG
Существует еще один интересный подход к повышению точности и надежности ответов нейросеток — технология RAG (Retrieval Augmented Generation).
RAG объединяет в себе две ключевые компоненты:
- Генеративную нейросеть, которая выдает ответы.
- Модуль извлечения информации, который ищет релевантные данные во внешних источниках.
Таким образом, ответы формируются не только на основе внутренних знаний, полученных в результате обучения, но и с использованием дополнительной информации, извлеченной из внешних баз данных. RAG позволяет «расширить кругозор» нейросети и повысить точность ответов за счет привлечения внешних источников. Это особенно полезно в ситуациях, когда модель сталкивается с вопросами, выходящими за рамки ее обучающих данных.
В свою очередь, подход «нейросети для нейросетей» фокусируется на внутренней проверке и улучшении самой генеративной модели, без привлечения внешних источников. В зависимости от конкретных задач и требований к точности, эти подходы можно использовать автономно или комбинировать.
TL;DR
- Нейросети находят широкое применение в бизнесе, но могут выдавать неточные ответы, «галлюцинировать».
- Для повышения точности и достоверности ответов применяется подход «нейросетей для нейросетей», когда одна модель проверяет работу другой
- Этот подход уже доказал свою эффективность в реальных проектах, таких, как рекомендательная система Amazon и система скоринга «Альфа-Банка».
- Использование «нейросетей для нейросетей» позволяет снизить количество ошибок, повысить эффективность бизнес-решений и доверие пользователей.
- В будущем можно ожидать развития и распространения этого подхода, особенно в бизнес-приложениях, требующих высокой точности.