
本项目是临床AI模型评估调度系统。当信息科或临床数据中心把一款临床AI模型登记到算法注册中心后,系统能一键触发评估调度,按模型架构名查表派发到对应评估器,跑完院内脱敏评测集后,归约出带模型哈希、配置哈希、评测集哈希的审计报告。临床主任点确认,模型就能从待复核推进到已上线。我们主要面向信息科工程师、临床项目负责人、医院合规内审员以及测试验证岗,交付形态是命令行工具与HTTP API,底层技术栈采用Python标准库、SQLite与JSONL。
临床AI模型上线的现实困境
现在医院引入的临床AI模型越来越多,从脓毒症早期预警到病历质控规则,再到抗菌药合理使用提示。但我们在调研中发现,这些模型上线前的验证往往缺乏工程化手段。评测集是怎么来的?模型权重在测试期间有没有被悄悄替换?评测指标是谁算的?如果遇到飞行检查,怎么证明当时的评测集和现在跑的一模一样?
过去,信息科和临床科室往往靠微信群沟通、用Excel记录指标,甚至把评测脚本直接写在Jupyter Notebook里。这种做法在模型数量少的时候还能勉强应付,一旦模型变多、版本迭代加快,就会出现指标对不上、责任说不清、审计查不到的问题。我们需要把软件工程中成熟的持续集成与持续交付思路,真正用到医疗AI模型的上线验证上。这就是我们开发这套系统的初衷,让模型上线像代码发布一样有迹可循、有据可查。
算法注册与评估器查表派发
要让模型上线流程标准化,第一步是把模型和评估逻辑解耦。我们设计了算法注册中心,信息科工程师可以把模型登记为唯一的算法标识。登记时,系统会进行严格的模式校验,确保必填字段完整、版本号符合语义化版本规范、架构名称保持一致。
模型登记完成后,系统会根据架构名称在评估器字典里查表。如果命中对应的评估器,就会自动拉起该评估器执行任务。这种查表派发机制意味着,当临床引入一种新类型的模型时,我们只需要在字典里注册一个新的评估器,而不需要修改核心的调度逻辑。
三重哈希审计与强制状态流转
医疗AI模型的审计要求极高,任何数据的微小变动都可能导致临床决策的差异。因此,我们在每次评估运行报告中,强制落盘模型哈希、配置哈希和评测集哈希。这三重哈希锁死了评估的输入和过程,只要其中一个文件被修改,哈希值就会改变,审计时立刻就能发现异常。
在状态推进方面,我们设计了严格的六阶段流转路径,包括草稿、待复核、已批准、预发、已上线和已废弃。系统会拦截所有非法的状态跃迁,比如不允许从草稿直接跳到已上线,也不允许从已废弃直接回到待复核。这种强制路径确保了模型上线的每一步都符合医院的管理规范。
为了防篡改,审计日志采用追加写入模式,底层使用SHA-256前链结构。系统在启动时会校验整条哈希链,一旦发现日志被删除或修改,校验失败,系统直接拒绝启动。这从物理层面保证了审计日志的不可抵赖性。
评测集处理与异步预读机制
评测集的质量直接决定了评估结果的可信度。我们规定评测集必须采用JSONL格式,并且严格使用脱敏占位符。患者引用和就诊引用必须形如匿名占位符,绝对禁止填入真实的住院号或处方号。系统在导入评测集时,会计算数据集哈希并校验数据结构。
医疗评测集往往包含大量的患者特征维度,如果采用同步读取,主线程在加载数据时会被阻塞,导致命令行响应迟缓。我们引入了异步预读机制,使用线程池在后台预读下一批数据,主线程则专注于同步计算指标。经过测试,在处理一千条复杂特征数据时,首屏响应时间可以控制在两百毫秒以内,大幅提升了工程师的操作体验。
零外部依赖的API与端到端演示
考虑到医院内网环境的特殊性,很多时候无法随意安装复杂的第三方Web框架。我们采用Python标准库的HTTP服务模块,实现了零外部依赖的HTTP API。系统提供四个核心端点,分别用于触发评估、读取评估记录、主任点确认和重放审计链。
更重要的是,命令行工具与HTTP API共享同一套核心逻辑,包括算法运行器、决策管理和审计日志。这意味着无论用户是通过命令行脚本自动化执行,还是通过前端界面调用API,底层的行为完全同源,避免了多套代码导致的结果不一致。
为了方便大家快速体验,我们提供了一个端到端的演示脚本。运行该脚本后,系统会依次执行模型登记、任务创建、数据集上传、触发评估、主任确认等七个步骤,最终输出模型已上线的状态。
飞行检查与审计链重放
在医院面临飞行检查或内部合规审计时,内审员通常需要追溯某个模型的上线路径。过去,这需要信息科从各个系统里导日志、拼表格,耗时且容易出错。现在,内审员只需要拿到一个运行标识,执行审计重放命令,就能拿到该次运行包含的所有审计事件。
这些事件包括创建运行、派发评估器、计算指标、主任决策等,每一条事件都带有SHA-256前链哈希。审计链的完整性一目了然。如果医院需要对比不同版本的模型表现,测试岗也可以通过查看当前版本的软链指向,或者直接回滚到历史已批准的版本,确保线上运行的始终是经过验证的版本。
安全合规边界与项目结构
在医疗场景下,安全与合规是不可逾越的红线。我们明确了系统的边界:本系统仅评估模型在脱敏评测集上的指标,绝不输出任何诊断或治疗建议,最终上线必须由临床主任人工确认。系统独立运行在本地SQLite与文件评测集上,不直连医院信息系统,也不写回电子病历,医生工作站无须做任何改动。
项目结构清晰,核心代码分为注册中心、评估调度、数据集处理、版本管理、状态流转、存储、API和命令行八个模块。配置文件按业务场景分类,评测集独立存放,测试用例包含全套单元测试与性能测试。我们希望通过这种工程化的设计,让临床AI模型的上线过程变得透明、可控、可追溯。
项目地址: https://github.com/nexorin9/ai-model-eval-schedule
往期热门文章
HIS厂商的"架构收敛":当所有系统长得一模一样,你凭什么收费?
一群鼓吹AI Coding的专家,正在制造医疗信息化的新技术债
夜雨聆风