孟祥峰,王 浩,张 超,李佳戈,李静莉
(中国食品药品检定研究院医疗器械检定所,北京 102629)
当前,我国医学人工智能产业得到快速发展,审评、审批制度改革持续推进,且近些年陆续出台了多个相关医学人工智能的审查指导原则[1-4],国内外也有多种针对不同数据模态和疾病的产品上市或进行研究[5-9]。在评价方面,人工智能医疗器械标准化技术归口单位起草了多个标准并公开向社会征求意见[10-13],但医学人工智能产品检测手段目前还满足不了实际需求,产品上市前的算法评价主要依赖临床确认,人力、物力成本投入较大。即使临床机构已经建立了数据库和操作平台,但如果没有按照标准要求对数据标注、数据库质量和算法等开展质量评价,所开发的人工智能产品也很难满足临床使用要求。医学人工智能产品检测是统一生产与监管评价标准、显著降低企业成本、缩短产品上市周期、支撑新兴产业发展的必要举措,然而医学人工智能产品检测服务目前还普遍存在局限性,比如以单一病种为维度的标准数据集建设无法满足多目标、多用途产品的检测需求;
业内很多公司尝试自行开发检测平台来满足中试加速和针对性调优的需求,导致重复投入、方法不一、数据集质量和产品指标缺乏可比性,大大影响了我国新兴医学人工智能产业的创新发展。
以往人工智能产品的检测模式多为局部的、分散式的模式,从数据集创建、数据标注、数据质控、测试集生成到产品性能评价[14-16]的各个环节相互孤立,不同机构建立的数据集兼容性、可比性难以控制。基于云端的检测平台有望优化资源利用、降低成本,但业内缺乏成熟的先例。基于此,建立网络化、标准化的检测平台,提供集约化的安全监控和检测能力,亟须做好顶层设计。
本研究基于当前技术策略及系统架构方式,通过采用集中式的人工智能产品检测服务工具,集成建立整体技术架构,并将新技术正确地嵌入整体的IT 系统和基础架构中,形成统一完备的人工智能运营产品形态,同时利用统一的基于评价机制的运营中心提供集约化的检测、监测、分析能力,实现影像辅助检测、辅助分类等人工智能产品在测试中的数据治理、任务调度、算法测试、安全管理及人员管理。基于上述方法建立的医学人工智能产品检测平台将为多数据模态、多病种医学人工智能模型建立动态评价机制,打造面向医学人工智能产业全生命周期的检测服务体系。
1.1 平台整体架构
医学人工智能产品检测平台整体体系架构包括基础设施层、能力层和应用层3 个部分,如图1 所示。本平台通过模块化设计,降低业务间的耦合。低耦合、高内聚的技术架构设计支持关键技术模块的独立运行和部署,如标注模块、数据管理模块、监测模块等,可以低成本地根据需求进行灵活扩展,保证应用架构的健壮性。
图1 医学人工智能产品检测平台整体架构图
在基础设施层,基于虚拟化、分布式存储、并行计算、负载调度等技术,为云服务提供完善的云基础设施,为上层应用提供计算、存储、网络等虚拟资源。本平台架构中,服务器硬件处于架构底层,较基础且通用性很强,能提供底层操作系统和软件的运行环境;
应用入口处于架构高层级,形式相对灵活,复用性较低。在部署形式上,平台基于混合云架构模式,采用小型化部署形态,形成共性接口的规范,如业务触发、任务调度等,同时归类、抽取不同业务场景的共性部分,支撑完成不同类产品业务流、任务流、工作流。
在能力层,提供平台所需的资源能力,包括检定管理能力、资源管理能力、检测服务管理能力、接入管理能力等,支撑应用层的技术体现、升级迭代、业务推广,实现全生命周期检测服务。
在应用层,解决实践和创新的问题,主要面向特定医疗应用场景,提供用户管理、检测需求录入、人工智能模型管理、数据集管理、数据内容展示、测试集管理、第三方标注工具接入等功能,为送检客户提供算法评价、数据评价等服务。
1.2 平台建设
医学人工智能产品检测平台包括数据入库、数据标注、数据配置、产品送检、算法测试、数据集质量评价等模块。不同的功能模块、业务流程是并行的。其中,算法测试、数据标注、数据集质量评价等模块按照现有的人工智能医疗器械行业标准进行设计。
在研发环境方面,平台根据业务能力建设的总体规划方案,构建开发环境、测试环境、生产环境,支撑SpringBoot、SpringCloud、Python Django 等研发体系搭建代码管理工具。依托分布式版本控制系统的多任务协调管理能力,建立研发工程师的独立用户体系。其中测试环境用于平台代码的测试,与生产环境、客户数据隔离。生产环境用于测试已完成的代码的发布,上线后为客户提供应用服务。平台依托云资源的GPU算力、CPU 运力、Linux 基础支撑,构建面向多线程、多组件的应用环境,支撑代码的模块化,提升系统性能。本平台采用云联网的私有化部署形态,全部的生产数据均存放在本地数据中心。
在技术支撑方面,平台预期提供跨模型、跨方法、跨机构的检测服务,面向医学人工智能产品的全生命周期(研发、上市前、上市后)。平台面向科研院校、企业等社会机构开放使用,可提供人工智能公共服务组件,如TensorFlow、PyTorch、MXNet 和Caffe 多种主流人工智能计算框架,通过社会化效应建立数据支持、技术支撑、方法支撑、标准支撑,形成多源异构数据入库、智能数据标注、数据中台、评价检测等技术能力。平台建设方案如图2 所示。
图2 医学人工智能产品检测平台建设方案
1.3 基于安全认证的准入中心
为保证权限控制与访问安全,平台通过鉴权流程设计,实现用户信息统一管理和单点登录功能,服务于不同能力提供方的模块化接入,可形成统一安全的鉴权能力;
子系统归集主要解决一次登录访问多个独立应用的问题,在登录方案出现之前,每个应用都需要独立登录维持各自的会话;
通过权限管理建立用户属性,具备公众用户、企业用户、专家、区域管理员等角色,形成运营管理一体化能力,具体如下:
(1)鉴权流程设计。统一单点登录系统提供统一授权认证接口,保障各个子系统进行能力对接,可以实现用户信息统一管理和单点登录功能。
(2)接入认证。安全单点登录是运营及检定服务平台的核心组件之一,也是检定服务平台的安全屏障。
(3)权限管理。单点登录验证成功后,用户可以访问平台下的所有应用系统,因此保证单点登录的安全是保证应用系统安全的前提。
(4)子系统归集。单点登录系统在私有云内独立部署,与公有云形成物理隔离及安全准入,其与网络附属存储(network attached storage,NAS)系统的独立安全域内各子业务统一进行鉴权,实现子系统归集,在一次登录中可访问多个独立应用。统一进行鉴权。
(5)白名单管理。建立访问IP 白名单机制。
1.4 基于多中心数据的安全存储方案
数据安全存储中心采用本地化部署的方式,实现多中心/医院数据的安全存储;
各子业务系统对数据的访问需经过点对点专线统一进行鉴权,点对点专线形式的安全通道可以保障用户与数据的绝对安全;
采用基于多协议标签交换(multiprotocol label switching,MPLS)技术的虚拟专用网(virtual private network,VPN)的点对点专线,实现跨地域、安全、高速、可靠的数据和图像多业务通信,并结合差别服务、流量工程等相关技术,将公众网可靠的性能、良好的扩展性、丰富的功能与专用网的安全、灵活、高效结合,为用户提供高质量的服务,形成全流程数据多中心安全存储方案,如图3 所示。
图3 多中心数据安全存储方案设计图
2.1 数据入库
用户首先需要根据上传数据的模态下载相应的入库模板,用于填写上传数据的元数据信息,包含患者的基本信息、数据模态信息、数据采集信息等。这些信息不仅是数据质控的内容,也可保证入库数据信息的规范化,实现面向社会开放的、多样化的测试数据集的收集,为数据集建设提供统一的模板,为数据集的开放共享提供平台。数据按照模板的要求打包上传后,平台会通过自动审核+人工审核的方式进行审核,保证数据的合规性、唯一性、完整性,达到审核标准的数据可存入样本库。
2.2 产品送检及测试集生成
平台为不同模态的数据打造了专属的送检模板,包含产品的基本信息、适应证及对数据的要求等,以便收集用户个性化检测需求,从而选择合适的数据集进行评价测试。
用户按模板填写送检信息并提交送检申请后,区域检定员进行审核,确认平台是否满足用户需求。审核通过后,用户可申请服务器资源配置以部署待检产品。平台开放公共支撑组件,提供镜像库IaaS 支撑能力,为检品提供部署环境。
检品部署完成后,将检测需求提交至数据中台;
数据中台将需求解译,提供搜索项,包括样本量、数据分布、数据规范信息、参考标准信息等,对数据进行筛选,并对搜索到的数据创建测试集用于后续检测。
2.3 数据标注
如果检索到数据的标注信息无法满足当前测试的要求时,该测试集会打包生成标注任务,开展新的标注,以适配当前任务。标注工具支持基本标注任务类型,包括分类标注、分割标注和检出标注,涵盖影像、文本、信号、图片、视频等模态。在保证标注结果质量的前提下,为了提高标注准确度与效率,采用人机相结合的智能标注方式,在检测平台导入人工智能模型进行预标注。同时,平台实现了多人标注的流程设计,加入多个质控环节,保证标注过程的可追溯性。
2.4 产品检测
平台将人工智能产品的检测指标划分为检出、分类、分割3 类,对每类指标均建立了测试脚本库。在具体测试过程中,根据用户检测申请,将进行以下6 个步骤:(1)启动待测的算法模型;
(2)导入测试集;
(3)输出预测结果;
(4)调用测试脚本库;
(5)将预测结果与参考标准进行对比计算;
(6)形成检测记录和检测报告,检测报告可通过平台供用户下载获取。
此外,针对常规指标无法评价产品对于真实世界的陌生样本或极端样本的性能问题,平台构建了白盒和黑盒测试工具,基于专病扰动库生成对抗样本,实现人工智能产品泛化能力和鲁棒性测试。
为了满足全生命周期的检测需求,平台在检测流程中还设计了支持算法调优、更新再评价、重复性检测等。
根据以上设计,平台业务流程如图4 所示。
图4 医学人工智能产品检测平台业务流程设计图
3.1 产品送检
平台已通过定点开放的形式,面向研发机构和生产企业上线运营,可从3 个方面规范运营体系:首先,从安全体系入手,单点登录系统支持身份绑定及任务权限接入绑定,从用户注册、用户登录、身份认证及角色赋予等几方面保证用户及数据的隐私安全;
然后,根据不同模态数据及病种的检测需求,制订送检量表规范、数据采集规范、结果记录规范,助推检测流程的标准化;
最后,全面建立检测评价体系,围绕检测管理的时效性、互动性形成规范化业务流程操作指引。
平台支持线上发起检测申请,用户可以按照送检模板填写送检需求,满足个性化的检测需求。该方式改变了传统线下封闭检测的方式。在送检产品部署方式上,平台可根据用户需求按产品、类别提供线上服务器资源。同时根据使用周期定期释放送检资源,动态化匹配各类业务的共性资源使用。网上送检界面如图5 所示。
图5 网上送检界面
3.2 数据管理
根据数据安全专网接口调度能力,平台构建按产品分类的多权限数据存储模式。用户在上传数据时,须在可见性及预期用途2 个维度进行选择,以便平台对数据的使用权限进行控制。在数据可见性上可选择数据共享与非共享2 种方式,共享的数据可被其他用户检索并使用,不共享的数据仅供该用户检索使用。该方式实现了数据的区域性管理以及平台的多账号体系运营。在预期用途上可选择训练数据和测试数据2 种用途,以保证用于算法调优的数据与用于检测评价的数据的独立性,满足用户在产品不同的生命周期阶段的检测需求。此外,本研究采用了跨模态、跨形态的医学数据检索方法,实现数据资源、标注工具、检测技术体系的联动,可快速生成能够匹配用户检测需求的测试数据集。数据管理界面如图6 所示。
图6 数据管理界面
3.3 服务提供
平台利用数据的多元管理,可为用户提供研发阶段、上市前、上市后的性能评价,包括算法调优任务、更新再评价任务、重复性检测任务3 种,具体如下:(1)算法调优任务:执行算法调优任务时,平台仅可检索训练数据,检索出的训练数据可根据用户需求自由配置。在同一任务下可申请多次检测,平台服务器资源支持每次检测前产品的在线调参,避免重复部署。(2)更新再评价任务:执行更新再评价任务时,平台仅可检索测试数据,在同一任务下可申请多次检测,每次申请仅可更新检品,不可更换测试集,以验证检品升级后的性能。(3)重复性检测任务:执行重复性检测任务时,平台仅可检索测试数据,在同一任务下可申请多次检测,每次申请仅可更换测试集,不可调整检品,以验证产品在不同数据组成下的性能,完成不同维度的压力测试。除以上3 种测试任务外,根据平台的多工具集成属性,也可为用户提供多种单独的数据质量评价服务、数据标注服务等来满足检测整个链条及单点的多层次检测服务,如图7 所示。
图7 检测服务界面
3.4 相关标准检验能力的实现
本研究通过对医学人工智能产品检测平台的研究,为多种数据模态和病种的医学人工智能产品建立了评价机制。在疫情防控等特殊时期,有助于减少人员的线下接触,提升检测效率。此外,平台的功能覆盖了现有标准对于人工智能医疗器械产品的检测和质量评价需求,具体如下:
(1)实现了行业标准YY/T 1858—2022《人工智能医疗器械 肺部影像辅助分析软件 算法性能测试方法》中对平台数据抽取、测试集管理、可视化工具、测试指标计算等功能的要求。本文设计的检测平台实现了基于用户需求的数据抽取,并形成测试集用于检测;
利用数据入库模块及数据本地存储方案实现了多模态、多权限、多用途的测试数据管理方式;
利用数据标注模块实现了数据的可视化,为上传数据参考标准的生成提供了技术手段;
建立了计算资源库,实现了检出、分类、分割各项指标的检测,并支持计算库的扩展更新,满足更多的检测需求。
(2)满足了《人工智能医疗器械注册审查指导原则》中提到的“为全面深入评估算法性能,可开展压力测试、对抗测试等测试”的要求,并遵守行业标准YY/T 1858—2022 提出的泛化能力、鲁棒性、重复性等性能测试方法的规定。本文设计的检测平台还构建了白盒和黑盒测试工具,基于专病扰动库生成对抗样本,且支持更新再评价、重复性检测等检测流程,这些为算法泛化能力、鲁棒性的评价及压力测试、对抗测试提供了技术手段。
(3)满足了行业标准YY/T 1833.2—2022《人工智能医疗器械 质量要求和评价 第2 部分:数据集通用要求》对数据完整性、唯一性、多样性等的要求。平台在数据入库质控方面建立了不同模态数据规范化描述文本,划分数据类型,从入库结构、传输格式、存储方式等方面进行标准化规范。
本文在顶层设计上采用多中心数据存储的方式,建立了不同模态数据的入库模板,为数据的规范化存储、数据模态的扩展提供了范本。但目前由于隐私保护及医院数据管理的限制,医疗数据共享仍未完全实现,需要解决;
人工智能医疗器械的临床应用范围越来越广,数据的模态需要持续更新;
由于人工智能医疗器械的诊疗方案不同,所需要的标注方式和标注结果需动态变化。下一步的研究重点是建立可动态扩展的定制化检测模式,打通数据存储端与应用端的访问限制,满足全生命周期各环节用户个性化的检测需求。