A Databricks opera em uma escala em que nossos logs e conjuntos de dados internos estão em constante mudança — os esquemas evoluem, novas colunas aparecem e a semântica dos dados drift. Neste blog, discutimos como nós, no Databricks, usamos o Databricks internamente para manter PII e outros dados confidenciais rotulados corretamente à medida que nossa plataforma muda.
Para fazer isso, criamos o LogSentinel, um sistema de classificação de dados baseado em LLM no Databricks que rastreia a evolução do esquema, detecta o desvio de rotulagem e alimenta nossos controles de governança e segurança com rótulos de alta qualidade. Usamos o MLflow para acompanhar experimentos e monitorar o desempenho ao longo do tempo, e estamos integrando as melhores ideias do LogSentinel de volta ao produto Databricks Data Classification para que os clientes possam se beneficiar da mesma abordagem.
Este sistema foi projetado para impulsionar três alavancas de negócios concretas para equipes de plataforma, dados e segurança:
Na prática, as equipes podem conectar novas tabelas a um pipeline padrão, monitorar métricas de desvio e exceções e contar com o sistema para aplicar restrições de PII e residência sem criar um classificador personalizado para cada domínio.
Desenvolvemos um sistema de classificação de colunas baseado em LLM no Databricks que anota tabelas continuamente usando nossa taxonomia de dados interna, detecta drift de rotulagem e abre tíquetes de remediação quando algo parece errado. Os vários componentes envolvidos no sistema são descritos abaixo (rastreados e avaliados usando o MLFlow):
O fluxo de trabalho de ponta a ponta é mostrado na figura abaixo
Para cada tipo de log ou dataset a ser anotado, amostramos aleatoriamente valores de cada coluna e enviamos os seguintes metadados para o sistema: nome da tabela, nome da coluna, tipo, comentário existente e uma pequena amostra de valores. Para reduzir o custo do LLM e melhorar a throughput, várias colunas da mesma tabela são agrupadas em lotes em uma única solicitação.
Nossa taxonomia é definida usando Protocol Buffers e atualmente inclui mais de 100 rótulos de dados hierárquicos, com espaço para extensões personalizadas quando as equipes precisam de categorias adicionais. Isso dá aos stakeholders de governança e da plataforma um contrato compartilhado sobre o que “PII” e “sensível” significam, além de um punhado de regexes.
Duas estratégias de aumento melhoram significativamente a qualidade da classificação:
O prompting estático é melhor durante os estágios iniciais ou quando os dados rotulados são limitados, proporcionando consistência e reprodutibilidade. O prompting dinâmico é mais eficaz em sistemas maduros, usando a busca vetorial para extrair exemplos semelhantes e se adaptar a novos esquemas e domínios de dados em datasets grandes e diversos.
No núcleo do sistema, há uma camada de orquestração leve que gerencia chamadas de LLM em escala de produção.
Os principais recursos incluem:
Prevemos três tipos de rótulos por coluna:
Para manter as predições consistentes e reduzir as alucinações, usamos um fluxo de dois estágios: um passo de classificação ampla atribui uma categoria de alto nível, e depois um passo de refinamento escolhe o rótulo exato dentro dessa categoria. Isso espelha como um revisor humano primeiro decidiria “estes são dados do workspace” e depois escolheria o rótulo de identificador de workspace específico.
Em vez de depender de uma única configuração 'ideal', cada configuração de modelo é tratada como um especialista que compete para rotular uma coluna.
Várias versões de modelo rodam em paralelo com diferenças em:
Cada especialista produz um rótulo e uma pontuação de confiança entre 0 e 100. O sistema então seleciona o rótulo do especialista com a maior confiança, uma abordagem no estilo Mixture-of-Experts que melhora a precisão e reduz o impacto de predições ruins ocasionais de qualquer configuração individual.
Este design torna a experimentação segura: novos modelos ou estratégias de prompt podem ser introduzidos, executados junto com os existentes e avaliados com base em métricas e no volume de tickets downstream antes de se tornarem o default.
O pipeline compara continuamente as anotações de esquema atuais com as previsões do LLM para revelar desvios significativos.
Casos típicos incluem:
Quando o sistema detecta uma violação, ele cria uma entrada de política e abre um ticket no JIRA para a equipe proprietária com contexto sobre a tabela, a coluna, o rótulo proposto e a confiança. Isso transforma os problemas de classificação de dados em um fluxo de trabalho contínuo que as equipes podem acompanhar e resolver da mesma forma que acompanham outros incidentes de produção.
O sistema foi avaliado em 2.258 amostras rotuladas, das quais 1.010 continham PII e 1.248 não eram PII. Neste dataset, alcançou até 92% de precisão e 95% de recall para detecção de PII.
Mais importante para as partes interessadas, a implantação produziu os resultados operacionais necessários:
Precisão e recall atuam como mecanismos de proteção, mas o sistema é ajustado em torno de resultados como tempo de revisão, latência de detecção de drift e o volume de tíquetes acionáveis produzidos por semana.
Ao combinar a rotulagem orientada por taxonomia e uma estrutura de avaliação no estilo MoE, habilitamos os fluxos de trabalho de engenharia e governança existentes no Databricks, com experimentos e implantações gerenciados usando o MLflow. Isso mantém os rótulos atualizados à medida que os esquemas mudam, torna as revisões de compliance mais rápidas e focadas e fornece os hooks de imposição necessários para aplicar regras de mascaramento e residência de forma consistente em toda a plataforma.
A parte mais empolgante deste trabalho é integrar nossos aprendizados internos diretamente no produto Data Classification. À medida que operacionalizamos e validamos essas técnicas dentro do LogSentinel, incorporamos nossas técnicas diretamente no Data Classification da Databricks.
O mesmo padrão — ingerir metadados e amostras, aumentar o contexto, orquestrar múltiplos LLMs e alimentar previsões em sistemas de políticas e tickets — pode ser reutilizado onde quer que seja necessária uma compreensão confiável e evolutiva dos dados. Ao incorporar essas percepções em nossa principal oferta de produtos, estamos capacitando todas as organizações a aproveitarem sua inteligência de dados para compliance e governança com a mesma precisão e escala que usamos na Databricks.
Este projeto foi possível graças à colaboração entre várias equipes de engenharia. Agradecimentos a Anirudh Kondaveeti, Sittichai Jiampojamarn, Zefan Xu, Li Yang, Xiaohui Sun, Dibyendu Karmakar, Chenen Liang, Viswesh Periyasamy, Chengzu Ou, Evion Kim, Matthew Hayes, Benjamin Ebanks, Sudeep Srivastava pelo apoio e contribuições.
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
