AIGC时代大模子信息安全隐私保护技能方案

打印 上一主题 下一主题

主题 816|帖子 816|积分 2448

NLP 学习 项目:


  • NLP 项目实践:fasterai/nlp-project-practice
    介绍:该堆栈围绕着 NLP 任务模子的筹划、训练、优化、部署和应用,分享大模子算法工程师的日常工作和实战经验
  • AI 藏经阁:https://gitee.com/fasterai/ai-e-book
    介绍:该堆栈主要分享了数百本 AI 范畴电子书
  • AI 算法面经:fasterai/nlp-interview-handbook#面经
    介绍:该堆栈一扫而空互联网大厂NLP算法面经,算法求职必备神器
  • NLP 剑指Offer:https://gitee.com/fasterai/nlp-interview-handbook
    介绍:该堆栈汇总了 NLP 算法工程师高频面题
背景介绍

随着LLM应用的广泛遍及,用户对数据隐私的担心日益增长。这些担心主要源于用户与云端大型模子交互的提示词(Prompts)中可能泄露的个人或企业的隐私敏感信息。 多数场景下用户并不必要保护全部提示词信息,而仅必要保护提示词中的隐私实体不被走漏。
以微软的数据隐私保护 Presidio为代表的隐私实体匿名化技能为解决这一题目提供了一种相对MPC更高效的匿名化脱敏方案。然而这种传统的匿名化处理方法无法在LLM天生的结果中还原出被替换的隐私敏感信息,从而限制了其可用性及准确性。
大模子提示词(Prompts)信息加密的常见方式:


  • 掩盖重要信息:微软的 Presidio 隐私实体匿名化技能,无法在LLM天生的结果中还原出被替换的隐私敏感信息。
  • 替换重要信息:Hide and Seek 方案,可以在LLM天生的结果中还原出被替换的隐私敏感信息。
一、大模子隐私保护解决方案


该方案在正常调用LLM服务流程中插入了两个执行的步调:
1)平行替换隐私实体以实现隐私敏感信息的脱敏(Hide)
2)还原LLM输出中的隐私实体以恢复可用性(Seek)
二、脱敏还原模子的使用效果

由于呆板学习环境配置复杂耗时,我提供了一个colab notebook用于demo演示,供您参考。
使用HaS模子执行择要任务的代码示例:
  1. from hideAndSeek import *
  2. tokenizer = AutoTokenizer.from_pretrained("SecurityXuanwuLab/HaS-820m")
  3. model = AutoModelForCausalLM.from_pretrained("SecurityXuanwuLab/HaS-820m")
  4. # 阶段1:信息匿名
  5. original_input = f"欢迎关注FasterAI公众号,FasterAI让每个人的AI学习之路走的更容易些!来自北京大学的青松老师,前中国电信大模型算法专家,结合多年的学习积累和超过200多场的招聘经验,历时六个多月精心整理了这份大模型学习清单。期望能为你前行的道路增添一丝轻松(*^▽^*)"
  6. hide_input = hide(original_input, model, tokenizer)
  7. # 阶段2:LLM 交互
  8. prompt = f"原文:%s\n\n一句话简要概括上述文本:" % hide_input
  9. hide_output = llm.invoke(prompt)
  10. # 阶段3:信息还原
  11. original_output = seek(hide_input, hide_output, original_input, model, tokenizer)
  12. print(">"*100)
  13. print(f"原始输入:\n{original_input}\n")
  14. print(f"脱敏输入:\n{hide_input}\n")
  15. print(f"脱敏输出:\n{hide_output}\n")
  16. print(f"还原输出:\n{original_output}\n")
  17. print("<"*100)
复制代码
使用HaS模子执行文本择要任务的示例:

可以看到,原始输入中的敏感信息在送到大模子之前举行了脱敏处理,在大模子处理后,被脱敏替换的内容又被还原成了原始信息
   

  • 目前HaS原生支持的NLP任务范例有:润色择要翻译阅读明白文天职类
  • HaS 模子的方案的焦点头脑是使用天生式的方式实现脱敏还原
  三、与同范例解决方案对比

Presidio方案

微软开源的数据脱敏与隐私保护SDK Presidio采取了正则匹配结合当地命名实体辨认小模子(NER Model)辨认隐私词,并采取全Lable标签对隐私词举行替换。其工作流程如下图所示:

从工作流程分析来看,Presidio方案不支持匿名信息的还原,也无法举行指代消解。由于采取了全标签替换的方法,导致其对原始文本中提示词的语言表达本领较弱,这可能对云端的大型语言模子的性能产生负面影响。再者,Presidio在辨认隐私信息时必要依赖复杂的正则表达式匹配规则,这使得维护工作变得更加困难。
四、脱敏还原模子的训练和推理步调



  • 训练阶段

    • 步调1:训练Hide-Model

      • 使用大模子构造匿名化训练数据
      • 使用构造的匿名化数据训练小的隐藏模子(Hide-Model)

    • 步调2:使用大模子根据Hide-Model的结果执行相干任务
    • 步调2:训练Seek-Model

      • 基于大模子构造去匿名化训练数据
      • 使用构造的去匿名化数据训练小的还原模子(Seek-Model)


  • 推理阶段

    • 部署训练好的Hide-Model和Seek-Model
    • 当地脱敏和还原:原始文本 → 实体替换 → LLM → 处理结果 → 实体还原

   基本头脑:将云端大模子的脱敏还原的本领举行知识蒸馏,形成更小规模的天生式语言模子。
Tips备注:Hide-Model 和 Seek-Model 是同一个模子。
  五、脱敏还原模子的训练过程

5.1 训练 Hide-Model


  • 使用大模子构造匿名化训练数据
  1. # 生成数据的提示词模板
  2. Prompt for guiding LLM to perform anonymization.  Substitute given words in the text into other random  words.  
  3. Text: {input_text}  
  4. Given words: private_entities  
  5. Substituted text:  
  6. {task_type}
复制代码
匿名化训练数据示例:
  1. Input text c: The FBI (Federal Bureau of Investigation) is  currently investigating a cyber attack on a major corporation  that occurred on August 10, 2023. The breach took place  in the company’s headquarters located in Washington DC.  The FBI suspects that the attack was carried out by a foreign  government.  
  2. Private entities P(c): [‘FBI’, ‘August 10, 2023’, ‘Washington DC’]  
  3. Substituted text s: The CIA (Central Intelligence Agency)  is currently investigating a cyber attack on a major corpora-  tion that occurred on September 15, 2025. The breach oc-  curred in the company’s headquarters located in New York  City. The CIA suspects that the attack was carried out by a  foreign government.
复制代码

  • 使用构造的匿名化数据训练小的隐藏模子(Hide-Model):基于第一步标注的数据,使用lora或qlora方法基于bloomz来微调得到Hide Model。
  1. # 微调Hide Model的数据样例
  2. Substitute given words in the text into other random  words.  
  3. Text: c  
  4. Given words: P(c)  
  5. Substituted text: s
复制代码
5.2 训练 Seek-Model


  • 使用大模子构造反匿名化训练数据
  1. # 生成数据的提示词模板
  2. Input: {obscured_text}  
  3. {task_type}: {obscured_api_response}  
  4. Input: {input_text}  
  5. {task_type}:
复制代码

  • 使用构造的反匿名化数据训练小的还原模子(Seek-Model):bloomz模子微调
  1. # 微调Seek Model的数据样例
  2. Input: e  
  3. Translate: l  
  4. Input: c  
  5. Translate: r
复制代码
六、方案的上风

此方案采取大量端到端标注数据基于开源模子Bloom训练了一个集隐私词发现和替换功能于一体的且支持隐私词还原的微调模子。
此方案支持匿名信息还原,也支持指代消解,由于采取标签和同近义词相混合的掩码方式从而最大限度保存了原提示词中的语义信息。最后,我们的方案不必要维护任何正则匹配规则,维护工作简单。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表