Вдосконалення систем пошуку в корпоративних системах з використанням великих мовних моделей
Великі мовні моделі (large Lanquage Model, LLM) - це тип алгоритмів штучного інтелекту (ШІ), який використовує методи глибокого навчання та великі набори даних для створення нової інформації, а, зокрема, інтелектуалізації відповідей на пошукові запити. В останні роки були створені декілька високоефективних LLM, таких як серія GPT [1], серія LLama [2], Gemini [3] та ін. Однак широке застосування LLM продемонструвало суттєві проблеми, що виникають при обробці спеціальних запитів, які потребують використання спеціалізованої, корпоративної або наукової інформації. Ці проблеми зазвичай виражаються у виникненні т.з. «галюцінацій» систем пошуку, коли згенеровані штучним інтелектом відповіді не є релевантними. Для вирішення цієї проблеми Льюісом та ін [4] було запропоновано використання методології RAG (Retrieval-Augmented Generation) або «доповненої генерації пошуку». Ця концепція, в спрощеному вигляді, полягає в тому, щоб для генерації відповіді на спеціалізований запит користувача, доповнювати «базу знань» LLM додатковою спеціалізованою інформацією.
Базова модель RAG використовує 3 основних процеси: індексація, пошук та генерація відповіді. Індексація (indexing) включає завантаження корпоративних, або інших внутрішніх даних з документів різних форматів, як-от PDF, HTML, Word та ін, та перетворення їх на стандартизований простий текст. Далі цей текст сегментується на менші фрагменти або чанки (chunks), які згодом перетворюються на векторні представлення (embedding). Нарешті, створюється індекс для зберігання цих фрагментів тексту та їх векторних представлень як пар ключ-значення, що забезпечує ефективні можливості пошуку. На етапі пошуку (retrieval) такому ж перетворенню піддається текст запиту користувача. З нього теж отримують векторне представлення, яке порівнюють з векторами доданої зовнішньої інформації. Етап генерації відповіді (generation) полягає в тому, що поставлений запит і вибрані фрагменти синтезуються в зв’язне підказування, на яке велика мовна модель має сформулювати відповідь. В теперішній час розроблено багато програмних засобів, які дозволяють реалізувати цей підхід. Основною мовою програмування при цьому виступає Python, для якого створено велику кількість бібліотек, що постійно розвиваються та вдосконалюються. В даному дослідженні був використаний фреймворк Llama-index для реалізації методології RAG та бібліотека Trulens для оцінки якості вдосконаленої пошукової системи.
В ході дослідження була побудована програма на мові Python, яка дозволяє підключитися до ChatGPT 3.5 через API. Далі, за допомогою функцій Llama-index було підключено локальне джерело даних, яке містило наукові статті з журналу «Цифрова економіка та інформаційні технології» за 2022 рік в форматі PDF. Наступним кроком був опис функції, які створюють індекси – перетворення локальних даних у їх векторне представлення. Перша з цих функцій розраховує базовий індекс на основі завантажених документів (Basic Query Engine), а друга функція використовує метод llama-index SentenceWindowNodeParser, який перед індексуванням дозволяє розбити дані на речення, і об’єднати кожне речення з декількома реченнями до та після поточного. Таким чином очікується підвищення якості контексту для пошуку правильної відповіді.
Для оцінювання був підготовлений набір даних в форматі csv, з прикладами запитів та правильних відповідей до них, які спираються на дані, що додаються.
Після запуску моделі були отримані значення показників релевантності, представлені на рис. 1. Для двох описаних вище підходів створення індексів представлені результати, які оцінюють вартість запитів до Chat GPT, а також чотири показники ефективності: Groundeness - відповідність відповіді контексту, Answer Correctness – відповідність відповідей та правильних відповідей з контрольного прикладу, Answer Relevance – релевантність відповідей та Context Relevance – релевантність контексту.
Аналіз отриманих результатів дозволяє стверджувати, що додавання інформації з зовнішніх джерел з використанням RAG дозволяє використовувати LLM без додаткового навчання, при цьому більшість показників навіть базової моделі індексування дозволяють отримати прийнятні результати, але є можливість вдосконалювати якість відповідей системи за рахунок додаткових методів покращення контексту.
Література
- Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al//Advances in neural information 33:1877–1901, 2020
- Touvron H et al. Llama 2: Open foundation and fine-tuned chat models. /Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, et al. //arXiv preprint arXiv:2307.09288, 2023.
- Google. Gemini: A family of highly capable multimodal models. <https://goo.gle/GeminiPaper, 2023>.
- Lewis P et al. Retrieval-augmented generation for ¨knowledge-intensive nlp tasks. /Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, NamanGoyal, Heinrich Kuttler, Mike Lewis, Wen-tau Yih, Tim ¨Rocktaschel, et al// Advances in Neural Information Processing Systems, 33:9459–9474, 2020.