熬到三点的社区机房里,我撞见隐私计算联邦学习模型聚合的真实模样

凌晨两点十七分。 我靠在社区卫生服务中心的机房铁皮柜上,指尖的冰美式已经凉得像刚从太平间门口端上来的。机柜上的绿灯闪得有气无力,像熬夜熬到睁不开眼的实习生。

不是偷病历,是”隔空取参数”

去年区里第一次尝试做老年糖尿病的风险预警模型时,我们差点因为合规问题把项目黄了。当时的思路很简单:把各个社区医院、养老驿站手里的老人病历、体检数据、用药记录全汇总到区里的统一平台,跑个大模型就能出结果。结果流程走到一半,法规科的张姐直接把存数据的移动硬盘从电脑上拔了,说要是真把这些能定位到具体人的信息传出去,哪怕加了密,出了泄露事故,整个中心都得吃不了兜着走——毕竟隔壁街道去年刚因为把老人体检数据打包给第三方机构,被卫健委罚了一百八十万,主任当时在全院大会上拍着桌子说,谁碰数据红线谁直接走人。 那大半年项目就僵着。直到今年开春,区信息中心的人过来推了新的方案,说不用传数据,用隐私计算的联邦学习框架做模型聚合就行。 我一开始还不信。
社区医院夜间机房服务器运行指示灯
社区医院夜间机房服务器运行指示灯
说穿了逻辑也不复杂:各个站点不用把自己手里的原始数据搬去别的地方,就在自己本地的服务器上跑小模型,算出来的模型参数——就是那些调整模型判断准确率的权重数值——加了差分隐私的噪声之后,再传到区里的聚合节点。聚合节点把各个站点传上来的参数做加权平均,再把调整好的全局模型发回给各个站点,大家用更新后的模型接着跑,循环个几轮,模型的准确率就上来了。 我之前总怕这里面有漏洞:毕竟参数是从本地数据里算出来的,万一有人截了传输的数据包,能不能倒推出某个人的病历?上次参加区里的培训,讲师当场做了演示:他把传输链路里抓的参数包导出来,想反推哪个老人的血糖值是多少,折腾了半小时,出来的结果全是加了噪声之后的乱码,连个准确的年龄都拼不对。我当时坐在下面差点笑出声——之前悬了大半年的心,总算落下来了。

聚合的不是模型,是没人敢碰的”碎数据”

之前我们手里的老年健康数据,说好听点是各有侧重,说难听点就是一堆散在各处、谁都不敢碰的碎纸片。 我们社区卫生服务中心手里,是来拿降糖药的老人每周的指尖血糖记录,还有跟社区食堂打通的消费数据——比如哪个老人连续一周顿顿买糖醋排骨,哪个老人总在窗口买无糖豆浆配杂粮包。旁边第二社区医院手里,是去年给老人做的眼底筛查报告,毕竟糖尿病视网膜病变是最常见的并发症。最远的那个城郊养老驿站,手里是护工每天上门给老人测的血压、心率记录。 这些数据要是放在以前,根本没法凑到一起用。
联邦学习多节点参数聚合传输逻辑示意图
联邦学习多节点参数聚合传输逻辑示意图
靠这次的联邦学习模型聚合,这些散在各个节点的数据终于不用”挪窝”,就能凑出一个覆盖全片区的风险判断模型。上周全局模型第一次跑通的时候,系统跳出来三十七个高风险老人的名单,我们挨家挨户上门排查,真的查出了三个偷偷停了降糖药的老人——三楼的李爷爷就是其中一个,他听老战友说二甲双胍吃久了伤肾,自己偷偷停了快半个月,上门测的空腹血糖已经飙到了11.2。要是等他自己出现头晕的症状再来医院,说不定都要酮症酸中毒了。 说真的,我之前在网上看那些吹隐私计算的文章,总觉得这是写字楼里穿定制西装的工程师玩的高大上概念,跟我们这种蹲在社区机房、天天跟坏了的打印机和不配合的老人打交道的人没半点关系。真上手跑了才知道,哪有那么多玄乎的东西。它就是个笨办法:你出一点参数,我出一点参数,大家都不碰对方手里的原始数据,凑到一起就能把事办了。

没人提的”最后一公里”

不过话说回来,这东西跑起来的麻烦事,真的比我预想的多太多。 上次做全局模型聚合的时候,第三社区医院的机房已经用了快十年,服务器的风扇转得像拖拉机,传参数的时候卡了整整三分钟。本来预计四十分钟能跑完的聚合流程,硬生生拖了快两个小时。我那天值夜班,本来想等流程跑完就回家补觉,结果硬生生熬到快四点,眼睛都快粘在屏幕上了。 还有更离谱的。城郊那个养老驿站的护工根本不会操作本地的训练程序,每次跑模型都要我远程一步一步教。上次她点错了按钮,把存模型参数的文件夹存在了放职工年夜饭照片的硬盘里,差点点”格式化”,把攒了快三周的训练参数全删了。我当时在电话里差点跳起来——那可是我们攒了好久的本地数据,要是真删了,又得重新跑一周。 没人跟你说这些的。 那些发布会的PPT上,全是”安全合规””效率提升””数据价值释放”的漂亮话,根本不会提基层节点的老服务器会卡顿,不会提不会操作电脑的护工会点错按钮,不会提深夜值班的人要盯着参数传输的进度条,等得咖啡都凉透了。 凌晨三点二十,屏幕上弹出了模型聚合完成的提示。 我盯着跳出来的新一轮风险名单,看到上面有三个眼熟的名字——都是平时来拿药,会顺手给我塞个自家种的橘子的老人。窗外的天已经有点发灰了,远处的早点摊开始支摊子,飘过来一阵豆浆的香味。 我之前总觉得,”隐私”这两个字,就是一道不能跨的红线,横在数据和价值中间,谁跨谁倒霉。可现在盯着屏幕上的模型进度条,我突然觉得,这种不碰原始数据、只聚参数的方式,好像反而把这道线的意义给想明白了。 毕竟我们做慢病预警,从来不是为了把谁的病历扒出来晒在阳光下。我们只是想,在老人没觉得不舒服的时候,能提前敲开他家的门,问一句最近药有没有按时吃,血糖稳不稳。 天快亮了。

作者|大讲堂

排版|大讲堂

审核|柚子

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:熬到三点的社区机房里,我撞见隐私计算联邦学习模型聚合的真实模样
文章链接:https://lfdjt.com/info_23_27022.html