В этой статье рассматриваются результаты экспериментов с различными моделями в задаче Retrieve and Generate (RAG). Авторы статьи описывают фреймворк для изменения модели и типа токенизации в реальном времени, а также подходы к оценке ответов моделей. Сравнение моделей GPT4, GPT3.5, YandexGPT, GigaChat и Saiga проводится с использованием различных токенизаторов. Особое внимание уделяется модели Saiga, разработанной на основе Llama и Mistral, которая использует архитектуру Transformer и решает задачу Retrieve and Generate. В статье также обсуждаются ограничения локальных моделей и предлагаются возможные пути для их улучшения.
- Для теста был разработан фреймворк, позволяющий изменять LLM-модель и тип токенизации в реальном времени. В качестве эталона использовали GPT4 Turbo и ADA-02 для токенизации.
- Оценка была сделана руками, людьми, что делает её особенно ценной. Тестировали различные комбинации моделей и промптов, включая GPT4, GPT3.5, GigaChat и YandexGPT. Гипотеза об эталонной модели и токенайзере подтвердилась результатами от OpenAI (около 70% точных ответов). Однако токенайзеры от RuBert оказались не настолько эффективными, как ожидалось.
- После проведения ряда тестов, получили вывод, что правильный токенайзер повышает качество. Улучшение точности ембедингов с 11% до 6% даёт значимый результат.
- На данный момент задача RAG с использованием локальных моделей (в закрытом контуре) не решается в полной мере в лоб. Одновременно эту задачу можно решать, если есть доступ к OpenAI GPT4 с широким окном контекста, достигая 70-80% правильных ответов без особых усилий.
- Недостатки моделей, можно компенсировать более точными промптами и fine-tuning. Альтернативно, можно подождать развития технологий в ближайшие месяцы.
- По вопросу нарезки данных (чанков текста) возможны три пути. Первый, немного примитивный, но правильный с точки зрения продуктового подхода – ограничить RAG задачу информацией, которая умещается в 1-2 абзаца, возможно с ручной нарезкой.
- Второй – изучить возможности и технологии графового представления данных для более сложной обработки.
- Третий — ждать, пока появятся достойный локальные модели с длиной контекста (эффективной длинной) до 128К символов. Но это не наш путь.
Источник