Джерри Лю об интеграции данных: «LLM радикально упростят существующий стек»

The TWIML AI Podcast 2,3 тыс. 46 мин 7 мин 08.05.2023
Главное

В эпоху стремительного развития больших языковых моделей эффективная интеграция частных корпоративных данных становится главным вызовом для ИТ-индустрии. В рамках подкаста The TWIML AI Podcast сооснователь и генеральный директор LlamaIndex Джерри Лю (Jerry Liu) подробно разобрал, как развивались инструменты стыковки данных с нейросетями и почему традиционный ETL-стек может уйти в прошлое. Ключевая идея встречи заключается в переходе от простого семантического поиска к сложным иерархическим системам ИИ-агентов, способных самостоятельно оптимизировать работу с корпоративными знаниями.

🛠️ От накопления данных к осмыслению: история создания LlamaIndex 0:00

Путь Джерри Лю к созданию одного из самых популярных open-source проектов в сфере ИИ лежал через годы работы в крупнейших технологических компаниях. До основания собственного стартапа он работал инженером по машинному обучению в компании Quora над рекомендательными системами, затем два с половиной года занимал позицию исследователя в Uber и два года руководил командой мониторинга ML-пайплайнов в Robust Intelligence. Интерес Лю к генеративным моделям зародился еще в 2016–2017 годах с появлением генеративно-состязательных сетей (GAN), создававших размытые изображения размером 64x64 пикселя. По его признанию, тогда это казалось настоящей магией, что и определило его дальнейшую тягу к ИИ-исследованиям.

История LlamaIndex началась в ноябре 2022 года с решения сугубо прикладной повседневной задачи. Джерри Лю пытался создать интеллектуального бота для автоматизации продаж на базе GPT-3. Ему требовалось оптимизировать подготовку к созвонам с клиентами: вместо того чтобы тратить по 20–30 минут на ручное изучение старых заметок и транскриптов, ИИ должен был автоматически формировать готовый список задач (to-do list) к следующей встрече. Именно тогда разработчик вплотную столкнулся с фундаментальной проблемой контекстного окна языковых моделей.

На тот момент лимит контекста GPT-3 составлял всего около 4000 токенов, в то время как записи длинных разговоров значительно превышали этот объем. В качестве решения возникла идея создать внешнюю структуру данных, выполняющую роль своего рода жесткого диска или оперативной памяти, которая могла бы порционно кэшировать и передавать информацию в ограниченное окно модели. Изначальный прототип древовидной структуры данных (Tree Index), выложенный разработчиком в Twitter под названием GPT Index, быстро привлек внимание сообщества, несмотря на слабую работоспособность первых версий. Проект быстро эволюционировал из простого эксперимента в полноценный фреймворк для связи LLM с внешними источниками, получивший название LlamaIndex.

📊 Две парадигмы интеграции знаний в большие языковые модели 8:42

Когда перед разработчиком встает задача обогатить базовую нейросеть уникальными приватными знаниями компании, перед ним открываются два основных пути. Как объясняет Джерри Лю, эти подходы принципиально отличаются по своей технической сути и стоимости реализации.

Первый путь — это классическое дообучение модели (fine-tuning) с помощью градиентного спуска. За счет этого нейросеть фактически «запоминает» информацию из обучающего корпуса, как это делает ChatGPT с общедоступными статьями из Википедии. Однако Лю указывает на ряд критических барьеров, которые делают fine-tuning труднодоступным для рядовых разработчиков:

Второй путь, на котором сегодня и специализируется фреймворк LlamaIndex, представляет собой архитектуру RAG (Retrieval-Augmented Generation). В этой схеме предобученная языковая модель остается неизменной, но дополняется эффективной поисковой системой. Стандартный рабочий процесс в рамках этой парадигмы выглядит следующим образом:

  1. Исходный текстовый документ разбивается на небольшие фрагменты (чанки).
  2. Для каждого фрагмента вычисляется векторное представление (эмбеддинг).
  3. Чанки вместе с эмбеддингами сохраняются в специализированную векторную базу данных.
  4. Во время пользовательского запроса система кодирует этот запрос в вектор и выполняет поиск по сходству (top-K retrieval), извлекая наиболее релевантные куски текста.
  5. Полученные фрагменты подставляются в финальный промпт для LLM в качестве контекста, на основе которого модель генерирует точный ответ.

По оценке Джерри Лю, данный подход отлично решает простые фактологические задачи семантического поиска, но пасует перед более комплексными аналитическими запросами.

🏗️ Продвинутые примитивы и проблема сложных запросов 12:45

Стандартный семантический поиск через top-K извлечение оказывается бесполезным, если пользователю требуется получить саммари всего документа или оценить общий тон длинного эссе. Если просто закодировать промпт «дай мне краткое содержание книги», векторный поиск выдаст случайные разрозненные фрагменты, не связанные общей логикой. Для решения подобных задач LlamaIndex внедряет продвинутые архитектурные примитивы.

Одним из таких базовых решений является создание умного диспетчера (decision maker) на верхнем уровне интерфейса запросов. Маршрутизатор анализирует входящий вопрос и самостоятельно решает, какое действие требуется выполнить: запустить последовательное чтение всех блоков для суммаризации или использовать векторный поиск для точечного ответа, после чего направляет задачу в соответствующую подструктуру данных.

Лю приводит примеры более глубокой интеграции разрозненных корпоративных систем:

Инженерам необходимо уходить от наивных стратегий, когда текст просто режется на фиксированные куски по 4000 символов, считает спикер. LlamaIndex предлагает размечать данные легкими слоями метаданных, создавая структурированные узлы (nodes). В полуструктурированных форматах, таких как JSON, узлы связываются в граф с четкими иерархическими отношениями «родитель-потомок» или временными зависимостями (temporal relationships), что позволяет языковым моделям эффективно «ползать» по структуре данных и выдавать связные ответы.

🤖 Эра ИИ-агентов и радикальное упрощение традиционного ETL 19:23

Внедрение больших языковых моделей способно радикально упростить и перестроить всю современную индустрию работы с данными. По мнению Лю, традиционная цепочка инженерии данных, включающая сложнейшую очистку, ручное написание парсеров, тяжелые ETL-процессы (извлечение, преобразование, загрузка) и трансляцию в жесткие SQL-схемы ради аналитики, будет минимизирована. Причина кроется в способности современных моделей понимать «сырой» текст напрямую, успешно игнорируя сопутствующие HTML-теги или хаотичную markdown-разметку.

Под «ИИ-агентом» Джерри Лю понимает слой автоматизации принятия решений над любыми программными функциями. Вместо жестко прописанных в коде условий if-else, разработчик создает набор функций, а агент на основе контекста, доступных инструментов и предыстории шагов сам решает, какую функцию и с какими параметрами вызвать в следующий момент.

Тем не менее, Лю честно указывает на серьезные технологические ограничения агентных систем, актуальные на сегодняшний день:

Ситуация начала качественно меняться с выходом коммерческих моделей нового поколения, таких как GPT-4. Если GPT-3 часто «застревала» на сложных многоступенчатых инструкциях, то GPT-4 демонстрирует способность уверенно удерживать нить рассуждений и доводить длинные цепочки до конца, что и спровоцировало текущий бум автономных агентов. Лю ожидает, что в будущем индустрия придет к дистиллированным, узкоспециализированным и уменьшенным моделям, которые будут принимать решения значительно быстрее и дешевле.

🤝 Синергия с LangChain и архитектура корпоративного ИИ-интерфейса 33:40

Многие разработчики ошибочно воспринимают LlamaIndex и LangChain как прямых конкурентов, однако Джерри Лю называет их комплементарными инструментами. LangChain выступает в роли глобального фреймворка для создания ИИ-приложений широкого профиля. В то же время LlamaIndex фокусируется исключительно на глубокой и эффективной изоляции слоя данных. Например, при создании чат-бота в LangChain фреймворк LlamaIndex может быть подключен как выделенный инструмент или поисковый модуль (retriever). Также библиотека официально интегрирована в качестве плагина для ChatGPT.

Для построения полноценного корпоративного ИИ-интерфейса над массивом разрозненных баз данных (от файлов на сервере до PostgreSQL и MongoDB) Лю предлагает следующий поэтапный подход:

  1. Подключение к существующим хранилищам без изменения их внутренней структуры и перемещения сырых данных.
  2. Развертывание легкого слоя метаданных поверх единиц данных (строк, таблиц, файлов), превращая их в систему взаимосвязанных узлов (nodes).
  3. Создание кастомизированных индексов (деревьев, списков, векторов) под разные типы потенциальных запросов.
  4. Внедрение автоматического агентного слоя, который берет на себя рутину: рассчитывает оптимальные гиперпараметры, управляет расходом токенов и выбирает самый быстрый и дешевый индекс для решения задачи пользователя в реальном времени.

Джерри Лю резюмирует, что концепция полной автономности ИИ без участия человека пока вызывает здоровый скепсис у рынка. Однако концепция «ассистирующих агентов», которые встраиваются в ИТ-инфраструктуру и многократно повышают продуктивность инженеров и дата-сайентистов, является неизбежным будущим, к которому индустрия придет по мере масштабирования и удешевления базовых моделей.

💬 Цитаты

«Я вижу агентов как слой автоматизации для принятия решений над любой функцией, которую вы хотите запустить.»

Джерри Лю 25:39

«Концепция полной автономности ИИ без участия человека пока вызывает здоровый скепсис у рынка.»

Джерри Лю 45:26
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
RAG
Технология, дополняющая языковную модель внешней поисковой системой для работы с данными без дообучения.
Чанк
Небольшой фрагмент текста, на которые разбивается исходный документ для последующего векторного поиска.
Эмбеддинг
Векторное математическое представление смысла слова или фрагмента текста в многомерном пространстве.
ETL
Процесс извлечения, преобразования и загрузки данных из первоисточника в целевое хранилище или базу данных.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект LlamaIndex Джерри Лю архитектура RAG ИИ-агенты ETL-процессы