Попугай: эффективное обслуживание приложений на основе LLM с семантическими переменными
Parrot: Efficient Serving of LLM-based Applications with Semantic Variable
May 30, 2024
Авторы: Chaofan Lin, Zhenhua Han, Chengruidong Zhang, Yuqing Yang, Fan Yang, Chen Chen, Lili Qiu
cs.AI
Аннотация
Возникновение больших языковых моделей (LLM) позволило создание приложений на основе LLM (также известных как искусственный интеллект или совместные пилоты), новой парадигмы программного обеспечения, объединяющей мощь LLM и традиционное программное обеспечение. Разнообразные приложения на основе LLM от разных арендаторов могут разрабатывать сложные рабочие процессы, используя несколько запросов LLM для выполнения одной задачи. Однако им приходится использовать слишком упрощенный API на уровне запроса, предоставленный сегодняшними общедоступными службами LLM, теряя важную информацию на уровне приложения. Общедоступные службы LLM должны слепо оптимизировать отдельные запросы LLM, что приводит к субоптимальной производительности конечного результата приложений на основе LLM.
В данной статье представлена Parrot, система службы LLM, сосредотачивающаяся на конечном опыте приложений на основе LLM. Parrot предлагает Семантическую Переменную, унифицированную абстракцию для предоставления информации на уровне приложения общедоступным службам LLM. Семантическая Переменная аннотирует переменную ввода/вывода в запросе и создает конвейер данных при соединении нескольких запросов LLM, обеспечивая естественный способ программирования приложений на основе LLM. Предоставление Семантических Переменных общедоступной службе LLM позволяет ей выполнять традиционный анализ потока данных для выявления корреляции между несколькими запросами LLM. Эта корреляция открывает совершенно новое пространство оптимизации для конечной производительности приложений на основе LLM. Обширные оценки показывают, что Parrot может достичь улучшения до порядка величины для популярных и практических случаев использования приложений на основе LLM.
English
The rise of large language models (LLMs) has enabled LLM-based applications
(a.k.a. AI agents or co-pilots), a new software paradigm that combines the
strength of LLM and conventional software. Diverse LLM applications from
different tenants could design complex workflows using multiple LLM requests to
accomplish one task. However, they have to use the over-simplified
request-level API provided by today's public LLM services, losing essential
application-level information. Public LLM services have to blindly optimize
individual LLM requests, leading to sub-optimal end-to-end performance of LLM
applications.
This paper introduces Parrot, an LLM service system that focuses on the
end-to-end experience of LLM-based applications. Parrot proposes Semantic
Variable, a unified abstraction to expose application-level knowledge to public
LLM services. A Semantic Variable annotates an input/output variable in the
prompt of a request, and creates the data pipeline when connecting multiple LLM
requests, providing a natural way to program LLM applications. Exposing
Semantic Variables to the public LLM service allows it to perform conventional
data flow analysis to uncover the correlation across multiple LLM requests.
This correlation opens a brand-new optimization space for the end-to-end
performance of LLM-based applications. Extensive evaluations demonstrate that
Parrot can achieve up to an order-of-magnitude improvement for popular and
practical use cases of LLM applications.Summary
AI-Generated Summary