Habilitar medição: Infraestrutura de suporte
Este artigo detalha a infraestrutura necessária para medir a qualidade e como a Databricks a fornece. Medir a qualidade não é fácil e requer um investimento significativo em infraestrutura.
Registro detalhado de rastreamento
O cerne da lógica do seu aplicativo RAG é uma série de os passos na cadeia. Para avaliar e depurar a qualidade, é preciso implementar instrumentação que rastreie as entradas e saídas da cadeia, junto com cada o passo da cadeia, e suas entradas e saídas associadas. A instrumentação implementada deve funcionar da mesma forma no desenvolvimento e na produção.
No Databricks, o MLflow Tracing oferece essa capacidade. Com o MLflow Trace Logging, instrumenta-se o código em produção e obtêm-se os mesmos rastreamentos durante o desenvolvimento e em produção. Os rastreamentos de produção são registrados como parte da Tabela de Inferência.
Interface do usuário de revisão de stakeholders
Na maioria das vezes, como desenvolvedor, você não é um especialista no domínio do conteúdo do aplicativo que está desenvolvendo. Para coletar feedback de especialistas humanos que podem avaliar a qualidade da saída do seu aplicativo, você precisa de uma interface que permita a eles interagir com as primeiras versões do aplicativo e fornecer feedback detalhado. Além disso, é preciso uma forma de carregar saídas de aplicativos específicas para que as partes interessadas avaliem a qualidade delas.
Esta interface deve rastrear os resultados do aplicativo e o feedback associado de maneira estruturada, armazenando o rastreamento completo do aplicativo e o feedback detalhado em uma tabela de dados.
No Databricks, o aplicativo de revisão Agent Evaluation fornece essa capacidade.
Estrutura de métricas de qualidade, custo e latência
É necessário um meio para definir as métricas que meçam de forma abrangente a qualidade de cada componente da sua cadeia e da aplicação ponta a ponta. Idealmente, a estrutura forneceria um conjunto de métricas padrão prontas para uso, além de oferecer suporte à personalização, para que seja possível adicionar métricas que testem aspectos específicos de qualidade que são únicos para o seu negócio.
Na Databricks, o Agent Evaluation fornece uma implementação pronta para uso, utilizando modelos de juiz LLM hospedados, para as métricas necessárias de qualidade, custo e latência.
Avaliador de avaliação
Você precisa de uma maneira rápida e eficiente de obter saídas da sua cadeia para cada pergunta no seu conjunto de avaliação, e então avaliar cada saída nas métricas relevantes. Este harness deve ser o mais eficiente possível, uma vez que você fará a execução da avaliação após cada experimento que tentar para melhorar a qualidade.
No Databricks, o Agent Evaluation fornece uma estrutura de avaliação integrada ao MLflow.
Gerenciamento de conjunto de avaliação
Seu conjunto de avaliação é um conjunto de perguntas dinâmico e em constante evolução que você atualizará iterativamente ao longo do ciclo de vida de desenvolvimento e produção da sua aplicação.
No Databricks, você pode gerenciar seu conjunto de avaliação como uma Tabela Delta. Ao avaliar com o MLflow, o MLflow irá log automaticamente um Snapshot da versão do conjunto de avaliação usado.
Estrutura de acompanhamento de experimentos
Durante o desenvolvimento de seu aplicativo, muitos experimentos diferentes serão realizados. Uma estrutura de acompanhamento de experimentos permite log cada experimento e acompanhar suas métricas em comparação com outros experimentos.
No Databricks, o MLflow fornece funcionalidades de acompanhamento de experimentos.
Estrutura de parametrização em cadeia
Muitos experimentos que você tenta exigem que você mantenha o código da cadeia constante enquanto itera em vários parâmetros usados pelo código. Você precisa de um framework que o capacite a fazer isso.
Em Databricks, a configuração de modelo MLflow oferece estes recursos.
Monitoramento online
Uma vez implantado, é necessário um meio para monitorar a saúde do aplicativo e a qualidade, o custo e a latência contínuos.
No Databricks, o Model Serving oferece monitoramento de integridade do aplicativo e o perfil de dados fornece saídas contínuas para um dashboard e monitora qualidade, custo e latência.