(1-15/15) 预训练模型 + 微调范式下如何做到文本数据安全
2022.1.18 周二 mtfelix
今天在过一个项目方案的时候,碰到一个蛮有意思的技术需求。
预训练模型+微调范式
先给大家做个背景铺垫。
现在做自然语言处理,大都采用「预训练模型+微调」的技术范式。
简单解释下就是,基于某种架构设计的大参数模型,先经过海量的公开数据集(比如全量中文 wikipedia、全网中文网页等)进行训练,得到一个预先训练好的模型。期望(仅仅是期望)这个模型能把很多常见语言知识学个差不多。
然后在具体任务(比如,微博情感分类)上,利用针对这个具体任务标注的数据(比如,1 万条带情感极性标注的微博数据)进行微调训练。
这样,一个可以做具体任务的模型就出炉了。
一般把这个具体任务称为是「下游任务」。
假设下游任务的数据无法明文获取怎么办?
今天碰到的需求是:项目中处理的文本数据,是非常核心的资产数据。
不是因为涉及用户信息(数据脱敏)这种,而是因为这个数据价值非常大,所以数据持有部门无法批量明文式提供给我们。
这样的话,对我们的模型训练就提出了不小的挑战。
目前我们盘点的几个解决思路:
(1) 持有方加密,我们只能拿到密文文本。这样的话预训练模型就无法适应。
- 这里还有一个加密方式的问题,如果是简单的词表映射式加密,是可逆的,那还是不安全。
- 其他的把文本语义都损失掉的加密方式,更不可行。
(2) 我们的训练过程托管给数据持有方来做。相当麻烦,我们和对方都无法接受。
(3) 语义向量化(embedding)。为了能利用好预训练模型,需要构造一个能保留语义信息的向量化方式。比如,
- 持有方用一个固定的预训练模型专门做向量化(类似于编码器)
- 给到我们的数据就是一个语义向量(embedding)
- 我们拿这种语义向量化后的数据去做下游训练,将来线上服务也是如此
这个方式有个潜在的问题是,编码器给出的向量表示,会损失语义信息,对下游模型的效果会有影响,具体影响多大,需要各种尝试。
这个方式的数据是不可逆的,所以能保证明文数据的安全。
在其他机制不变的情况下,目前我们觉得(3)是一个折中方案。
这个问题有意思的地方在于:想利用明文训练的预训练模型,去做一个无法获取明文的下游任务。
不知道大家有没有更好的建议?
和联邦学习有没有关系?
有一种保护数据隐私,不共享数据但又能联合学习的范式叫联邦学习。
大概查了下,和我们的挑战应该不是一回事。
联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现 AI 协作。
版权声明: 本文为 InfoQ 作者【mtfelix】的原创文章。
原文链接:【http://xie.infoq.cn/article/9653e89042657aa7ebd0f1b5c】。文章转载请联系作者。
评论