大语言模型隐私防泄漏:差分隐私、参数高效化

news2024/11/17 21:28:01

大语言模型隐私防泄漏:差分隐私、参数高效化

  • 写在最前面
  • 题目6:大语言模型隐私防泄漏
  • Differentially Private Fine-tuning of Language Models
    • 其他
    • 初步和之前的基线
      • 微调模型1
      • 微调模型2
      • 通过低秩自适应进行微调( 实例化元框架1)
    • 在隐私数据集小的情况下,为什么参数高效化有效
    • 实例化元框架
      • 通过适配器进行微调
      • 通过Compacter进行微调
    • 论文模型对比基线模型


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

草稿箱翻到了,去年九月的比赛笔记
十分感谢学长学姐带我参加比赛,一次有趣的经历。
虽然最后由于时间原因没有获奖,但是学习了相关知识。

希望能通过这次比赛,学习一些网安相关的技术

比赛链接:https://cpipc.acge.org.cn//cw/detail/2c90800c8093eef401809d33b36f0652/2c90801787f062ab018871a92ff078ba

选题:六
主要涉及:差分隐私


夺冠作品:白泽智能团队的LLM Shield则根据大语言模型的生命周期以及数据传输过程中各个环节的特点,针对性的设计和优化了相应的隐私防泄漏解决方案。作品LLM Shield在大模型隐私安全赛道上荣获一等奖

https://llmshield.com/#visibility

在这里插入图片描述

题目6:大语言模型隐私防泄漏

一、题目背景:

ChatGPT的火爆让AIGC走进大众的视野,成为历史上增长最快的消费应用。随着活跃用户的快速增长,ChatGPT也在持续收集用户的真实反馈数据用于提升大模型生成能力。由于大语言模型可能记忆训练数据中的敏感信息,存在泄露用户隐私的风险,如何防止大语言模型泄露隐私的诉求越来越迫切。

二、题目描述:

给定一个预训练大语言模型(如GPT-2)和微调数据集(包含公开的或合成的虚拟个人身份信息),基于开源深度学习框架MindSpore设计并实现一种高可用的大语言模型隐私防泄漏方案,在保证模型可用性和训练性能的前提下,防止敌手从微调后的模型中恢复个人身份信息(包括姓名、邮箱、电话号码、居住/工作住址)。微调后的模型通过黑盒API部署,敌手仅能获取下一个token的预测向量,而无法获取模型参数和中间特征。比赛提供基于MindSpore实现的预训练模型和微调数据集。

三、评价方式:
1)模型可用性:评估模型防泄漏技术对模型可用性的影响,使用困惑度(perplexity)指标衡量
2)训练性能:评估模型防泄漏技术对训练性能的影响,使用训练所需的内存开销和训练时长指标衡量,推理时长增加小于20%。
3)安全性:评估模型防泄露技术的保护效果,对比模型保护前后隐私攻击的成功率,其中成员推理攻击通过ROC AUC衡量,隐私数据提取攻击通过Recall和Precision指标衡量

四、参考信息:
1)开源深度学习框架MindSpore, https://www.mindspore.cn/
2)安全与隐私保护工具开源MindSpore Armour,https://www.mindspore.cn/mindarmour/docs/zh-CN/r2.0/index.html
3)Extracting Training Data from Large Language Models,https://arxiv.org/abs/2012.07805
4)Analyzing Leakage of Personally Identifiable Information in Language Models,https://arxiv.org/abs/2302.00539
5)预训练模型:GPT2-small,https://gitee.com/mindspore/mindformers/blob/r0.3/docs/model_cards/gpt2.md
6)部署环境:在启智社区(https://openi.org.cn)申请计算资源, 可选硬件Ascend/GPU:https://openi.pcl.ac.cn/docs/index.html#/

五、交付件:
1)源代码
2)可执行文件和部署测试方法
3)设计和测试文档

六、答疑邮箱:yangyuan24@huawei.com

题目六附件链接如下:
https://cpipc.acge.org.cn/sysFile/downFile.do?fileId=261dcd40f2e54398924deb2c363fdf4c

下面是这次比赛的一些备赛记录~
希望能给自己之后的学习带来一些灵感

Differentially Private Fine-tuning of Language Models

https://arxiv.org/pdf/2110.06500.pdf

论文前面都是介绍他们的模型多么的好,主要好在轻量、准确率降低的不多

和比赛相关的,主要就这一节

在这里插入图片描述
但是呢,重点是:

在这里插入图片描述
微调数据集:DART
代码:https://github.com/huseyinatahaninan/Differentially-Private-Fine-tuning-of-Language-Models/tree/main/Language-Generation-GPT-2
在这里插入图片描述

其他

研究贡献

  • 在MNLI数据集上私下微调RoBERTa-Large,隐私预算为 (ε = 6.7, δ = 1e-6)。实现了87.8%的准确率,隐私预算为(ε=6.7,δ=1e-6)。在没有隐私保证的情况下,RoBERTa-Large的准确率为90.2%(已知GPT-3的准确率为91.7%(Hu等人,2021));
    私人自然语言生成任务,在E2E数据集上微调GPT-2模型(Novikova等人,2017)。同样,该实用程序接近非私有水平:在GPT-2-Large和(ε=6.0,δ=1e-5)的情况下实现了ROUGE-L得分67.8,而在没有隐私的情况下为72.0。

  • 大模型可能具有更高的容量,但需要引入更多的噪声。

  • 更简单,更稀疏、更快。DP需求还会导致计算和内存使用方面的大量开销,在隐私下情况会将训练时间增加多达两个数量级(Carlinietal.,2019;Subramanietal.,2021)。
    我们采用的参数高效方法部分抵消了这个问题:由于我们只更新参数总数的一小部分,训练变得相当高的计算和内存效率。
    此外,与在非隐私环境中一样,该框架导致了模块化设计,其中单个大型预训练模型可以通过对每个单独的下游任务的轻量级修改来增强。

在这里插入图片描述

初步和之前的基线

在这里插入图片描述
在这里插入图片描述

微调模型1

在这里插入图片描述
在这里插入图片描述

微调模型2

在这里插入图片描述

通过低秩自适应进行微调( 实例化元框架1)

在这里插入图片描述
在这里插入图片描述

在隐私数据集小的情况下,为什么参数高效化有效

在这里插入图片描述
除了在精度上有实质性的提升,其他优点:

  • 单一pre-trained模型如BERT或GPT通常应用于数百下游任务通过微调。使用以前的方法进行私有微调需要更新所有参数,并为每个任务存储微调模型的不同副本。这就产生了相当大的存储开销和部署,可以在实践中是非常昂贵的。
    另一方面,重新参数化(1)意味着我们只需要存储一个可以跨许多下游任务共享的单一预训练模型。每个下游任务只需要少量可以插入的新参数。
    在这里插入图片描述
    在这里插入图片描述
  • 差分私有训练需要计算和存储每个示例的梯度,这增加了内存占用。然而,在我们的方法中,学习是在一个低得多的维度中完成的,因此与之前的工作相比,节省了内存成本。
  • 最后,我们预计(1)还提供了一种在分布式设置(如联邦学习)通信效率更高的微调方法,因为在微调过程中学习的参数数量明显更少。

在这里插入图片描述

实例化元框架

通过适配器进行微调

在这里插入图片描述

通过Compacter进行微调

在这里插入图片描述

论文模型对比基线模型

在这里插入图片描述


欢迎大家添加好友,持续发放粉丝福利!

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL面试题 3

问题1:char、varchar的区别是什么? varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么? DELETE命令从一个表中删除某一行,或多行&#xff0…

机器学习系统的设计

1.混淆矩阵 混淆矩阵作用就是看一看在测试集样本集中: 真实值是 正例 的样本中,被分类为 正例 的样本数量有多少,这部分样本叫做真正例(TP,True Positive),预测为真,实际为真真实值…

Java反射(reflection)java很多框架的底层都需要用到反射,至于API使用的话,还算简单,主要是类加载过程和反射机制的一个底层机制要了解一下

十六、反射(reflection) 反射可以通过外部文件配置,在不修改源码的情况下来控制程序,符合设计模式中的OCP原则(开闭原则:不修改源码,扩容功能)。 1、反射机制 (1&…

SpringCloud系列(7)--Eureka服务端的安装与配置

前言:上一章节我们介绍了Eureka的基础,本章节则介绍Eureka服务端的安装与配置 Eureka架构原理图 1、创建Eureka Server端服务注册中心模块 (1)在父工程下新建模块 (2)选择模块的项目类型为Maven并选择模块要使用的JDK版本 (3)填写子模块的名称&#xf…

【C++】:函数重载,引用,内联函数,auto关键字,基于范围的for循环,nullptr关键字

目录 一,函数重载1.1 函数重载的定义1.1.1.形参的类型不同1.1.2参数的个数不同1.1.3.参数的顺序不同1.1.4.有一个是缺省参数构成重载。但是调用时存在歧义1.1.5.返回值不同,不构成重载。因为返回值可接收,可不接受,调用函数产生歧…

如何设计单元测试用例?

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 最近一些大公司在进行去测试化的操作,这一切的根源大概可以从几年前微软一刀切砍掉所…

【深度学习实战(10)】图像推理之预处理

一、预处理流程 在把一张图像送入模型进行推理时,需要先进行预处理,预处理流程包括: (1)读取图像 (2)尺寸调整,letter_box(不失真) (3&#xff0…

MATLAB绘制圆锥曲线:抛物线,双曲线,椭圆

MATLAB绘制圆锥曲线:抛物线,双曲线,椭圆 clc;close all;clear all;warning off;%清除变量x linspace(-10, 10, 1000); % 创建一个x值的向量,范围从-10到10,共1000个点 y x.^2; % 计算每个x值对应的y值% 使用plot函数绘制图形 figure; % 创建一个新的图…

排序 “壹” 之插入排序

目录 ​编辑 一、排序的概念 1、排序: 2、稳定性: 3、内部排序: 4、外部排序: 二、排序的运用 三、插入排序算法实现 3.1 基本思想 3.2 直接插入排序 3.2.1 排序过程: 3.2.2 代码示例: 3.2.3…

使用Spring进行文件的上传和下载

概览 使用Spring进行文件的上传和下载Spring上传文件接口设计dubbo接口设计上传文件流的RPC的接口设计 Spring文件下载接口设计dubbo接口设计下载文件流的RPC的接口设计 spring上传文件大小控制 使用Spring进行文件的上传和下载 本文主要介绍在Spring框架下面调用微服务的dubb…

YOLOv9改进策略 | 添加注意力篇 | 利用ILSVRC冠军得主SENetV1改善网络模型特征提取能力

一、本文介绍 本文给大家带来的改进机制是SENet(Squeeze-and-Excitation Networks)其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型,而是一个可以和现有的任何一个模型相结合的模块(可以看作是一…

项目实践:贪吃蛇

引言 贪吃蛇作为一项经典的游戏,想必大家应该玩过。贪吃蛇所涉及的知识也不是很难,涉及到一些C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。这里我会介绍贪吃蛇的一些思路。以及源代码也会给大家放到文章末尾。 我们最终的…

【Ne4j图数据库入门笔记1】图形数据建模初识

1.1 图形建模指南 图形数据建模是用户将任意域描述为节点的连接图以及与属性和标签关系的过程。Neo4j 图数据模型旨在以 Cypher 查询的形式回答问题,并通过组织图数据库的数据结构来解决业务和技术问题。 1.1.1 图形数据模型介绍 图形数据模型通常被称为对白板友…

【Gradle如何安装配置及使用的教程】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

双链表的实现

我们知道链表其实有很多种,什么带头,什么双向啊,我们今天来介绍双向带头循环链表,了解了这个其他种类的链表就很简单了。冲冲冲!!! 链表的简单分类 链表有很多种,什么带头循环链表&…

tcp-learner 数据包分析 20240420

输入输出: 数据包分析: learner和Adapter建立连接。 Learner让Adapter发送RST Adapter没有从SUT抓到任何回复,于是向learner发送timeout learner给adapter发送reset命令,让SUT重置。 这是第一次初始化,由于Adapter和…

Spring Boot后端与Vue前端融合:构建高效旅游管理系统

作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 🍅获取源码联系方式请查看文末🍅 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目…

【简单讲解下npm常用命令】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【hackmyVM】whitedoor靶机

文章目录 信息收集1.IP地址2.端口探测nmapftp服务 3.访问主页 漏洞利用1.反弹shell2.尝试提权3.base64解密 提权1.切换用户2.john爆破3.切换Gonzalo用户4.vim提权 信息收集 1.IP地址 ┌─[✗]─[userparrot]─[~] └──╼ $fping -ag 192.168.9.0/24 2> /dev/null192.168…

ZYNQ NVME高速存储之EXT4文件系统

前面文章分析了高速存储的各种方案,目前主流的三种存储方案是,pcie switch高速存储方案,zynq高速存储方案,fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储,但是fpga高速存储方案是最烂的,fpga…