Выбрать язык

Фреймворк классификации API и генерации синтетических данных на основе больших языковых моделей

Новая система, использующая большие языковые модели для классификации естественно-языковых запросов в вызовы API и генерации синтетических наборов данных для оценки моделей.
apismarket.org | PDF Size: 0.7 MB
Оценка: 4.5/5
Ваша оценка
Вы уже оценили этот документ
Обложка PDF-документа - Фреймворк классификации API и генерации синтетических данных на основе больших языковых моделей

1. Введение

В данной статье рассматривается задача повышения доступности программных интерфейсов приложений (API) с использованием больших языковых моделей (LLM). Традиционное взаимодействие с API требует технических знаний о структуре, параметрах и конкретных вызовах, что создаёт барьер для нетехнических пользователей. Предлагаемая система использует LLM для двух основных функций: 1) Классификации естественно-языковых пользовательских запросов в соответствующие вызовы API и 2) Автоматической генерации синтетических, ориентированных на задачу наборов данных для оценки производительности LLM в задачах классификации API. Этот двойной подход направлен на снижение барьера для использования программного обеспечения, одновременно предоставляя разработчикам практический инструмент для оценки пригодности LLM для кастомизированного управления API.

2. Смежные исследования

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

2.1 Использование больших языковых моделей для сопоставления естественного языка с API

Предыдущие исследования изучали использование моделей типа «последовательность-последовательность» и дообученных вариантов BERT для сопоставления естественного языка с кодом или последовательностями API. Появление мощных универсальных LLM, таких как GPT-4, изменило парадигму, позволив осуществлять более гибкое и контекстно-зависимое сопоставление без обширного обучения для конкретной задачи.

2.2 Генерация синтетических данных в NLP

Генерация синтетических данных, критически важная для обучения и оценки в условиях дефицита реальных данных, эволюционировала от шаблонов на основе правил до генерации с помощью LLM. Модели, такие как GPT-4, могут создавать разнообразные, контекстно-релевантные текстовые примеры, что используется в данной работе для создания наборов данных для конкретных функций API.

3. Предлагаемый фреймворк

Ключевым нововведением является унифицированный фреймворк, который обрабатывает как задачу классификации, так и создание собственного эталонного набора для оценки.

3.1 Архитектура системы

Система состоит из двух взаимосвязанных модулей: Модуля классификации и Модуля генерации синтетических данных. Центральный оркестратор управляет рабочим процессом, принимая спецификации API на вход и выдавая на выходе либо классифицированный вызов API, либо сгенерированный набор данных для оценки.

3.2 Классификация естественного языка в вызовы API

Для заданного естественно-языкового запроса $q$ и множества возможных вызовов API $A = \{a_1, a_2, ..., a_n\}$, LLM выступает в роли классификатора $C$. Цель — найти API $a_i$, который максимизирует условную вероятность: $a^* = \arg\max_{a_i \in A} P(a_i | q, \theta)$, где $\theta$ представляет параметры LLM. Система использует few-shot промптинг с примерами для настройки модели.

3.3 Конвейер генерации синтетических наборов данных

Для целевой функции API модуль генерации использует LLM (например, GPT-4-turbo) для создания разнообразного набора естественно-языковых запросов $Q = \{q_1, q_2, ..., q_m\}$, соответствующих этому API. Процесс направляется промтами, которые определяют назначение API, его параметры, а также желаемые вариации в формулировках, сложности и намерениях пользователя.

4. Экспериментальная установка и результаты

4.1 Процесс генерации набора данных

Примеры наборов данных были сгенерированы для нескольких функций API (например, получение погоды, запрос к базе данных, обработка платежей) с использованием GPT-4-turbo. Каждый набор данных содержал сотни естественно-языковых запросов, сопоставленных с правильной меткой вызова API, охватывая ряд парафраз и вариантов пользовательских выражений.

4.2 Сравнение производительности моделей

Несколько LLM были оценены на сгенерированных наборах данных с использованием стандартной метрики точности классификации.

GPT-4

0.996

Точность

GPT-4o-mini

0.982

Точность

Gemini-1.5

0.961

Точность

LLaMA-3-8B

0.759

Точность

4.3 Анализ результатов

Результаты показывают значительный разрыв в производительности между ведущей проприетарной моделью (GPT-4) и сильным опенсорсным конкурентом (LLaMA-3-8B). Это подчёркивает критическую важность возможностей модели для надёжного развёртывания в реальных условиях. Высокая точность лучших моделей подтверждает осуществимость использования LLM для точной классификации вызовов API.

5. Технический анализ и ключевые выводы

Ключевой вывод: Эта статья не просто об использовании LLM в качестве классификатора API; это мета-фреймворк для оценки того, какую LLM использовать для этой конкретной задачи. Реальным продуктом является движок генерации синтетических данных, который превращает расплывчатую проблему «пригодности LLM» в измеримую, эталонируемую метрику. Это продуманный шаг, признающий, что в эпоху LLM способность создавать собственные высококачественные данные для оценки так же ценна, как и сама модель.

Логическая последовательность: Аргументация элегантно закольцована и самоподдерживаема: 1) Нам нужны LLM для понимания естественного языка для API. 2) Чтобы выбрать правильную LLM, нам нужны данные, специфичные для задачи. 3) Реальные данные сложно получить. 4) Следовательно, мы используем мощную LLM (GPT-4-turbo) для генерации этих данных. 5) Затем мы используем эти данные для тестирования других LLM. Это процесс самозагрузки, который использует самую мощную доступную модель для оценки всей области.

Сильные стороны и недостатки: Основное преимущество — практичность. Этот фреймворк предлагает немедленно готовое к использованию решение для предприятий, которые рассматривают набор API и панель доступных LLM (OpenAI, Anthropic, Google, опенсорс). Недостаток, который признают авторы, — риск «инцепции LLM»: использование LLM для генерации данных для тестирования других LLM может унаследовать и усилить смещения. Если у GPT-4 есть слепое пятно в понимании определённого типа запроса, он сгенерирует ошибочные тестовые данные, и все модели будут оцениваться по ошибочному стандарту. Это отражает проблемы, наблюдаемые в других генеративных областях, такие как циклы обучения GAN, где генератор и дискриминатор могут развивать общие патологии.

Практические рекомендации: Для технических директоров и продуктовых менеджеров вывод ясен: Не просто тестируйте GPT-4 для вашего естественно-языкового интерфейса к API. Тестируйте этот фреймворк. Используйте его для проведения сравнительного анализа между GPT-4o, Claude 3 и Gemini на ваших реальных спецификациях API. Разрыв в точности в 24 пункта между GPT-4 и LLaMA-3-8B является суровым предупреждением о том, что выбор модели — нетривиальная задача, а стоимость (бесплатная vs. платная) — опасный суррогат производительности. Фреймворк предоставляет количественные доказательства, необходимые для принятия многомиллионного решения о выборе платформы.

6. Пример применения фреймворка

Сценарий: Финтех-компания хочет добавить естественно-языковой интерфейс к своему внутреннему «API анализа транзакций», который имеет такие функции, как get_transactions_by_date(date_range, user_id), flag_anomalous_transaction(transaction_id, reason) и generate_spending_report(user_id, category).

Применение фреймворка:

  1. Генерация набора данных: Компания использует Модуль генерации синтетических данных (на основе GPT-4-turbo) с промтами, описывающими каждую функцию API. Для get_transactions_by_date могут быть сгенерированы запросы типа: «Покажите мои покупки за прошлую неделю», «На что я потратил деньги с 1 по 10 марта?», «Могу ли я увидеть историю моих транзакций за прошлый месяц?»
  2. Оценка моделей: Они используют сгенерированный набор данных (например, 500 запросов по 3 функциям API) для тестирования кандидатов LLM: GPT-4o, Claude 3 Sonnet и внутренне дообученной Llama 3. Они измеряют точность и задержку.
  3. Выбор и развёртывание: Результаты показывают, что Claude 3 Sonnet достигает точности 98,5% при вдвое меньшей стоимости за вызов по сравнению с GPT-4o, что делает его оптимальным выбором. Дообученная Llama 3 набирает 89%, но обеспечивает конфиденциальность данных. Количественные результаты позволяют принять чёткое, основанное на доказательствах решение.
Этот пример демонстрирует, как фреймворк переводит обсуждение от субъективных догадок к выбору платформы на основе данных.

7. Будущие применения и направления

Последствия этой работы выходят за рамки простой классификации API:

  • Улучшение low-code/no-code платформ: Интеграция этого фреймворка в такие платформы, как Zapier или Microsoft Power Platform, могла бы позволить пользователям создавать сложные автоматизации, используя чистый естественный язык, который система преобразует в последовательность вызовов API различных сервисов.
  • Демократизация корпоративного ПО: Сложные корпоративные программные комплексы (например, SAP, Salesforce) с сотнями API могут стать доступными для бизнес-аналитиков через разговорные интерфейсы, что значительно сократит затраты на обучение и расширит полезность.
  • Динамические экосистемы API: В архитектурах IoT или микросервисов, где API часто меняются или добавляются новые, модуль генерации синтетических данных может периодически запускаться для обновления набора данных для оценки и повторной оценки наиболее производительной LLM, создавая самоадаптирующийся интерфейсный слой.
  • Направление исследований — сокращение галлюцинаций: Критически важным следующим шагом является интеграция формальной верификации или проверки ограничений, вдохновлённая методами синтеза программ, чтобы гарантировать, что классифицированный вызов API не только правдоподобен, но также семантически корректен и безопасен для выполнения.
  • Направление исследований — мультимодальные входные данные: Будущие фреймворки могли бы принимать мультимодальные запросы (например, пользователь указывает на элемент дашборда, задавая вопрос) и сопоставлять их с составным вызовом API, объединяя компьютерное зрение с NLP.

8. Список литературы

  1. Brown, T. B., et al. (2020). Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems, 33.
  2. OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
  3. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision.
  4. Raffel, C., et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. Journal of Machine Learning Research, 21.
  5. Schick, T., & Schütze, H. (2021). Generating Datasets with Pretrained Language Models. Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing.
  6. Microsoft Research. (2023). The Era of Copilots: AI-Powered Software Development. Retrieved from Microsoft Research Blog.
  7. Google AI. (2024). Gemini: A Family of Highly Capable Multimodal Models. Technical Report.