Databricks opère à une échelle où nos logs et datasets internes changent constamment : les schémas évoluent, de nouvelles colonnes apparaissent et la sémantique des données drift. Cet article de blog explique comment nous utilisons Databricks en interne chez Databricks pour que les PII et autres données sensibles restent correctement étiquetées à mesure que notre plateforme évolue.
Pour ce faire, nous avons développé LogSentinel, un système de classification de données basé sur un LLM sur Databricks qui suit l'évolution des schémas, détecte la dérive d'étiquetage et fournit des étiquettes de haute qualité à nos contrôles de gouvernance et de sécurité. Nous utilisons MLflow pour suivre les expériences et surveiller les performances dans le temps, et nous intégrons les meilleures idées de LogSentinel dans le produit Databricks Data Classification afin que les clients puissent bénéficier de la même approche.
Ce système est conçu pour agir sur trois leviers commerciaux concrets pour les équipes en charge de la plateforme, des données et de la sécurité :
En pratique, les équipes peuvent intégrer de nouvelles tables dans un pipeline standard, surveiller les métriques de drift et les exceptions, et s'appuyer sur le système pour appliquer les contraintes relatives aux PII et à la résidence des données sans avoir à cr éer un classifieur sur mesure pour chaque domaine.
Nous avons développé sur Databricks un système de classification de colonnes basé sur un LLM qui annote en continu les tables à l'aide de notre taxonomie de données interne, détecte la dérive de l'étiquetage et ouvre des tickets de correction lorsqu'une anomalie est détectée. Les différents composants du système sont décrits ci-dessous (suivis et évalués à l'aide de MLFlow) :
Le workflow de bout en bout est présenté dans la figure ci-dessous.
Pour chaque type de log ou dataset à annoter, nous échantillonnons aléatoirement des valeurs de chaque colonne et envoyons les métadonnées suivantes dans le système : nom de la table, nom de la colonne, type, commentaire existant et un petit échantillon de valeurs. Pour réduire le coût du LLM et améliorer le throughput, plusieurs colonnes de la même table sont regroupées dans une seule requête.
Notre taxonomie est définie à l'aide de Protocol Buffers et inclut actuellement plus de 100 étiquettes de données hiérarchiques, avec la possibilité d'extensions personnalisées lorsque les équipes ont besoin de catégories supplémentaires. Cela offre aux parties prenantes de la gouvernance et de la plateforme un contrat partagé sur la signification de « PII » et « sensible », au-delà d'une poignée de regex.
Deux stratégies d'augmentation améliorent considérablement la qualité de la classification :
Le prompting statique est idéal aux premiers stades ou lorsque les données étiquetées sont limitées, car il offre cohérence et reproductibilité. Le prompting dynamique est plus efficace dans les systèmes matures, utilisant la recherche vectorielle pour extraire des exemples similaires et s'adapter aux nouveaux schémas et domaines de données dans de grands datasets variés.
Au cœur du système se trouve une couche d'orchestration légère qui gère les appels LLM à l'échelle de la production.
Les fonctionnalités clés incluent :
Nous prédisons trois types d'étiquettes par colonne :
Pour garantir la cohérence des prédictions et réduire les hallucinations, nous utilisons un flux en deux étapes : une étape de classification générale attribue une catégorie de haut niveau, puis une étape d'affinement choisit l'étiquette exacte au sein de cette catégorie. Cela reflète la manière dont un examinateur humain déciderait d'abord qu'il s'agit de « données de l'espace de travail », puis choisirait l'étiquette d'identification d'espace de travail spécifique.
Au lieu de s'appuyer sur une seule configuration « optimale », chaque configuration de modèle est traitée comme un expert qui entre en compétition pour étiqueter une colonne.
Plusieurs versions de modèles s'exécutent en parallèle avec des différences au niveau de :
Chaque expert produit une étiquette et un score de confiance compris entre 0 et 100. Le système sélectionne ensuite l'étiquette de l'expert qui a la confiance la plus élevée, une approche de type Mélange d'experts qui améliore la précision et réduit l'impact des mauvaises prédictions occasionnelles d'une configuration donnée.
Cette conception permet d'expérimenter en toute sécurité : de nouveaux modèles ou de nouvelles stratégies de prompt peuvent être introduits, exécutés parallèlement aux modèles existants, et évalués à la fois sur les métriques et sur le volume de tickets en aval avant de devenir la solution par défaut.
Le pipeline compare en continu les annotations de schéma actuelles avec les prédictions du LLM pour faire apparaître les écarts significatifs.
Les cas typiques incluent :
Lorsque le système détecte une violation, il crée une entrée de règle et ouvre un ticket JIRA pour l'équipe propriétaire avec des informations sur la table, la colonne, le libellé proposé et le niveau de confiance. Cela transforme les problèmes de classification des données en un flux de travail continu que les équipes peuvent suivre et résoudre de la même manière qu'elles suivent les autres incidents de production.
Le système a été évalué sur 2 258 échantillons étiquetés, dont 1 010 contenaient des PII et 1 248 n'en contenaient pas. Sur ce dataset, il a atteint jusqu'à 92 % de précision et 95 % de rappel pour la détection de PII.
Plus important encore pour les parties prenantes, le déploiement a produit les résultats opérationnels nécessaires :
La précision et le rappel servent de garde-fous, mais le système est optimisé en fonction de résultats tels que le temps de révision, la latence de détection de drift et le volume de tickets exploitables produits par semaine.
En combinant un étiquetage basé sur la taxonomie et un cadre d'évaluation de type MoE, nous avons activé les workflows de Data Engineering et de gouvernance existants chez Databricks, les Experimentation et les déploiements étant gérés à l'aide de MLflow. Il maintient les étiquettes à jour à mesure que les schémas évoluent, accélère et cible mieux les examens de conformité, et fournit les hooks d'application nécessaires pour appliquer les règles de masquage et de résidence de manière cohérente sur l'ensemble de la plateforme.
La partie la plus passionnante de ce travail consiste à intégrer nos apprentissages internes directement dans le produit Data Classification. À mesure que nous opérationnalisons et validons ces techniques au sein de LogSentinel, nous les int égrons directement dans Databricks Data Classification.
Le même modèle—ingérer les métadonnées et les échantillons, augmenter le contexte, orchestrer plusieurs LLM et intégrer les prédictions dans les systèmes de politiques et de tickets—peut être réutilisé partout où une compréhension fiable et évolutive des données est requise. En intégrant ces insights à notre offre de produits principale, nous permettons à chaque organisation d'exploiter son intelligence des données pour la conformité et la gouvernance avec la même précision et à la même échelle que nous le faisons chez Databricks.
Ce projet a été rendu possible grâce à la collaboration de plusieurs équipes d'ingénieurs. Merci à 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 pour leur soutien et leurs contributions.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
