ChatPaper.aiChatPaper

Parrot: Serviço Eficiente de Aplicações Baseadas em LLM com Variável Semântica

Parrot: Efficient Serving of LLM-based Applications with Semantic Variable

May 30, 2024
Autores: Chaofan Lin, Zhenhua Han, Chengruidong Zhang, Yuqing Yang, Fan Yang, Chen Chen, Lili Qiu
cs.AI

Resumo

O surgimento de grandes modelos de linguagem (LLMs) possibilitou o desenvolvimento de aplicações baseadas em LLMs (também conhecidas como agentes de IA ou co-pilotos), um novo paradigma de software que combina a força dos LLMs com o software convencional. Diferentes aplicações de LLMs de diversos usuários podem projetar fluxos de trabalho complexos utilizando múltiplas requisições de LLMs para realizar uma única tarefa. No entanto, elas precisam usar a API simplificada no nível de requisição fornecida pelos serviços públicos de LLMs atuais, perdendo informações essenciais no nível da aplicação. Os serviços públicos de LLMs são obrigados a otimizar cegamente requisições individuais de LLMs, resultando em um desempenho subótimo de ponta a ponta para as aplicações baseadas em LLMs. Este artigo apresenta o Parrot, um sistema de serviço de LLMs que foca na experiência de ponta a ponta das aplicações baseadas em LLMs. O Parrot propõe a Variável Semântica, uma abstração unificada para expor o conhecimento no nível da aplicação aos serviços públicos de LLMs. Uma Variável Semântica anota uma variável de entrada/saída no prompt de uma requisição e cria o pipeline de dados ao conectar múltiplas requisições de LLMs, fornecendo uma maneira natural de programar aplicações de LLMs. Expor Variáveis Semânticas ao serviço público de LLMs permite que ele realize análises convencionais de fluxo de dados para descobrir a correlação entre múltiplas requisições de LLMs. Essa correlação abre um espaço de otimização completamente novo para o desempenho de ponta a ponta das aplicações baseadas em LLMs. Avaliações extensivas demonstram que o Parrot pode alcançar uma melhoria de até uma ordem de magnitude para casos de uso populares e práticos de aplicações de LLMs.
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.
PDF70December 12, 2024