Nossa missão ao construir a New Relic AI era desbloquear a observabilidade para todos, permitindo que qualquer usuário pergunte qualquer coisa aos seus dados de telemetria. A New Relic AI consegue isso permitindo que os clientes interajam com o banco de dados New Relic (NRDB) usando linguagem natural, reduzindo sua dependência da proficiência da New Relic Query Language (NRQL) e simplificando a análise em seu stack de tecnologia. Recursos adicionais incluem sintetizar insights da nossa documentação e base de conhecimento, revelar anomalias do sistema e muito mais.
Avaliação de desempenho
O estabelecimento de medidas e protocolos de avaliação robustos é um aspecto fundamental do trabalho com big data, onde prosperam os modelos de IA. Com inúmeras decisões a tomar, é essencial avaliá-las de forma sistemática e em grande escala. Os algoritmos tradicionais de aprendizado de máquina (machine learning, ML) costumam ter métricas de avaliação bem definidas e estabelecidas para conseguir fazer isso. Por exemplo, em um problema de classificação de veículos, você poderia perguntar: "Identifiquei corretamente aquele carro na estrada?" ou, para um problema de regressão: "A que distância estava o número da minha previsão do resultado real?".
Com a introdução do ChatGPT, a OpenAI elevou o nível do que podemos alcançar usando IA generativa com um aumento gradual. O desempenho recém-estabelecido dessa tecnologia é um avanço tão representativo em relação a tudo que já vimos antes, que não apenas aprimorou os recursos existentes, mas também abriu um novo conjunto de possibilidades. No entanto, esta nova tecnologia apresenta desafios, um dos quais é a validação de desempenho. Embora novos recursos generativos de IA surjam todos os dias, ainda não foram estabelecidos protocolos de avaliação padrão e métricas para metrificar as tarefas subjacentes. A natureza não estruturada da produção em linguagem natural torna a formulação desses protocolos uma tarefa desafiadora. Nós, da equipe de desenvolvimento da New Relic AI, estamos atentos a esse aspecto, que é tão crucial para a criação de um recurso verdadeiramente confiável e que agregue valor real aos usuários.
Nosso objetivo com a New Relic AI era criar uma ferramenta que pudesse responder a qualquer pergunta. Como acontece com qualquer projeto de big data, precisamos avaliar as respostas para tomar decisões de design informadas e otimizar o desempenho. Mas, como podemos determinar se acertamos em qualquer coisa? Nesta publicação, compartilhamos algumas das medidas que tomamos para enfrentar esse problema.
Estratégia 1: identificação de áreas onde medidas claras de sucesso podem ser aplicadas
Embora a linguagem natural não seja estruturada e os sistemas generativos baseados em IA (como a New Relic AI) possam ser complexos, podemos dividi-los em componentes e identificar partes do sistema onde medidas claras de sucesso podem ser definidas. O design da New Relic AI é modularizado e os componentes gerenciáveis e independentes tornam a avaliação de todo o sistema mais sistemática. Ao longo de todas as fases de concepção e implementação, levamos consistentemente em consideração a importância da mensurabilidade e identificamos áreas específicas onde essas medidas poderiam ser aplicadas.
Exemplo 1: classificação de solicitações de usuários por caso de uso
Uma dessas áreas é a classificação das perguntas dos usuários em diferentes fluxos, que compõem a primeira etapa do processamento de cada solicitação dos usuários. Quando você faz uma pergunta à New Relic AI, ela primeiro decide para qual fluxo a pergunta deve ser encaminhada. É uma pergunta geral sobre a New Relic? Nesse caso, pesquisaremos nossa documentação. Uma pergunta sobre o próprio sistema do usuário (exigindo uma consulta NRQL)? Ou uma solicitação de uma visão geral dos erros no sistema (chamando o serviço Lookout)? Embora esta fase de “roteamento” envolva IA generativa, esse é, essencialmente, um problema de classificação que nos permite usar métricas de avaliação estabelecidas para classificação. Isso é crucial para avaliar se estávamos no caminho certo com nossa abordagem à solução e para dimensionar os recursos da New Relic AI, adicionando mais possibilidades de fluxos no futuro.
Exemplo 2: validação de sintaxe em NL2NRQL
Outro exemplo é a tradução de linguagem natural para NRQL (NL2NRQL), onde pegamos a entrada do usuário em linguagem natural e a convertemos em uma consulta NRQL. A New Relic AI é capaz de executar NR2NRQL, fazer a consulta no NRDB, buscar os dados e, em seguida, explicar os resultados. Se você usou o ChatGPT para ajuda de programação, deve ter encontrado alucinações de sintaxe, onde um bloco de código está perfeitamente estruturado, mas alguma palavra-chave, função ou atributo não existe. Para nós, era essencial evitar esse problema com NL2NRQL e fornecer aos usuários consultas válidas, que realmente buscassem seus dados. Para conseguir isso, podemos testar a validade do nosso NRQL gerado executando-o por meio do nosso analisador e compilador para avaliação de sintaxe e, em seguida, contra o NRDB para garantir que ele retorne resultados. A New Relic AI realiza validação de sintaxe continuamente e em tempo real, retornando aos usuários apenas consultas que estejam sintaticamente corretas. Isso oferece uma medida clara e binária de sucesso para esse aspecto do sistema (uma das múltiplas razões pelas quais queríamos desenvolver com base em NRQL desde o início).
Como observação, a OpenAI adotou recentemente uma abordagem semelhante com seu novo plug-in de interpretação de código, onde o código sugerido é executado para garantir sua correção.
Estratégia 2: combate às alucinações: a geração aumentada de recuperação (Retrieval-augmented generation, RAG) e reenquadramento da tarefa
Sempre que mencionávamos o nosso trabalho com IA generativa a colegas ou amigos, eles expressavam uma preocupação comum: "E as alucinações?"
As alucinações referem-se a uma armadilha conhecida destes modelos generativos de IA, que é a sua tendência de inventar fatos com muita confiança. Essencialmente, as respostas são sempre apresentadas com confiança, independentemente de serem precisas ou corretas (considere o nosso exemplo de alucinações sintáticas). Além disso, os modelos da OpenAI têm um limite de conhecimento que limita o seu conhecimento incorporado.
Para a New Relic AI (atualmente impulsionada inteiramente com GPT-4), esse problema é especialmente relevante ao responder perguntas gerais ou baseadas em conhecimento sobre a New Relic. Nosso objetivo é fornecer informações 100% precisas e atualizadas em todas as nossas respostas.
Uso de RAG
A geração aumentada de recuperação (RAG) é agora uma prática comum, estabelecida para lidar com alucinações. Ela envolve recuperar informações relevantes de um banco de dados externo e incorporá-las ao prompt do modelo de linguagem. O raciocínio por trás disso é simples: se você não tiver certeza se o conhecimento integrado do seu modelo é preciso para o seu caso de uso (o que geralmente é o caso) e como você sabe que ele não contém os fatos mais recentes, é possível trazer os fatos para o modelo a partir de uma fonte externa. Com a New Relic AI, essa fonte externa são nossos documentos armazenados em um banco de dados vetorial da Pinecone.
Reenquadramento da tarefa
Depois de trazermos o contexto relevante para o modelo com RAG, precisamos garantir que o modelo realmente se apoia nessa tecnologia, em vez de responder a partir do conhecimento incorporado. Isso significa ajustar a forma como apresentamos a pergunta do usuário ao modelo quando a pergunta está relacionada ao conhecimento geral da New Relic.
Para ilustrar isso, vamos usar um exemplo: Imagine que você recebeu uma tarefa com instruções específicas. No primeiro cenário, você simplesmente precisa responder a uma pergunta como: “Quem foi o terceiro presidente dos Estados Unidos?” Com esta frase, é razoável presumir que a resposta esperada use como base seu conhecimento prévio. Agora, imagine um segundo cenário onde a mesma pergunta é apresentada, mas você também recebe algum texto que pode servir de alguma ajuda. Neste caso, empregamos a RAG e, se o nosso objetivo for maximizar a precisão da resposta, esta abordagem provavelmente retornaria melhores resultados. Finalmente, vamos dar um passo além. Considere uma terceira configuração onde suas instruções são: “Aqui está um texto; sua tarefa é determinar se a resposta à pergunta ‘Quem foi o terceiro presidente dos Estados Unidos?’ pode ser encontrada o texto e, em caso afirmativo, fornecer uma explicação”. A terceira configuração é uma tarefa totalmente diferente da primeira, uma vez que se concentra na compreensão do texto, e não na recuperação do conhecimento.
Como a precisão do conhecimento é uma armadilha potencial da IA generativa (alucinações), e o resumo e a compreensão do texto são seus pontos fortes, formulamos nossa sugestão seguindo o conceito da terceira configuração.
Estratégia 3: promoção da confiabilidade por meio da transparência e da comunicação clara
Uma etapa adicional que adotamos para aumentar a confiabilidade da New Relic AI foi o fornecimento das informações de que os usuários precisam para avaliar as respostas por conta própria. Se oferecermos respostas sem contexto, os usuários podem se sentir inseguros quanto à sua validade. Para resolver isso, enfatizamos a comunicação clara durante todo o processo, adicionando etapas intermediárias em vários estágios do fluxo de perguntas e respostas.
Por exemplo, quando os usuários perguntam sobre seus próprios dados (por exemplo, "Quantas transações eu fiz hoje?") a New Relic AI primeiro informa que a pergunta será convertida em uma consulta NRQL. Dessa forma, os usuários sabem que estamos usando o NRQL para responder às suas perguntas e já podem avaliar se essa abordagem faz sentido. Em seguida, a IA fornece a consulta gerada (por exemplo, SELECT count(*) FROM Transaction SINCE TODAY
, ou seja, SELECIONE o número de transações DESDE HOJE), oferece uma visualização criada consultando a NerdGraph — nossa API GraphQL — com a consulta gerada e, finalmente, apresenta a resposta com base nos dados retornados do NRDB (por exemplo, "16.443.606.861"). Ao compartilhar as mesmas informações usadas para obter a resposta final, os usuários podem compreender e confiar mais na resposta. Mesmo que não sejam proficientes em NRQL, a sintaxe da consulta e as palavras-chave costumam ser autoexplicativas, facilitando a compreensão.
Da mesma forma, quando a IA responde a uma pergunta de conhecimento sobre a New Relic, ela primeiro informa ao usuário que pretende usar uma pesquisa nos documentos e depois fornece links para as referências usadas junto com a resposta.
Atenção ao feedback
Nossos usuários atuam como juízes finais dos recursos da New Relic e coletamos feedback continuamente. Somos gratos a todos os usuários externos e internos que contribuem com seus insights valiosos.
Se você estiver usando o New Relic AI, adoraríamos ouvir sua opinião. Continue nos ajudando a melhorar ao classificar suas respostas com os botões de polegar para cima/para baixo disponíveis em cada resposta ou enviando comentários adicionais em Help > Give Us Feedback (Ajuda > Ofereça seu feedback) no painel de navegação esquerdo.
Próximos passos
- Confira nossa documentaçã para começar a usar o New Relic AI.
- Ainda não se cadastrou para obter sua conta de usuário com acesso completo da New Relic? Crie uma conta gratuita e receba 100 GB/mês de ingestão de dados gratuita, além de acesso aos mais de 30 recursos da nossa plataforma, incluindo ferramentas populares como APM, monitoramento de infraestrutura, gerenciamento de log, dashboards personalizados, caixa de entrada de erros, tracing, monitoramento de alterações e muito mais.
As opiniões expressas neste blog são de responsabilidade do autor e não refletem necessariamente as opiniões da New Relic. Todas as soluções oferecidas pelo autor são específicas do ambiente e não fazem parte das soluções comerciais ou do suporte oferecido pela New Relic. Junte-se a nós exclusivamente no Explorers Hub ( discuss.newrelic.com ) para perguntas e suporte relacionados a esta postagem do blog. Este blog pode conter links para conteúdo de sites de terceiros. Ao fornecer esses links, a New Relic não adota, garante, aprova ou endossa as informações, visualizações ou produtos disponíveis em tais sites.