Впровадження RAG технології для моделей великої мови

Впровадження RAG для покращення традиційних моделей великої мови (LLM)

Однією з найважливіших проблем традиційних моделей великої мови (LLM) є те, що вони покладаються на статичні знання, вже вбудовані в модель. По суті, вони можуть добре розуміти запити та відповідати на них, але часто не здатні надавати актуальну або специфічну інформацію. Саме тут на допомогу приходить технологія RAG (Retrieval Augmented Generation). RAG вирішує критичні прогалини в традиційних LLM, додаючи актуальну та нову інформацію, що служить надійним джерелом істини для цих моделей.

У нашому попередньому блозі про розуміння та використання RAG, ми пояснили основи цієї техніки та як вона покращує генеративні AI-моделі, використовуючи зовнішні джерела знань, такі як документи та великі бази даних. Ці зовнішні бази знань підвищують ефективність моделей машинного навчання для корпоративних додатків, надаючи перевірену, актуальну інформацію, що зменшує помилки, спрощує впровадження та знижує вартість постійного перенавчання.

Побудова надійної інфраструктури для генеративного ШІ, може бути складною. Необхідно ретельно продумати технологічний стек, дані, масштабованість, етику та безпеку. Щодо технологічного стеку, обладнання, операційні системи, хмарні сервіси та сервіси генеративного ШІ повинні бути стійкими та ефективними відповідно до масштабу, який вимагають підприємства.

Ціль впровадження технології RAG

У цьому посібнику ми проведемо вас через налаштування RAG-конвеєра. Ми використаємо відкриті інструменти, такі як Charmed OpenSearch для ефективного пошуку та KServe для машинного навчання, особливо в середовищах Azure та Ubuntu.

Цей посібник призначений для фахівців з даних, інженерів, науковців і професіоналів з машинного навчання, які хочуть розпочати створення RAG-рішень на публічних хмарних платформах, таких як Azure, використовуючи інструменти з відкритим кодом. Це можна використовувати для різних проєктів, включаючи докази концепції, розробку та виробництво.

Робочий процес RAG

При побудові проєкту генеративного ШІ, важливо включити кілька компонентів і сервісів. Ці компоненти зазвичай охоплюють бази даних, бази знань, системи пошуку, векторні бази даних, вбудовування моделей, великі мовні моделі (LLM), механізми виведення, обробку підказок та сервіси захисту і точного налаштування.

RAG дозволяє користувачам вибирати найбільш підходящі сервіси та додатки для їхніх конкретних випадків використання. Робочий процес, окреслений нижче, переважно використовує два інструменти з відкритим кодом: Charmed OpenSearch та KServe. У робочому процесі RAG, зображеному нижче, тонке налаштування не є обов’язковим; однак воно може покращити продуктивність LLM зі збільшенням масштабу проєкту.

Таблиця нижче описує всі сервіси RAG, виділені в схемі робочого процесу вище, та відкриті рішення, які використовуються в цьому посібнику.

Компонент RAG: Charmed OpenSearch

Charmed OpenSearch буде основним інструментом у робочому процесі RAG. Це оператор, що базується на OpenSearch, інтегруючи автоматизацію для спрощення розгортання, управління та оркестрації виробничих кластерів. Оператор підвищує ефективність, узгодженість та безпеку. Його багаті функції включають високу доступність, безшовне масштабування для розгортань будь-якого розміру, шифрування HTTP та даних у дорозі, підтримку мультихмари, безпечні оновлення без простою, управління ролями та плагінами, а також візуалізацію даних через Charmed OpenSearch Dashboards.

За допомогою оператора Charmed OpenSearch (також відомого як charm) ви можете розгортати та запускати OpenSearch на фізичних і віртуальних машинах (VM) та інших хмарних середовищах, включаючи AWS, Azure, Google Cloud, OpenStack та VMware. У наступному розділі, посібнику з розгортання, ми використовуватимемо екземпляри віртуальних машин Azure.

Компонент RAG: KServe

KServe — це хмарне рішення в екосистемі Kubeflow, яке обслуговує моделі машинного навчання. Використовуючи Kubernetes, KServe ефективно працює в хмарних середовищах. Його можна використовувати для різних цілей, включаючи розгортання моделей, версіонування моделей машинного навчання, виведення LLM та моніторинг моделей.

У випадку використання RAG, обговореному в цьому посібнику, ми використаємо KServe для виконання виведення на LLM. Зокрема, він оброблятиме вже навчену LLM для прогнозування на основі нових даних. Це підкреслює потребу в надійній системі виведення LLM, яка працює з локальними та публічними LLM. Система повинна бути масштабованою, здатною обробляти високу паралельність, забезпечувати низьку затримку відповідей і надавати точні відповіді на запитання, пов’язані з LLM.

Посібник із розгортання для побудови робочого процесу RAG із Charmed OpenSearch та KServe

Наш посібник із розгортання для побудови повного робочого процесу RAG із Charmed OpenSearch та KServe охоплює все необхідне для створення власного робочого процесу RAG, включаючи:

  • Передумови