Privacy Guard — 本地隐私守护代理

基于 LoRA 微调 Qwen2.5-3B-Instruct 的任务感知 PII 脱敏模型。

模型概述

Privacy Guard 是一个本地隐私保护模型,能够将用户输入中的真实个人信息(姓名、手机号、邮箱、地址等)虚构化替换为假数据,同时提取任务意图生成摘要。

核心价值:让云端大模型既能完成任务,又看不到你的真实隐私。

使用方法

安装依赖

pip install torch transformers peft

加载模型

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

# 加载基座模型
base_model = "Qwen/Qwen2.5-3B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(base_model, dtype=torch.float16, trust_remote_code=True)

# 加载 LoRA adapter
model = PeftModel.from_pretrained(model, "DoreCmon/privacyguard")
model = model.eval()

推理

SYSTEM_INSTRUCTION = (
    "你是一个隐私保护助手。请完成以下两步:\n"
    "1. 用1句话(不超过30字)精准概括用户的任务意图,不要包含任何个人信息。\n"
    "2. 围绕用户任务对文本中的个人身份信息进行虚构化改写,"
    "保留对任务有用的信息,弱化无关细节,确保改写后自洽且不可反推。\n\n"
    "输出格式:\n【任务摘要】摘要内容\n【脱敏文本】改写后的完整文本"
)

text = "帮我写一封推荐信\n\n张伟,2017年浙大毕业,现任字节跳动高级工程师,手机13812345678"
prompt = f"### 指令:\n{SYSTEM_INSTRUCTION}\n\n### 输入:\n{text}\n\n### 输出:\n"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
    output_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=False)

result = tokenizer.decode(output_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(result)

输出示例

【任务摘要】用户需要为候选人撰写求职推荐信

【脱敏文本】李晨,2015年华中科技大学毕业,现任星云科技高级工程师,手机15987654321...

支持的 PII 类型

类型 原文示例 脱敏示例
姓名 张伟 李明
手机号 13800138000 13912345678
邮箱 zhangsan@gmail.com liming@example.com
身份证号 110101199001011234 110101199205056789
地址 北京市朝阳区建国路88号 上海市浦东新区张江路66号
公司名 华为技术有限公司 星云科技有限公司
毕业院校 浙江大学 华中科技大学
订单号 OR2024-8869 OR2025-1234

训练数据

  • 6 个场景:简历、工作邮件、客服对话、医疗病历、会议纪要
  • 每场景 7 种任务指令
  • 共约 2000 条训练数据
  • 由 DeepSeek API 生成,经过格式校验和去重

训练配置

  • 基座模型:Qwen/Qwen2.5-3B-Instruct
  • LoRA:r=16, alpha=32, dropout=0.05
  • 学习率:5e-5
  • 训练轮数:3 epochs
  • 精度:float16 + Gradient Checkpointing

评估结果

指标 说明
Task Completion 4.69/5.00 云端大模型打分,86.7% 样本满分
Logical Consistency 98.8% PII 泄漏检查通过率
Avg Latency 19.9s 单条推理耗时(单卡)

适用场景

  • 用户需要把含隐私的文本发给云端大模型处理
  • 需要保留任务上下文(不只是简单替换标签)
  • 对隐私保护有较高要求

局限性

  • 地址替换模式可能过于规则(城西→城东)
  • 不支持所有语言(主要针对中文)
  • 推理速度较慢(约 20 秒/条)

许可证

Apache 2.0

Downloads last month
16
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DoreCmon/privacyguard

Base model

Qwen/Qwen2.5-3B
Adapter
(1219)
this model