LLM и RAG

RAG или тонкая настройка: как дать LLM знания вашей компании

Начните с RAG для ответов по меняющимся документам компании с учётом прав доступа, а дообучение рассматривайте для измеренной потребности в формате, стиле или поведении.

Artem SynytskyiArtem Synytskyi Сооснователь · ИИОпубликовано · Обновлено · 6 мин чтения

Главное

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

Начать с RAG или дообучения?

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

Как сравниваются варианты?

АспектRAGТонкая настройкаВсё в промпте
Лучше всего дляОтветов из политик, инструкций, записей и баз знанийПоследовательного тона, формата вывода, классификации и узких задачМалых фиксированных наборов документов и быстрых экспериментов
Обновление знанийОтредактировать документ и переиндексироватьПереобучить модельИзменить промпт
Цитирование источниковЕстественное: ответ происходит из названных фрагментовНедоступно: модель не может показать, где чему-то научиласьВозможно, если разметить текст
Контроль доступа для пользователейФильтр на этапе поиска, чтобы каждый видел только разрешённое его рольюНевозможен: знания общие для всех пользователейТолько созданием отдельного промпта для каждого пользователя
Удаление информацииУбрать документ из индексаНет надёжного удаления отдельных документов из общих весов моделиУбрать из промпта
Типичный сбойНе найден нужный фрагментУверенные ошибочные факты и отход от ваших документовДлинные промпты дорожают, а модели хуже используют середину длинных входных данных

Когда выбирать RAG?

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

Когда имеет смысл тонкая настройка?

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

Дообучение не заменяет надёжную базу документов. Оно меняет поведение модели, но не обеспечивает доступ на уровне документов или надёжное происхождение фактов, усвоенных при обучении.

Почему факты в весах: проблема приватности

Когда персональные или конфиденциальные данные попадают в обучение, они могут оказаться внутри модели так, что их трудно найти и трудно удалить. Заключение 28/2024 Европейского совета по защите данных говорит, что модель, обученная на персональных данных, не является автоматически анонимной и что это нужно оценивать в каждом случае отдельно. Поэтому тонкая настройка на документах, полных персональных данных: это решение для оценки воздействия на защиту данных, а не технический ярлык.

Что содержит хорошая система RAG

  1. Чистые источники: актуальные документы без дубликатов, с владельцем и датой, потому что система не может быть лучше файлов.
  2. Разбиение с учётом структуры: делить по заголовкам, пунктам и таблицам, а не по произвольному числу символов.
  3. Гибридный поиск: объединить поиск по ключевым словам и векторный, чтобы находились точные термины, коды и имена, а также перефразирования.
  4. Повторное ранжирование: второй проход, упорядочивающий фрагменты-кандидаты по тому, насколько хорошо они отвечают на вопрос.
  5. Фильтр по правам на этапе поиска: роль пользователя определяет, в каких документах вообще можно искать.
  6. Цитирование в каждом ответе со ссылкой на фрагмент и документ.
  7. Честный запасной вариант: когда поиск слабый, система говорит, что не знает, вместо того чтобы угадывать.
  8. Удаление данных перед вызовом модели и журнал аудита вопросов, фрагментов и ответов.

Где RAG даёт сбой

СбойПричинаРешение
Правильный документ, неверный фрагментСлишком большие или малые фрагментыРазбивать по структуре и проверять размеры на реальных вопросах
Устаревшие ответыСтарые версии всё ещё в индексеПереиндексировать при изменениях и показывать даты документов
Не хватает чисел из таблиц или сканированных PDFПлохой разбор документаИспользовать парсер, сохраняющий структуру таблиц, и вручную проверять сканированные страницы
Уверенный ответ, которого фрагменты не подтверждаютМодель заполняет пробелы собственной памятьюВелеть отвечать только из фрагментов, требовать цитирования и проверять его
Один человек видит документы другой командыПравила доступа применены после поиска или не применены вовсеФильтровать по правам до поиска

Как понять, что это работает?

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

Поделитесь типами документов и примерами нужных ответов. Поможем проверить поиск и определить пользу дообучения.

Спланировать ассистента по документам

FAQ

Может ли RAG работать без отправки данных за пределы ЕС?

Да. Векторный индекс, документы и модель могут работать в ЕС или на ваших серверах. Персональные данные также можно удалить до того, как модель увидит фрагменты.

Нужна ли тонкая настройка для терминологии нашей отрасли?

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

Можно ли сочетать RAG и тонкую настройку?

Да. Распространённый подход: RAG для фактов и слегка настроенная модель для формата и тона. Добавляйте второй шаг только после того, как первый измерен и работает.

Источники

  1. Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020
  2. Liu et al., Lost in the Middle: How Language Models Use Long Contexts, 2023
  3. Европейский совет по защите данных, Заключение 28/2024 по моделям ИИ
  4. Регламент (ЕС) 2016/679 (GDPR), статьи 17 и 35, Официальный вестник ЕС
Artem Synytskyi

Об авторе

Artem Synytskyi · Сооснователь · ИИ

Artem возглавляет направление ИИ в ESADEX и создаёт LLM, RAG и системы транскрипции для отраслей с нормативными требованиями.

Читайте дальше

Похожие статьи

Все статьи

Создайте проект ИИ или ПО с соблюдением требований

Опишите процесс и нормативные требования. Отвечаем в течение четырёх рабочих часов и обычно готовим объём работ и архитектуру примерно за пять дней.