谷歌Gboard应用的语言模型创新:提升打字体验的隐私保护技术

news2024/11/22 19:50:53

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

谷歌的键盘应用程序Gboard通过使用语言模型(LM)来改善用户的打字体验,提供了下一个词预测、自动更正、智能编写、滑动输入和校对等功能。我们的研究人员优先考虑开发负责任的方法,既能提高Gboard的LM性能,又能维护最高的隐私标准。近年来,我们取得了重大进展,包括向用户提供数据使用披露和配置控制,以及使用联邦学习和差分隐私(DP)来训练Gboard的LM,从而提供可量化且严格的数据匿名度量。

Gboard的LM设计为使用预定义的常用词列表,称为词汇表。LM的性能取决于这个词汇表的质量,而词汇表随时间可能会变化。不属于词汇表的词被称为词外词(OOV)。OOV词出现的原因有几个,例如,某些语言的词汇表在Gboard中仍在开发中,所以OOV词的比例可能较高。在词汇表相对完整的语言中,如美国英语,OOV词通常由于新兴的流行词(如“COVID-19”和“Wordle”)、非典型大小写(如“tuesday”)以及用户偏好的不寻常拼写(如“cooool”)或甚至打字错误而出现。由于用户在键盘上输入的信息性质敏感,OOV发现是一项具有挑战性的任务。

今天,我们很高兴分享几种通过发现新的常用词来提高LM性能的方法,同时保持强大的数据最小化和DP保证。这些研究工作包括与语言学家合作揭示新的OOV词,使用隐私保护的联邦分析和其他DP算法,以及使用受信任执行环境(TEE)。

与语言学家的合作


发现OOV词的一种方法是通过与外部方负责任的合作获取经过审查的词汇表。例如,我们与皇家机构西班牙皇家学院(RAE)合作,该机构的使命是确保西班牙语的稳定性,创建了更精细的西班牙语字典并将其纳入Gboard。这使得对在西班牙打字的用户来说,自动更正更快、词汇推荐更好,从而改善了Gboard体验。许多之前缺失的词包括常见名字、品牌名和地点名;相对技术性的词(如“euribor”、“dopamina”、“tensiómetro”);以及特定于西班牙说话者的变形(如“cuidáis”、“invitáis”、“tiráis”)。

我们使用之前的训练数据重新训练我们的西班牙语LM,并通过联邦重新训练下游模型,取得了显著的质量改进。OOV词的总比例下降了7.3%。打字词在初始提交后被修改的频率降低,由于使用了更大的词汇表,打字速度也因此得到提升。

隐私保护的联邦分析
另一种改进词汇表的方法是从用户设备中发现频繁的OOV词。这本身是一项具有挑战性的任务,因为用户在其设备上键入的内容性

质敏感。因此,我们需要精心设计机制,在数据收集和处理阶段保护用户的敏感信息。为此,我们采用联邦分析,这是一种数据最小化方法,用于在不共享敏感数据的情况下对分布式数据集执行统计查询,并通过新算法扩展它到开放集领域。这使得我们能够在保护用户贡献通过数据最小化技术(如安全聚合(SecAgg))和数据匿名化技术(如DP)的同时,动态地发现OOV词。

No, it seems like the response was cut off. Here's the continuation and conclusion of the translation:

我们开发的一项技术是SecAggIBLT,它结合了可逆的布隆查找表(IBLT)和SecAgg。IBLT是一种线性数据结构,允许高效地插入、删除和查找键值对。在这里,用户将其OOV词插入到初始化为零的IBLT中,然后通过SecAgg进行聚合。这保证了即使是诚实但好奇的服务器,也只能看到聚合的IBLT(所有设备上的所有OOV词及其频率),而不是单个用户的贡献。这种方法为用户贡献提供了匿名性,并阻止服务器将特定词与单个用户联系起来。在数据处理阶段,中心DP应用于发现的OOV词及其计数,以确保对少数个体来说独特的OOV词永远不会被发布。DP使用参数(ε,δ)来量化隐私保护(数值越小,保护越强)。它提供了一个正式保证,即发布的数据模式在设备之间足够普遍,从而防止个体识别。

在Gboard的使用案例中,由于用户输入可能来自包含敏感信息的大量可能性,例如英语用户可能会输入任意长度的单词或短语,包含来自拉丁字母表的字符、数字列表或其他特殊字符,这些输入可能包含他们的个人信息,如用户名和信用卡号。因为SecAggIBLT能够发现这样独特的词,它依赖于服务器在SecAgg之后正确应用中心DP来确保用户隐私。本身它并不阻止好奇的服务器检查发现的OOV词,可能访问敏感信息。这要求我们开发算法,用更强的数据最小化和DP保证来发现频繁的OOV词。

为此,我们在现有的研究基础上开发了LDP-TrieHH,通过迭代构建字典树(前缀树)数据结构来学习频繁的单词。LDP-TrieHH在数据收集过程中提供了强大的数据最小化和严格的本地DP(LDP)保证。在将LDP-TrieHH算法应用到特定语言时,如在美国和印度尼西亚使用的英语,字典树的每一层都存储与该层深度相对应的一组常见前缀。字典树从根部开始迭代构建,最大长度为15。在每一层,我们收集来自一组用户的反馈,他们只通过在上一层学到的常见前缀后指示一个字符来贡献他们的数据。例如,如果“CO”是算法在前一层学到的一个常见前缀,用户输入单词“COVID-19”,用户将只通过提交对“COV”的投票而不是整个单词“COVID-19”来贡献他们的数据,这减少了从投票过程中泄露的信息量。

我们还通过最小化用户参与(每个用户在最多一个层的投票阶段参与)、限制每个用户可以贡献的投票数量(60天期间平均每天一个单词)、并在用户的投票中添加本地噪音来提供严格的LDP保证(ε=10.0每个单词),从而进一步保护用户投票的隐私。为此,我们使用子集选择机制,它在LDP下提供最优的效用-

隐私权衡。在每一层,我们从大量用户(每层50万)中收集投票,这些投票经过聚合和阈值处理,以过滤掉不常见的前缀。通过这一额外的数据处理步骤,通过聚合分析隐私放大,LDP-TrieHH提供了每个词的中心DP保证(ε=0.315,δ=1e-10),每个用户在60天内最多贡献60个单词(即平均每天一个单词)。为了提高发现词的覆盖率,我们连续运行LDP-TrieHH多次,构建几个具有不同用户集的字典树。在后续运行中,我们要求用户只贡献尚未从前几次运行中学到的OOV词,以更有效地利用每个用户的贡献预算。通过LDP-TrieHH,我们能够发现占英语和印尼语OOV词的16.8%和17.5%。此报告提供了更多细节。

通过TEE扩展到更多语言,实现可验证的隐私
使用LDP-TrieHH方法私下发现OOV词的能力依赖于Gboard活跃的英语和印尼语用户的大量(数百万)数量。然而,对于使用量较小的语言,LDP-TrieHH的准确性将不可避免地较低。为了更好地跨语言扩展,包括使用量较低的语言,Gboard现在正在利用受信任执行环境(TEE)的服务器端处理联邦数据,开始进行验证这种方法的实验,使用合成和真实数据。

TEE是常见处理器的安全扩展,通过嵌入的秘密加密密钥(由硬件制造商签名)来促进工作负载的保密性、完整性和可验证性。我们正在开发的系统,如本白皮书所述,使设备能够验证只能在受TEE保护的过程中解密安全上传的数据,这一过程只发布私有化的聚合数据,且数据不能用于任何其他目的。TEE方法通过DP增强,提供与LDP-TrieHH类似的隐私保护,具有更好的可扩展性,并对类似的隐私威胁具有强大的抵抗力。未来几个月将有更多更新。

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

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

相关文章

C语言 | Leetcode C语言题解之第87题扰乱字符串

题目: 题解: struct HashTable {int key;int val;UT_hash_handle hh; };void modifyHashTable(struct HashTable** hashTable, int x, int inc) {struct HashTable* tmp;HASH_FIND_INT(*hashTable, &x, tmp);if (tmp NULL) {tmp malloc(sizeof(st…

【数据结构与算法 刷题系列】合并两个有序链表

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:数据结构与算法刷题系列(C语言) 目录 一、问题描述 二、解题思路详解 合并两个有序链表的思路 解题的步…

HTML飘落的花瓣

目录 写在前面 HTML​​​​​​​简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家推荐HTML实现的飘落的花瓣,无需安装软件,直接下载即可打开~ HTML​​​​​​​简介 HTML(Hypertext Markup Language&#xff…

【Linux】文件描述符和重定向

目录 一、回顾C文件 二、系统文件I/O 2.1 系统调用 open 2.2 标志位传参 2.3 系统调用 write 2.4 文件描述符fd 2.5 struct file 2.6 fd的分配规则 2.7 重定向 2.7.1 基本原理: 2.7.2 系统调用 dup2 2.8 标准错误 一、回顾C文件 文件 内容 属性 对…

阿里云OSS配置跨域及域名访问

1、配置跨域 进入对象存储OSS–>OSS存储桶–>数据安全–>跨域设置–>创建规则 2、配置跨域 Etag x-oss-request-id3、配置结果如下 4、数据源配置 切换到数据管理–>静态页面 配置根页面 保存结果如下 5、配置域名访问 绑定域名 添加txt记录 验证绑定 …

【CSP CCF记录】202109-2 非零段划分

题目 过程 思路 参考:http://t.csdnimg.cn/XRKTm STL库用法 unique用法 unique是STL中很实用的函数之一,需要#include(感谢各位提醒),下面来简单介绍一下它的作用。 unique的作用是“去掉”容器中相邻元素的重复…

手机配置在线检测工具微信小程序源码

手机配置在线检测工具微信小程序源码,这是一款升级版检测工具,自动检测手机真伪,序列号等。另外还可以给手机检测各项功能是否正常。 由于能检测的项目太多,所以大家到时候自行研究吧。另外支持多做流量主模式,还有外卖CPS,和友情小程序推荐等&#xff…

Unity自定义动画-Animation动画数据-How is “fileIDToRecycleName“ generated

一般美术和程序分工明确的项目 fbx确实是和动画一一对应的; 但一些独立,或者小工作室的项目,就没法保证了,关键还是在于 Unity的 .meta 目录 查找和对比了一下 .fbx 和 .meta: 缓存和不缓存Animation 具体的Animat…

天诚AIoT无线联网智能门锁即将亮相成都安博会、永康门博会

5月上旬,对于江苏新巢天诚智能技术有限公司(以下简称“天诚”)而言,依旧忙得如火如荼。随着各地人才公寓、公租房、智慧校园类智慧通行与租住新项目的实施、落地与服务,天诚也不忘初心,携全新升级的AIoT全场…

DEV--C++小游戏(吃星星(0.5))

目录 吃星星(0.5) 该版本简介 DEV--C小游戏(吃星星(0.1)) DEV--C小游戏(吃星星(0.2)) 分部代码 头文件 命名空间变量(增) 副函数(新,增) 清屏函数 打印地图函数(增&…

d18(169-174)-勇敢开始Java,咖啡拯救人生

目录 特殊文件 .properties 属性文件 读取属性文件 写出属性文件 .xml XML文件 读取XML文件 ​编辑 写出XML文件 约束XML文件 日志技术 Logback 日志级别 特殊文件 .properties 属性文件 每行都是一个键值对 键不能重复 文件后缀一般是.properties 读取属性文件 …

记录一下 log4j的漏洞

目录 背景 bug的产生 bug复现 JNDI 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 背景 log4j这次的bug,我相信大家都已经知道了,仅以…

OpenSSL自签证书并基于Express搭建Web服务进行SSL/TLS协议分析

OpenSSL自签证书并基于Express搭建Web服务进行SSL/TLS协议分析 起因 最近在学习安全协议,大多数实验都是基于Windows下IIS,或者Linux下nginx搭建的Web服务,搭建环境和编写配置文件比较麻烦。而且我有多个不同环境的设备,折腾起来…

使用Dockerfile配置Springboot应用服务发布Docker镜像-16

创建Docker镜像 springboot-docker模块 这个应用可以随便找一个即可&#xff0c;这里不做详细描述了。 pom.xml 依赖版本可参考 springbootSeries 模块中pom.xml文件中的版本定义 <dependencies><dependency><groupId>com.alibaba.cloud</groupId>…

EasyExcel导出Excel文件——合并单元格多层级数据导出

合并单元格多层数据导出 思维脑图 代码实现 /*** 导出所有信息** param request 请求体*/ Override public void getWilliamExportList(WilliamReqVo request, HttpServletResponse response) throws Exception {List<SysDictData> dataByType dictDataService.getDic…

添砖Java之路(其五)——封装,String,StringBuilder类。

封装&#xff1a; 封装意义&#xff1a;更好的维护数据&#xff0c;让使用者无需关心如何使用&#xff0c;只需要知道怎么使用。 Java Bean&#xff1a; 然后我们要知道Java Bean(实体类)标准。 1.对于这个类的成员都需要设为私有&#xff0c;而且要对外提供相应Get,Set的接…

WWW服务器搭建(1)——HTTP协议原理篇

目录 一、WWW的相关概念 1.1 WWW的定义 1.2 超文本标记语言HTML 1.3 统一资源定位符URL 1.4 超文本传输协议HTTP 二、HTTP协议工作过程 2.1 DNS解析 2.2 TCP连接过程 2.3 HTTP 请求与响应 2.4 TCP连接断开 三、HTTP请求报文格式 3.1 请求行 3.2 请求头 3.3 空行 …

大语言模型的数据预处理

文章目录 质量过滤敏感内容过滤数据去重 当收集了丰富的文本数据之后&#xff0c;为了确保数据的质量和效用&#xff0c;还需要对数据进行预处理&#xff0c;从而消除低质量、冗余、无关甚可能有害的数据。一般来说&#xff0c;需要构建并使用系统化的数据处理框架&#xff08;…

第十五节:贪心算法(下)

一 、 贪心算法的解题套路实战一&#xff08;最多的会议宣讲场次&#xff09; 1.1 描述 一些项目要占用一个会议室宣讲&#xff0c;会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间 你来安排宣讲的日程&#xff0c;要求会议室进行的宣讲的场次最多。…

校园志愿者管理系统带万字文档

文章目录 校园志愿者管理系统一、项目演示二、项目介绍三、10000字论文参考四、部分功能页面五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 校园志愿者管理系统 一、项目演示 校园志愿者管理系统 二、项目介绍 基于Spring…