本文为Ai大模型训练教程项目实战篇,面向医疗/法律等垂直大模型训练,给出可落地的合规框架、数据脱敏流水线与质量控制指标体系,并提供从数据入湖、脱敏抽检、评估集防污染到上线闸门的SOP与示例,帮助团队实现可控、可审计的训练数据闭环。
写在前面:为什么垂直大模型“项目实战”首先是合规与数据工程
在医疗、法律等高敏感行业做垂直大模型训练,最容易踩坑的往往不是模型结构,而是数据是否可用、是否合规、是否能证明质量。一旦发生泄露或“训练数据来源不清”,轻则项目停摆,重则面临监管处罚、诉讼风险与品牌事故。
本篇属于《Ai大模型训练教程:从入门到实战落地的系统课程》的项目实战章节,聚焦于一个可落地的闭环:合规边界 → 数据脱敏 → 质量控制 → 可审计留痕。你可以把它当作医疗/法律垂直大模型训练的“工程与风控清单”,直接用于制定团队SOP。
1. 合规框架:先把“能不能用”讲清楚
垂直大模型训练的合规目标不是写一份漂亮的制度,而是回答三个可审计的问题:
- 数据从哪里来:来源合法、授权清晰、使用范围明确。
- 数据能用到什么程度:用途限定、最小必要、可撤回/可删除。
- 出了问题怎么追:全链路可追溯、可复盘、可证明你尽到了合理义务。
1.1 医疗场景:重点关注个人健康信息与敏感信息
医疗数据通常包含姓名、证件号、就诊记录、检查结果等,普遍属于高度敏感。实操中建议把数据分级:
- 一级(高度敏感):身份证号、手机号、精确地址、完整面像、住院号/病历号等唯一标识。
- 二级(敏感):诊断结论、处方、检验指标、既往史、遗传病等健康信息。
- 三级(一般):科室、就诊时间(模糊到月)、年龄段、性别等。
对训练而言,通常需要二级信息,但尽量避免一级信息进入训练语料。
1.2 法律场景:重点关注个人信息、案件隐私与商业秘密
法律文本(判决书、合同、咨询记录、律所工作底稿)可能同时包含:
- 当事人个人信息(姓名、联系方式、地址)
- 案件细节(未公开的证据、未成年人信息、家事隐私)
- 商业秘密(合同条款、报价、技术细节)
建议以“业务场景”划分:
- 公开文本训练(公开裁判文书、公开法规解读):合规压力相对小,但仍需注意来源与版权。
- 客户文本训练(合同、咨询、内部文书):必须严格授权、最小可用、可证明隔离与脱敏。
1.3 三类必须落地的合规产物(可直接作为项目交付物)
1) 数据使用授权与用途说明
- 数据提供方、数据范围、用途(训练/评估/检索)、保留期限、删除机制。
2) 数据处理活动记录(ROPA式台账)
- 哪类数据、从哪来、怎么处理、给谁用、存在哪里、谁批准。
3) 模型与数据风险评估(DPIA/等价流程)
- 风险点、缓解措施、责任人、审计周期。
这些文件不是“为了合规而合规”,而是后续出问题时你用来证明“合理注意义务”的核心证据。
2. 数据脱敏:从“删字段”升级为“可训练的匿名化/去标识化”
脱敏的难点在于:你既要去掉可识别信息,又要尽量保留对模型有用的结构与语义。只会“删除姓名电话”,常常导致医疗/法律文本可读性和可学习性大幅下降。
2.1 脱敏的四种常用策略(按可用性从强到弱)
1) 一致性伪匿名(推荐)
- 把“张三”替换为“患者A”,同一人跨文档保持一致(在同一项目/租户内)。
- 优点:保留指代关系与事件链,适合训练对话、多轮问诊、案情推理。
- 风险:映射表必须强保护(KMS加密、最小权限、审计)。
2) 泛化(Generalization)
- 年龄从“37岁”变成“30-40岁”;地址从“XX路XX号”变成“某市某区”。
- 优点:保留统计与推理信息。
- 缺点:过度泛化会损失时空推理能力。
3) 抑制/删除(Suppression)
- 直接删掉电话号码、证件号、银行卡号、住院号等。
- 优点:简单有效。
- 缺点:可能破坏文本连贯性。
4) 扰动/噪声(Perturbation)
- 对部分数值加噪(例如体重、金额),或对日期做偏移。
- 在医疗场景要谨慎:关键指标被扰动可能影响临床语义。
2.2 “可训练脱敏”的关键:保留结构而非原值
以法律合同为例,训练模型需要学到“条款结构、权利义务、违约责任”而不是具体公司名与账号。因此可按如下思路脱敏:
- 公司名 →
甲方公司{ID}、乙方公司{ID} - 银行账户 →
<BANK_ACCOUNT> - 地址 →
<ADDR_CITY>/<ADDR_DISTRICT> - 金额 →
<AMOUNT_1>并保留量级(万元/亿元)或区间 - 日期 → 保留相对关系(例如“签署日+30天”)
医疗病历同理:
- 患者姓名 →
患者{ID} - 医生姓名 →
医生{ID} - 住院号/病历号 →
<CASE_ID> - 精确地址 →
<CITY>或<PROVINCE> - 电话/证件号 → 直接抑制
2.3 脱敏流水线(工程步骤)
下面给一套在项目里可直接执行的脱敏流水线:
Step 1:数据分层与隔离(先隔离再处理)
- Raw层(原始):严格隔离、不可直接训练、仅少数人可见。
- Staging层(处理中):用于脱敏、清洗、标注。
- Train层(可训练):仅存放脱敏后语料,允许训练集群访问。
同时要求:
- 不同租户/客户数据物理或逻辑隔离(至少做到存储前缀隔离+权限隔离)。
Step 2:敏感信息识别(NER + 规则)
- 规则:手机号、身份证、邮箱、银行卡等强模式字段。
- NER:姓名、机构、地址、医疗实体(医院名、科室)等弱模式字段。
建议组合:
- 规则优先(高精度)
- NER补充(召回)
Step 3:替换策略落地(带一致性ID)
- 建立“实体 → 伪匿名ID”的映射:同一文档/同一会话内必须一致。
- 映射表加密保存,设置访问审批与审计。
Step 4:脱敏后可逆性评估(是否允许可逆)
- 通常训练语料应尽量做到不可逆。
若业务确实需要可逆(如质检抽查、原文回溯),必须:
- 映射表独立加密
- 权限最小化
- 审计全量记录
Step 5:抽检与攻击测试
- 抽检:人工抽样检查是否仍可识别个人。
- 攻击测试:尝试通过上下文还原身份(例如“某市唯一某罕见病患者”)。
2.4 脱敏示例(对比前后)
脱敏前(医疗问诊片段):
我叫李某某,身份证 11010119900101XXXX,电话 138XXXXXX99。上周在北京XX医院心内科住院,医生王某某给我开了阿托伐他汀。
脱敏后(可训练版本):
患者A,证件号<ID_NUM>,电话。上周在 某三甲医院心内科住院,医生B开具了阿托伐他汀。
你会发现:药物、科室、病程信息保留了;强识别信息被抑制;城市级信息保留便于流行病学/资源配置类推理(如需要)。
3. 数据质量控制:让训练数据“能学到正确的东西”
垂直大模型项目里,质量问题通常比数量问题更致命:
- 医疗:错别字、检验单位混乱、同义词未归一、模板化复制粘贴。
- 法律:OCR错误、条款断裂、引用法规版本不一致、同案不同判的解释缺失。
3.1 质量指标体系(建议至少覆盖四类)
1) 完整性(Completeness)
- 关键字段是否缺失:诊断、主诉、现病史、处理建议等。
2) 一致性(Consistency)
- 单位一致:mg/dL vs mmol/L
- 时间线一致:入院时间早于出院时间
- 法律条款引用一致:法规名称、条次格式统一
3) 准确性(Accuracy)
- OCR与转写错误率
- 实体识别误标率
4) 可用性(Usability for Training)
- 文本是否可读、结构是否完整
- 指令-回答是否自洽(用于SFT时尤其关键)
3.2 数据清洗与归一化:可执行的处理清单
医疗数据建议清洗项
- 检验指标标准化:统一单位、参考范围字段结构化。
- 药品名归一:通用名/商品名映射(例如“立普妥→阿托伐他汀”)。
- 病种与诊断编码:尽可能映射到标准编码体系(如ICD),至少建立内部字典。
- 模板句去重:大量“复制粘贴”的模板会导致模型输出空泛。
法律数据建议清洗项
- OCR纠错:常见字符混淆(1/l/I,0/O),金额大写/小写转换。
- 条款结构恢复:标题、编号、子条款层级(1、1.1、(1)等)统一。
- 法规引用标准化:统一为“《法名》第X条”,并保留版本/生效日期(若可得)。
- 段落边界修复:避免一句话被切成多段导致语义断裂。
3.3 标注与指令数据(SFT)的质量门槛
如果你要做监督微调(SFT),请务必建立“样本准入门槛”,否则模型会学到错误的答法。
建议准入规则:
- 问题明确:输入必须包含足够上下文(病史/案情)。
- 答案可追溯:医疗建议需引用指南依据或临床常识边界;法律建议需注明适用法条/风险提示。
- 风险提示模板:强制在高风险回答中加入“建议就医/建议咨询执业律师”等合规提示(但不要变成空话,要结合条件触发)。
3.4 质量抽检:从“抽几条看看”到可量化
推荐做两层抽检:
自动质检(每日/每批次)
- 脱敏漏检率(规则命中+NER命中统计)
- 重复率(相似度/MinHash)
- OCR疑似错误率(异常字符比例)
- 结构完整率(是否有必要段落)
人工质检(每周/每里程碑)
- 设定抽样比例(例如每批次0.5%或至少200条)
- 采用双人复核+仲裁
- 产出可追踪的问题单(缺陷类型、严重度、修复建议)
4. 训练与评估阶段的合规“闸门”:把风险挡在上线前
仅做脱敏与清洗还不够,模型训练与上线需要“闸门机制”,防止模型记忆与泄露。
4.1 数据泄露与记忆风险控制
- 训练集去重:尤其是包含个案描述的长文本,重复会增强记忆。
- 加入隐私攻击评估:例如抽取式提示测试(让模型复述病历细节/合同账号)。
- 最小化保留原文:训练侧尽量只接触脱敏后的Train层。
4.2 评估集构建:避免“拿训练数据做考试”
医疗/法律垂直模型常见问题是评估集污染:评估样本与训练样本高度相似,导致指标虚高。
建议:
- 按时间切分:最近数据只用于测试。
- 按来源切分:不同医院/不同律所来源做外部测试集。
- 建立“高风险测试集”:包含隐私诱导、越权请求、非法建议等对抗样本。
4.3 输出合规:回答策略与拒答边界
垂直模型上线时应明确:
- 医疗:不做确诊、不替代医生;对用药/剂量建议设条件触发(缺少关键指标就不输出具体剂量)。
- 法律:不替代执业律师;对具体案件结论给出“信息不足的风险点清单”,并提示需要补充材料。
这部分不是“加一句免责声明”就结束,而是要在产品策略、提示词、工具调用(RAG检索)层面共同约束。
5. 一份可直接套用的项目SOP(从0到可训练数据集)
下面给出一套落地SOP,你可以按项目规模删减:
5.1 角色分工
- 数据负责人:数据台账、权限、版本、留痕。
- 合规/法务接口:授权文本、用途边界、对外披露口径。
- 算法负责人:训练数据需求定义、评估体系。
- 标注与质检负责人:SFT样本规范、抽检规则。
5.2 流程与交付物
1) 需求澄清
- 交付物:数据字段清单、用例列表、风险清单(高风险回答类型)
2) 数据入湖与台账
- 交付物:数据来源证明/授权、处理活动记录
3) 脱敏方案评审
- 交付物:脱敏规则、NER标签集、伪匿名策略、可逆性决策
4) 脱敏与清洗
- 交付物:Train层数据集、脱敏抽检报告、清洗统计报告
5) 训练前质量闸门
- 交付物:重复率报告、敏感信息漏检率报告、评估集污染检查
6) 训练与评估
- 交付物:离线评估报告(能力+合规对抗)、隐私泄露测试结果
7) 上线与持续监控
- 交付物:线上日志脱敏策略、越权请求拦截规则、周期性复审计划
6. 常见坑与避坑建议(来自实战的高频问题)
1) 只脱敏结构化字段,不脱敏自由文本
- 病历/咨询记录的自由文本才是泄露重灾区。
2) 脱敏后语料不可读,训练效果大幅下降
- 解决:用一致性伪匿名与结构保留,不要一刀切删除。
3) 评估集与训练集高度相似
- 解决:时间/来源双切分 + 相似度去重。
4) 映射表管理松散
- 解决:映射表独立存储、加密、最小权限、审计;严禁拷贝到个人电脑。
5) 合规文件“后补”
- 解决:把授权、台账、评审作为数据进入Staging层的前置条件。
结语:垂直大模型落地的核心能力是“可控与可证明”
医疗/法律垂直大模型训练的竞争力,往往来自你是否能持续稳定地产出高质量、低风险、可审计的数据与模型。把合规、脱敏、质量控制做成流水线,你不仅能跑通一个项目,还能复用到下一个客户、下一个病种、下一个法律业务线。
后续如果你需要把本篇SOP进一步落成“数据脱敏规则库(医疗/法律各一套)”或“质检指标看板模板”,可以在系列文章的实操章节继续扩展。
Prev:项目实战:训练安全分类与拒答对齐模型的流程与指标体系