O Caminho para a Produção: Avaliações e Observabilidade de Aplicações de LLM
À medida que muitas equipes de machine learning se preparam para implantar large language models (LLMs)) em produção, elas enfrentam desafios significativos, como lidar com alucinações e garantir uma implantação responsável. Antes de enfrentar essas questões, é crucial avaliá-las e identificá-las de forma eficaz.
Recentemente, no Unstructured Data Meetup, Hakan Tekgul, ML Solutions Architect na Arize AI, compartilhou estratégias perspicazes para conduzir avaliações de LLMs rápidas e precisas. Essas abordagens mantêm altos padrões de qualidade e confiabilidade das respostas e garantem a entrega de valor de negócio tangível.
Assista ao replay da palestra de Hakan Tekgul
Se você perdeu o evento, não se preocupe! Aqui está uma análise detalhada da apresentação de Hakan.
Levar demos de GenAI para produção é desafiador!
Criar aplicações de GenAI pode parecer simples inicialmente, especialmente com ferramentas fáceis de usar como LangChain e LlamaIndex, que facilitam a criação de aplicações de demonstração. No entanto, a transição para produtos completos capazes de gerar valor de negócio tangível é desafiadora. O ponto central está em garantir que essas aplicações entreguem consistentemente resultados confiáveis e de alta qualidade em um ambiente de produção.
Como é fazer a transição de uma demo do Twitter para um produto do mundo real
Vamos ilustrar esse desafio com um exemplo de chatbot de e-commerce. Os usuários interagem com esse chatbot para planejar suas férias.
A interface do chatbot de e-commerce
Embora a aplicação possa parecer simples do ponto de vista do usuário, os fluxos de trabalho nos bastidores são complexos. Aqui estão as principais etapas desse fluxo de trabalho:
Iniciação do chat: Os usuários iniciam a sessão interagindo com o chatbot.
Extração de parâmetros: O LLM extrai parâmetros estruturados da entrada do usuário.
Classificação/Recomendação: O modelo gera uma lista de possíveis destinos de férias com base nos parâmetros extraídos.
Busca e recuperação por embeddings: O sistema refina a lista realizando uma busca vetorial por informações mais relevantes.
Geração de resposta: O LLM gera uma resposta personalizada com base nos dados recuperados.
As principais etapas no fluxo de trabalho do chatbot e possíveis estratégias de solução de problemas
Cada etapa desse fluxo de trabalho pode encontrar problemas específicos. Uma solução de problemas eficaz é essencial para garantir uma experiência de usuário fluida e desempenho ideal. Por exemplo, talvez você precise:
Garantir o funcionamento sem problemas de ferramentas como LangChain e LlamaIndex, sem erros.
Criar e refinar prompts para extrair dados com precisão da entrada dos usuários.
Avaliar e otimizar continuamente o sistema de recomendação.
Melhorar a precisão e a relevância das informações recuperadas.
Solucionar problemas de todo o sistema e de cada componente individualmente.
Utilizar feedback para refinar e aprimorar continuamente o sistema.
A observabilidade de LLM vem em socorro!
Para enfrentar os desafios descritos anteriormente, é crucial aproveitar ferramentas de avaliação para uma observabilidade de LLM sem interrupções. Cinco facetas principais da observabilidade de LLM exigem atenção para garantir visibilidade total das suas aplicações. Ao conduzir essas avaliações com habilidade, as equipes podem alcançar uma observação holística de suas aplicações, garantindo confiabilidade e desempenho ideal.
| Cinco Pilares da Observabilidade de LLM | ||
| Pilar | Descrição | Problemas Comuns |
| Avaliação | Avaliação sistemática das saídas de LLM usando um LLM de avaliação separado | Qualidade e alinhamento da saída |
| Spans e Traces | Visibilidade detalhada das decomposições do fluxo de trabalho | Identificação de pontos específicos de falha |
| Engenharia de Prompts | Refinamento iterativo de templates de prompt para melhores resultados | Melhoria da precisão e relevância das respostas |
| Busca e Recuperação | Localizar e melhorar o contexto recuperado | Aprimoramento da precisão da recuperação |
| Fine-tuning | Retreinamento de LLMs em dados específicos para desempenho personalizado | Alinhamento com necessidades específicas do negócio |
Nas seções a seguir, exploraremos as categorias Avaliação de LLM e Spans e Traces de LLM em mais detalhes para destacar sua importância na otimização da observabilidade de LLM.
Avaliações de LLM
Avaliações de LLM (LLM Evals) referem-se à avaliação sistemática das saídas da sua aplicação de GenAI usando um LLM separado como "juiz." Avaliações regulares garantem que o conteúdo gerado atenda aos padrões de qualidade e cumpra as expectativas dos usuários. Por exemplo, um serviço de sugestões de férias emprega um LLM de avaliação para revisar recomendações rotineiramente. Esse sistema de avaliação aciona um processo de revisão para atualizar os dados de treinamento se as recomendações se tornarem desatualizadas ou irrelevantes.
Model Evals vs. LLM Evals
Antes de nos aprofundarmos nos detalhes, vamos comparar dois conceitos semelhantes: model evals e LLM evals.
Model Evals ajudam você a selecionar o modelo fundamental para sua aplicação e garantem que ele esteja alinhado aos casos de uso gerais.
LLM Evals medem o desempenho de tarefas e componentes específicos dentro da sua aplicação baseada em LLM. LLM evals incluem avaliação de recuperação, alucinação, frustração do usuário, perguntas e respostas, sumarização e geração de código, conforme ilustrado na imagem abaixo.
LLM Evals em produção - Medição de desempenho de tarefas | Arize
Como as LLM Evals Funcionam
Avaliar o desempenho de grandes modelos de linguagem (LLMs) usando um LLM juiz pode parecer complexo, mas se torna muito mais gerenciável com as ferramentas e metodologias certas. A biblioteca Phoenix LLM Evals é uma ferramenta de código aberto projetada para facilitar avaliações de LLM rápidas e diretas. Essa biblioteca integra um LLM juiz, templates de avaliação e parâmetros de modelo em uma estrutura coesa.
Como esse processo funciona? Seus dados de entrada são alimentados na biblioteca Phoenix juntamente com os dados de saída gerados pela sua aplicação de LLM. O LLM Juiz dentro da biblioteca então usa esses dados de entrada e saída, juntamente com um template de prompt, para avaliar o desempenho do seu sistema em uma tarefa específica.
LLM Evals - Como funcionam em geral
Vamos analisar o processo de avaliação. Considere uma aplicação de Geração Aumentada por Recuperação (RAG) que recupera contexto de um banco de dados vetorial como o Milvus e então gera respostas com base na pergunta do usuário e no contexto recuperado.
Ao medir o desempenho em uma tarefa de recuperação RAG, os dados de entrada (pergunta do usuário) e os dados de saída (texto de referência) são alimentados na Biblioteca Phoenix. O Judge LLM usa o Modelo de Avaliação para avaliar quão bem o texto de referência responde à pergunta do usuário. Por exemplo, se a pergunta do usuário for "Encontre receitas francesas tradicionais", e o texto de referência fornecer uma receita de sopa de pão com cebola caramelizada, o Modelo de Avaliação comparará esses dois para avaliar sua relevância.
LLM Evals- Como funcionam em um caso de uso RAG
Benchmarking dos seus resultados de avaliação de LLM
Discutimos como o processo de avaliação de LLM funciona, mas como você pode ter certeza de que ele será eficaz para seu caso de uso específico? A resposta está no benchmarking dos seus resultados de avaliação.
Abaixo estão as principais etapas que seguimos para fazer o benchmarking dos resultados.
Primeiro, utilizamos conjuntos de dados públicos que incluem respostas rotuladas por humanos. Esses conjuntos de dados consistem em perguntas de usuários e textos de referência, com anotações indicando sua relevância. Com esses conjuntos de dados bem estabelecidos, criamos uma base sólida para comparação.
Em seguida, comparamos o desempenho dos nossos modelos de prompt com as respostas fornecidas por humanos nesses conjuntos de dados públicos. Essa etapa nos permite avaliar quão bem nossos modelos identificam respostas relevantes, usando o julgamento humano como referência.
Por fim, calculamos pontuações de precisão e recall para quantificar o desempenho dos nossos modelos de prompt. A precisão mede a exatidão dos resultados relevantes retornados pelo sistema RAG, enquanto o recall mede a capacidade do sistema de recuperar todas as instâncias relevantes.
Essas pontuações de precisão e recall indicam quão efetivamente nossos modelos de prompt funcionam em uma ampla variedade de exemplos rotulados por humanos. Esse processo de benchmarking garante que a avaliação e os modelos de prompt sejam confiáveis e possam ser usados com segurança para avaliar o desempenho das suas aplicações de LLM.
Após essas medições, determine qual modelo usar para o seu Judge LLM. Tarefas diferentes podem exigir modelos julgadores diferentes. Por exemplo, o GPT-3.5-turbo-instruct pode não ter um bom desempenho em uma avaliação de correção de Q&A, mas se sai muito bem na avaliação de recuperação. Talvez seja necessário trocar de modelos de fundação se você estiver avaliando outra coisa. É por isso que o benchmarking é crucial.
Após essas medições, a próxima etapa é determinar qual modelo usar para o seu Judge LLM. Tarefas diferentes podem exigir modelos julgadores diferentes. Por exemplo, o GPT-3.5-turbo-instruct pode não ter um bom desempenho em uma avaliação de correção de Q&A, mas se destaca em avaliações de recuperação. Talvez seja necessário trocar de modelos fundacionais para avaliar um aspecto diferente. Essa flexibilidade é o motivo pelo qual o benchmarking é crucial.
Spans e Traces de LLM
Agora aprendemos como avaliar suas aplicações de LLM como um todo. Mas como você avalia a interação da sua aplicação componente por componente? Considere uma cadeia completa de sistemas de recuperação construída em frameworks como LamaIndex ou LangChain. Se uma avaliação de Q&A indicar uma resposta errada, você apenas sabe que a interação falhou, mas ainda precisa determinar onde. É aqui que entra o conceito de Spans e Traces de LLM.
Vários tipos de avaliações de Span podem ajudar a identificar a falha. Por exemplo, você pode usar:
Avaliação de frustração do usuário para verificar a interação do chatbot
Avaliação de classificação durante a extração de atributos
Avaliação de recuperação para avaliar o componente de recuperação
Avaliação de classificação para o processo de classificação
Avaliações em Spans de LLM
Se houver um problema com a avaliação de recuperação, isso impacta diretamente a correção das perguntas e respostas. LLM Spans e Traces ajudam a visualizar e diagnosticar esses problemas dentro da sua aplicação.
Hakan também compartilhou uma demonstração mostrando como LLM Spans e Traces funcionam. Assista ao replay da palestra dele no YouTube para ver mais detalhes da demonstração.
Conclusão
Refletindo sobre a palestra de Hakan Tekgul, fica claro que colocar LLMs em produção não é uma tarefa simples. A jornada de uma demonstração refinada até uma aplicação confiável e pronta para os negócios é repleta de desafios que exigem atenção aos detalhes e uma estrutura robusta de observabilidade.
Hakan compartilhou duas estratégias principais de avaliação de LLM, a Avaliação de LLM e os LLM Spans e Traces, e explicou como elas funcionam com exemplos detalhados. Essas estratégias avaliam sistematicamente aplicações de LLM, garantindo sua confiabilidade e eficácia em casos de uso do mundo real.
Continue lendo

Migrating Self-Managed Milvus to Zilliz Cloud for >99% Latency Reduction
Step-by-step guide to migrating 50M vectors from self-managed Milvus to Zilliz Cloud using milvus-backup. Achieve >99% query latency reduction with zero data loss.

How Zilliz Saw the Future of Vector Databases—and Built for Production
An inside look at how Zilliz built vector databases for real-world use, focusing on scalability, stability, and running them reliably at scale.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.



