Databricks opera a una escala en la que nuestros registros internos y datasets cambian constantemente: los esquemas evolucionan, aparecen nuevas columnas y la semántica de los datos varía. En este blog, analizamos cómo usamos Databricks internamente en Databricks para mantener la PII y otros datos confidenciales correctamente etiquetados a medida que nuestra plataforma cambia.
Para ello, creamos LogSentinel, un sistema de clasificación de datos basado en LLM en Databricks que realiza un seguimiento de la evolución de los esquemas, detecta la variación del etiquetado y aporta etiquetas de alta calidad a nuestros controles de gobernanza y seguridad. Usamos MLflow para realizar un seguimiento de los experimentos y monitorear el rendimiento a lo largo del tiempo, y estamos integrando las mejores ideas de LogSentinel de nuevo en el producto Databricks Data Classification para que los clientes puedan beneficiarse del mismo enfoque.
Este sistema está diseñado para impulsar tres palancas de negocio concretas para los equipos de plataforma, datos y seguridad:
En la práctica, los equipos pueden conectar nuevas tablas a un pipeline estándar, supervisar las métricas de variación y las excepciones, y confiar en el sistema para aplicar las restricciones de PII y residencia sin crear un clasificador a medida para cada dominio.
Creamos un sistema de clasificación de columnas basado en LLM en Databricks que anota continuamente las tablas utilizando nuestra taxonomía de datos interna, detecta la variación del etiquetado y abre tickets de remediación cuando algo parece incorrecto. Los diversos componentes que forman parte del sistema se describen a continuación (seguidos y evaluados con MLflow):
El flujo de trabajo de extremo a extremo se muestra en la siguiente figura
Para cada tipo de registro o conjunto de datos que se va a anotar, tomamos muestras de valores al azar de cada columna y enviamos los siguientes metadatos al sistema: nombre de la tabla, nombre de la columna, tipo, comentario existente y una pequeña muestra de valores. Para reducir el costo de los LLM y mejorar el rendimiento, se agrupan varias columnas de la misma tabla en una sola solicitud.
Nuestra taxonomía se define mediante Protocol Buffers y actualmente incluye más de 100 etiquetas de datos jerárquicas, con espacio para extensiones personalizadas cuando los equipos necesitan categorías adicionales. Esto proporciona a las partes interesadas de la gobernanza y la plataforma un contrato compartido sobre lo que significan “PII” y “confidencial” más allá de un puñado de regex.
Dos estrategias de aumento mejoran significativamente la calidad de la clasificación:
El prompting estático es mejor durante las primeras etapas o cuando los datos etiquetados son limitados, lo que proporciona coherencia y reproducibilidad. El prompting dinámico es más eficaz en sistemas maduros, ya que utiliza la búsqueda vectorial para extraer ejemplos similares y adaptarse a nuevos esquemas y dominios de datos en conjuntos de datos grandes y diversos.
En el núcleo del sistema hay una capa de orquestación ligera que gestiona las llamadas a los LLM a escala de producción.
Las capacidades clave incluyen:
Predecimos tres tipos de etiquetas por columna:
Para mantener la coherencia de las predicciones y reducir las alucinaciones, utilizamos un flujo de dos etapas: un paso de clasificación general asigna una categoría de alto nivel y, a continuación, un paso de refinamiento elige la etiqueta exacta dentro de esa categoría. Esto refleja cómo un revisor humano decidiría primero “estos son datos del espacio de trabajo” y luego elegiría la etiqueta de identificador de espacio de trabajo específica.
En lugar de depender de una única configuración “óptima”, cada configuración de modelo se trata como un experto que compite por etiquetar una columna.
Varias versiones de modelos se ejecutan en paralelo con diferencias en:
Cada experto produce una etiqueta y una puntuación de confianza entre 0 y 100. A continuación, el sistema selecciona la etiqueta del experto con la mayor confianza, un enfoque al estilo de mezcla de expertos (Mixture-of-Experts) que mejora la precisión y reduce el impacto de las predicciones erróneas ocasionales de cualquier configuración.
Este diseño hace que sea seguro experimentar: se pueden introducir nuevos modelos o estrategias de prompt, ejecutarlos junto a los existentes y evaluarlos tanto en función de las métricas como del volumen de tickets posteriores antes de que se conviertan en la opción predeterminada.
El pipeline compara continuamente las anotaciones de esquema actuales con las predicciones del LLM para detectar desviaciones significativas.
Los casos típicos incluyen:
Cuando el sistema detecta una infracción, crea una entrada de política y abre un ticket de JIRA para el equipo propietario con contexto sobre la tabla, la columna, la etiqueta propuesta y la confianza. Esto convierte los problemas de clasificación de datos en un flujo de trabajo continuo que los equipos pueden seguir y resolver de la misma manera que siguen otros incidentes de producción.
El sistema se evaluó con 2258 muestras etiquetadas, de las cuales 1010 contenían PII y 1248 no eran PII. En este conjunto de datos, alcanzó hasta un 92 % de precisión y un 95 % de recall para la detección de PII.
Lo que es más importante para las partes interesadas es que la implementación produjo los resultados operativos que se necesitaban:
La precisión y la exhaustividad actúan como barreras de protección, pero el sistema se ajusta en torno a resultados como el tiempo de revisión, la latencia de detección de variaciones y el volumen de tickets procesables producidos por semana.
Al combinar el etiquetado basado en taxonomía y un marco de evaluación de estilo MoE, hemos habilitado los flujos de trabajo de ingeniería y gobernanza existentes en Databricks, con experimentos e implementaciones gestionados mediante MLflow. Mantiene las etiquetas actualizadas a medida que cambian los esquemas, hace que las revisiones de cumplimiento normativo sean más rápidas y centradas, y proporciona los ganchos de aplicación necesarios para aplicar las reglas de enmascaramiento y residencia de forma coherente en toda la plataforma.
La parte más emocionante de este trabajo es la integración de nuestros aprendizajes internos directamente en el producto Data Classification. A medida que operacionalizamos y validamos estas técnicas dentro de LogSentinel, incorporamos nuestras técnicas directamente en Databricks Data Classification.
El mismo patrón —ingerir metadatos y muestras, aumentar el contexto, orquestar múltiples LLM y enviar las predicciones a los sistemas de políticas y de tickets— puede reutilizarse siempre que se requiera una comprensión fiable y evolutiva de los datos. Al incorporar estos conocimientos en nuestra oferta de productos principal, permitimos que todas las organizaciones aprovechen su inteligencia de datos para el cumplimiento y la gobernanza con la misma precisión y escala que nosotros en Databricks.
Este proyecto fue posible gracias a la colaboración de varios equipos de ingeniería. Gracias 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 por su apoyo y sus contribuciones.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
