Data-Centric AI / Snorkel:Programmatic Labeling
一句话:
Data-Centric AI / Snorkel / Programmatic Labeling 解读
面向对象: AI Platform PM / AI Architect / Data Product Lead / Model Risk Partner / 金融零售 AI 负责人。 核心问题: 很多 AI 项目的瓶颈不是模型不够大,而是标签稀缺、定义不稳、专家知识无法规模化、训练数据和生产现实脱节。Data-Centric AI 把数据和标签变成可设计、可版本化、可治理的产品能力。 学习目标: 理解 weak supervision、programmatic labeling、labeling functions、label model、coverage/conflict/overlap、数据中心 AI 平台能力,并映射到 KYC、AML、投诉、欺诈和 RAG 评测数据。
Source Anchors
| Source | Link | 用途 |
|---|---|---|
| Snorkel: Rapid Training Data Creation with Weak Supervision | https://arxiv.org/abs/1711.10160 | 理解 Snorkel 如何用 labeling functions 和 data programming 缓解训练数据瓶颈 |
| Snorkel VLDB paper | https://www.vldb.org/pvldb/vol11/p269-ratner.pdf | 参考弱监督系统、标签矩阵、标签模型和端到端训练数据创建流程 |
| Data Validation for Machine Learning | https://research.google/pubs/data-validation-for-machine-learning/ | 把训练/服务数据质量当成生产资产,连接 data-centric ML 和持续验证 |
| NIST AI RMF | https://www.nist.gov/itl/ai-risk-management-framework | 把数据质量、风险测量、治理证据和持续监控纳入 AI 风险管理 |
一句话:
Programmatic labeling 是把专家规则、知识库、启发式、弱标签源和模型反馈写成可版本化的 labeling functions,再用统计方法合成训练标签。
1. 为什么不是再招更多标注员
金融零售 AI 常见标签困境:
| 场景 | 标签难点 | 只靠人工标注的问题 |
|---|---|---|
| AML case triage | 真阳性少,专家判断依赖复杂背景 | 成本高、周期长、标签口径易漂移 |
| KYC 文档分类 | 证件种类、地区模板、质量问题多 | 新模板出现后标注滞后 |
| 投诉意图识别 | 多意图、监管口径、渠道语言差异 | taxonomy 更新后历史标签失效 |
| 欺诈 typology tagging | 攻击模式快速变化 | 旧标签很快过时 |
| RAG 评测数据 | answer correctness 和 citation support 需要专家判断 | golden set 维护成本高 |
高级 PM / 架构师要看清楚:
- 标签不是一次性项目交付物,而是长期产品资产。
- 标注规则、专家争议、覆盖盲区、版本历史和标签质量指标要被治理。
- 数据中心 AI 的能力边界在于快速迭代训练数据,而不是绕过验证。
2. Snorkel 的核心机制
Snorkel 的核心思想可以拆成四层:
unlabeled data
-> labeling functions
-> label matrix with abstain / conflict / overlap
-> generative label model estimates source accuracies
-> probabilistic labels train discriminative model
2.1 Labeling Function
Labeling function, LF, 是一个程序化弱标签源:
if document contains "passport" and MRZ pattern -> label: passport
if AML narrative mentions "structuring" -> label: structuring typology
if complaint contains "unauthorized fee" -> label: fee dispute
else -> abstain
LF 可以来自:
| 来源 | 示例 |
|---|---|
| 专家规则 | AML 调查员对 typology 的启发式 |
| 业务字典 | 投诉 taxonomy、KYC 文档模板、产品术语 |
| 知识库 | 合规政策、流程手册、已验证案例 |
| 外部模型 | OCR、NER、LLM classifier、embedding similarity |
| 远程监督 | 已知名单、交易规则、case disposition |
| 历史系统 | rule engine、queue reason、analyst action |
关键是 LF 可以 abstain。不是所有规则都要覆盖所有样本。
2.2 Label Matrix
多个 LF 对同一批未标注数据投票,形成标签矩阵:
sample_001: LF1=KYC_ID, LF2=abstain, LF3=KYC_ID, LF4=KYC_ADDRESS
sample_002: LF1=abstain, LF2=AML_STRUCTURING, LF3=abstain, LF4=AML_STRUCTURING
sample_003: LF1=COMPLAINT_FEE, LF2=COMPLAINT_FRAUD, LF3=abstain, LF4=abstain
需要分析:
| 指标 | 含义 | 产品判断 |
|---|---|---|
| Coverage | LF 覆盖多少样本 | 是否能减少人工标注缺口 |
| Overlap | 多个 LF 覆盖同一样本 | 是否有足够信号估计 LF 质量 |
| Conflict | LF 之间是否冲突 | taxonomy、规则或样本定义是否不稳 |
| Empirical precision | 在小样本 gold set 上的准确度 | 哪些 LF 可进入生产 |
| Segment coverage | 不同渠道/客户/语言覆盖情况 | 是否存在偏差和盲区 |
2.3 Label Model
简单多数投票会把强弱不同的 LF 等同处理。Snorkel 的 label model 试图估计 LF 的准确率和相关性,输出 probabilistic labels。
产品含义:
- 高质量 LF 权重更高。
- 相关 LF 不应被重复计算成独立证据。
- 冲突样本不是废料,而是专家复核和 taxonomy 改进的线索。
- 概率标签需要进入训练、评测和治理证据,而不是被静默压成硬标签。
2.4 Discriminative Model
最终模型不是直接运行 LF,而是用生成的概率标签训练一个下游模型。
这样做的价值:
| 价值 | 说明 |
|---|---|
| 泛化 | 模型可学习 LF 以外的模式 |
| 速度 | 专家写规则比逐条标注快 |
| 可迭代 | LF 版本可以随业务变化更新 |
| 证据 | 标签来源、冲突和覆盖可审计 |
3. Data-Centric AI 平台架构
Use case intake
-> taxonomy and label policy
-> raw / unlabeled data pool
-> LF registry and review workflow
-> label matrix builder
-> conflict and coverage analyzer
-> label model
-> probabilistic training dataset
-> model training and eval
-> active learning / SME review
-> dataset versioning and evidence binder
3.1 组件职责
| 组件 | 职责 | 架构要求 |
|---|---|---|
| Label taxonomy service | 管理标签定义、层级、互斥关系和适用范围 | 版本化、审批、影响分析 |
| LF registry | 存储 LF 代码、owner、适用标签、数据依赖 | code review、unit test、权限控制 |
| Data sampler | 构建未标注池、gold set、评估集和主动学习池 | 分层抽样、敏感字段控制 |
| Label matrix builder | 运行 LF,记录 abstain/overlap/conflict | 可重跑、可追溯、成本控制 |
| Label quality analyzer | 计算 coverage、conflict、precision、segment gap | dashboard、release gate |
| SME review queue | 把冲突、低置信、关键 segment 样本分配给专家 | adjudication、reviewer calibration |
| Dataset registry | 版本化训练集、校准集、评估集、来源和许可证 | lineage、retention、access policy |
| Governance binder | 生成模型风险、审计和上线证据 | artifact map、change log |
3.2 Data Contract
Programmatic labeling 需要清楚的数据契约:
| 字段 | 说明 |
|---|---|
| Entity key | case_id、customer_id、document_id、conversation_id |
| Snapshot time | 标签基于哪个时间点的数据 |
| Feature source | OCR、transaction、case notes、policy docs、CRM |
| Allowed use | training、eval、monitoring、investigation、customer-facing |
| Sensitive data | PII、受保护属性、合规限制 |
| Label owner | 业务专家、模型团队、风险 owner |
| Outcome lag | ground truth 何时可用 |
4. 产品和架构取舍
| 决策 | 推荐做法 | 反转条件 |
|---|---|---|
| 规则标注 vs 手工标注 | 用 LF 快速覆盖高价值模式,再用专家复核冲突和盲区 | 标签定义高度主观且无法稳定编码 |
| 多数投票 vs label model | LF 数量多、准确率不同、冲突明显时用 label model | LF 很少且 gold labels 足够 |
| LLM 作为 LF | 用 LLM 生成候选标签,但必须有评测、prompt 版本和人工抽检 | 高风险标签无专家验证或 prompt 不稳定 |
| 自动扩充标签 | 仅对高置信、低风险、覆盖良好的 segment 自动化 | 涉及客户权益、监管结论或不利动作 |
| 单一 taxonomy | 保持核心 taxonomy 稳定,允许业务子标签扩展 | 多产品口径差异会导致标签冲突 |
高级判断:
- LF 是可审计专家知识,不是不可解释捷径。
- 弱监督生成的是训练信号,不等于正式事实标签。
- Label ops 应该和模型发布、数据合同、审计证据绑定。
5. 金融零售案例
Case A: KYC 文档分类
LF 来源:
- OCR 关键词。
- MRZ 正则。
- 版式特征。
- 国家/地区模板。
- 历史人工审核结果。
治理重点:
- 低质量图片和新模板要进入复核池。
- 按地区、证件类型、渠道看 coverage。
- LF 冲突可能表示 taxonomy 或 OCR pipeline 问题。
Case B: AML Typology Tagging
LF 来源:
- 交易规则。
- case narrative 关键词。
- 对手方网络特征。
- 高风险行业和模式库。
- 调查员 disposition。
产品价值:
- 快速构建 typology training set。
- 帮助 alert triage 和 case routing。
- 发现新型 typology 的标签缺口。
风险:
- 不能把弱标签直接当 SAR 决策依据。
- 需要隔离 training labels、investigation evidence 和 regulatory filing evidence。
Case C: 投诉意图识别
LF 来源:
- 投诉分类字典。
- 监管关键词。
- 客服 disposition。
- 客户旅程事件。
- LLM 辅助意图判断。
输出:
- 多标签 taxonomy。
- 高冲突样本进入产品/合规共同 adjudication。
- 新意图触发 taxonomy 变更评审。
6. Release Gate
| Gate | 通过标准 |
|---|---|
| Label policy | 标签定义、互斥/多选规则、适用范围和 owner 明确 |
| LF review | LF 有代码 review、单元样例、依赖说明和版本号 |
| Gold set | 有独立专家标签用于校准 LF 和下游模型 |
| Coverage | 整体和关键 segment 覆盖满足业务目标 |
| Conflict | 高冲突标签已分析并有复核/合并/拆分决策 |
| Bias check | 标签覆盖和错误不集中伤害特定客群或渠道 |
| Downstream eval | 弱标签训练模型在 holdout 上达到上线门槛 |
| Evidence | 数据集版本、LF 版本、label model 版本和评审记录可追溯 |
7. 常见失败模式
| 失败模式 | 表现 | 修正 |
|---|---|---|
| LF 泄漏未来信息 | 模型看到了上线时不可用字段 | point-in-time 数据校验 |
| Taxonomy 频繁漂移 | 训练集跨版本混用 | label schema versioning |
| 高覆盖低质量 | LF 覆盖多但错误多 | gold set precision 和 conflict analysis |
| LLM 标签幻觉 | LLM 给出看似合理但无证据标签 | citation / evidence requirement |
| 只看整体指标 | 少数渠道覆盖极差 | segment coverage gate |
| 冲突被忽略 | 多个 LF 长期互相矛盾 | adjudication workflow |
| 弱标签冒充事实 | 治理报告把 weak label 当 ground truth | label provenance 分层 |
8. 面试表达
30 秒版本
Programmatic labeling 用专家规则、弱标签源和模型信号生成可版本化的 labeling functions,再通过 label model 处理冲突和准确率差异,形成概率训练标签。它适合标签稀缺、专家知识强、迭代快的 AI 场景,但必须配合 gold set、coverage/conflict 分析、segment 检查和审计证据。
2 分钟版本
我会把 data-centric AI 看成平台能力,而不是临时标注项目。以 AML typology tagging 为例,调查员知识、交易规则、case narrative 关键词和历史 disposition 都可以写成 labeling functions。系统运行后形成 label matrix,分析覆盖、重叠和冲突,再用 label model 估计不同 LF 的质量,生成概率标签训练下游模型。上线前要用专家 gold set 验证 LF 和模型,按产品、渠道、客群看 segment coverage。对冲突和低置信样本,进入 SME review 和 active learning。这样既能提高标签迭代速度,又能保留标签来源、版本、评审和治理证据。
CTO 追问
如果问 weak supervision 是否会降低数据可信度,我会回答: 风险在于把弱标签误当事实。正确做法是分层管理标签来源: weak label 用于训练信号,gold label 用于评估和校准,专家 adjudication 用于高风险决策证据。平台必须记录 provenance、版本、覆盖、冲突和下游效果。
9. Portfolio Task
做一个 “Data-Centric Label Platform Pack”:
| Artifact | 内容 |
|---|---|
| Label taxonomy | KYC/AML/投诉任一场景的标签定义和层级 |
| LF catalog | 10 个 labeling functions,含 owner、输入、输出、风险 |
| Label quality dashboard | coverage、overlap、conflict、precision、segment gap |
| SME workflow | 冲突样本、低置信样本、关键 segment 的复核流程 |
| Dataset card | 训练集、gold set、eval set、版本、来源和限制 |
| Release memo | 数据中心 AI 上线门禁、残余风险和监控计划 |
最终要能讲清楚: 数据和标签不是模型训练前的杂务,而是 AI 产品架构里最核心、最可复用的能力层。