不是偷病历,是”隔空取参数”
去年区里第一次尝试做老年糖尿病的风险预警模型时,我们差点因为合规问题把项目黄了。当时的思路很简单:把各个社区医院、养老驿站手里的老人病历、体检数据、用药记录全汇总到区里的统一平台,跑个大模型就能出结果。结果流程走到一半,法规科的张姐直接把存数据的移动硬盘从电脑上拔了,说要是真把这些能定位到具体人的信息传出去,哪怕加了密,出了泄露事故,整个中心都得吃不了兜着走——毕竟隔壁街道去年刚因为把老人体检数据打包给第三方机构,被卫健委罚了一百八十万,主任当时在全院大会上拍着桌子说,谁碰数据红线谁直接走人。 那大半年项目就僵着。直到今年开春,区信息中心的人过来推了新的方案,说不用传数据,用隐私计算的联邦学习框架做模型聚合就行。 我一开始还不信。
聚合的不是模型,是没人敢碰的”碎数据”
之前我们手里的老年健康数据,说好听点是各有侧重,说难听点就是一堆散在各处、谁都不敢碰的碎纸片。 我们社区卫生服务中心手里,是来拿降糖药的老人每周的指尖血糖记录,还有跟社区食堂打通的消费数据——比如哪个老人连续一周顿顿买糖醋排骨,哪个老人总在窗口买无糖豆浆配杂粮包。旁边第二社区医院手里,是去年给老人做的眼底筛查报告,毕竟糖尿病视网膜病变是最常见的并发症。最远的那个城郊养老驿站,手里是护工每天上门给老人测的血压、心率记录。 这些数据要是放在以前,根本没法凑到一起用。
没人提的”最后一公里”
不过话说回来,这东西跑起来的麻烦事,真的比我预想的多太多。 上次做全局模型聚合的时候,第三社区医院的机房已经用了快十年,服务器的风扇转得像拖拉机,传参数的时候卡了整整三分钟。本来预计四十分钟能跑完的聚合流程,硬生生拖了快两个小时。我那天值夜班,本来想等流程跑完就回家补觉,结果硬生生熬到快四点,眼睛都快粘在屏幕上了。 还有更离谱的。城郊那个养老驿站的护工根本不会操作本地的训练程序,每次跑模型都要我远程一步一步教。上次她点错了按钮,把存模型参数的文件夹存在了放职工年夜饭照片的硬盘里,差点点”格式化”,把攒了快三周的训练参数全删了。我当时在电话里差点跳起来——那可是我们攒了好久的本地数据,要是真删了,又得重新跑一周。 没人跟你说这些的。 那些发布会的PPT上,全是”安全合规””效率提升””数据价值释放”的漂亮话,根本不会提基层节点的老服务器会卡顿,不会提不会操作电脑的护工会点错按钮,不会提深夜值班的人要盯着参数传输的进度条,等得咖啡都凉透了。 凌晨三点二十,屏幕上弹出了模型聚合完成的提示。 我盯着跳出来的新一轮风险名单,看到上面有三个眼熟的名字——都是平时来拿药,会顺手给我塞个自家种的橘子的老人。窗外的天已经有点发灰了,远处的早点摊开始支摊子,飘过来一阵豆浆的香味。 我之前总觉得,”隐私”这两个字,就是一道不能跨的红线,横在数据和价值中间,谁跨谁倒霉。可现在盯着屏幕上的模型进度条,我突然觉得,这种不碰原始数据、只聚参数的方式,好像反而把这道线的意义给想明白了。 毕竟我们做慢病预警,从来不是为了把谁的病历扒出来晒在阳光下。我们只是想,在老人没觉得不舒服的时候,能提前敲开他家的门,问一句最近药有没有按时吃,血糖稳不稳。 天快亮了。作者|大讲堂
排版|大讲堂
审核|柚子
大讲堂