

За последние годы большие языковые модели (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 при разработке ИИ-ассистента для консультантов крупной международной компании.
Подпишитесь на наш телеграм-канал