将模型转化为医学:管理视觉传达的一个例子

下载幻灯片

西雅图儿童医院致力于通过研究人员和临床医生共同努力提高我们对儿科疾病的理解,从而提供最好的医疗服务。这种关系的充分实现需要系统和流程设计来实现知识和信息的捕获、发现和有效交流。那么,我们如何将科学家和临床医生产生的知识和专业知识转化为更好的病人护理呢?

在本次演讲中,我们将讨论如何构建由MLflow、Vega-lite和其他开源工具组成的松散耦合框架,作为我们知识捕获、管理和通信策略的一部分。bob下载地址我们将演示如何利用MLFlow模型注册表以一种可被临床医生发现和共享的方式捕获可视化结果。

点击这里观看更多Spark + AI课程

免费试用Databricks

视频记录

大家好,我们是Andrew Bauman和James Hibbard,我们是西雅图儿童医院神经元团队的一员。欢迎来到我们关于将模型转化为医学的演讲这是一个管理视觉交流的例子。

将模型转化为医学:管理视觉传达的一个例子

在这次演讲中,我们将讨论Neuron团队和项目,我们的使命、愿景、目标和挑战。我们将讨论我们的解决方案方法,并将演示一个管理和交付可视化通信的示例。

神经元计划的愿景和使命

“神经元团队”和“神经元项目”专注于支持重症监护室的患者护理。我们的愿景是为每一个危重儿童实现最佳的临床结果。我们的使命是通过创建和改进预测分析和其他决策支持工具来领导个性化儿科危重病护理的发展。为此,我们与多个学科合作,促进快速创新,促进和衡量我们方法的采用,并提供新颖的培训及其使用和解释。

我们的一个具体目标是实现Neuron的使命,以减少用户认知负荷的方式向他们提供见解和信息。如果你看右边的图表,你会看到我们的用户在绿色圆圈里,周围都是设备。

明确的目标

在这种情况下,

这可能是重症监护室的神经科医生,他可能会与其他医生就病人的护理进行咨询。所以在讨论中,他们可能需要一些信息来帮助他们做出决定。和论坛与显示层结束。它是通过意念设备来访问的。包括一些信息,比如比较它们所属的治疗目录的可视化,它们使用的药物是什么比例,告知可视化的底层数据以及,例如与液体平衡管理相关的位置,以及可能的风险评分,如败血症风险预测,呼吸窘迫风险预测,或崩溃风险预测。

挑战

举个例子

就是我刚才讲的那个故事,这是一个主要的领域内交流的例子。所以你在临床领域的知识障碍会比在临床护理领域和工程或数据科学领域之间的知识障碍要小得多。所以这很大程度上构成了我们作为一个团队和一个组织所面临的挑战,也许这并不是我们团队或组织所独有的。因此,技术挑战并非微不足道。

处理大量的数据,或者用平台支持数据科学家,并维护这些工具和平台,这些事情远没有领域之间存在的知识孤岛那么重要。bob体育客户端下载所以这在试图从临床领域转移到通过工程将知识操作化的过程中尤其突出。因此,如果不克服这些知识孤岛,你就不能充分利用你所克服的任何技术挑战,所以你不能充分实现它们的价值。

因此,这些知识孤岛或知识障碍的例子可能包括临床模型或困在文献和SME头脑中的其他类型的模型。这可能以模型代码实现和ETL的形式出现,它们是紧密耦合的,也可能以围绕关键信息和工件的部落知识的形式出现。所以,这些在一个领域内是可以克服的,因为来自同一领域的人通常说同一种语言,他们可以一起工作来克服这些挑战,但当你试图在两个领域或多个领域之间转换时,就像我们一样,你真的必须努力克服这些障碍,这样你才能充分实现你所拥有的知识库的价值。

减少竖井,使我们的团队Py

这就是这张幻灯片要说的为了充分发挥我们的团队,充分实现我们的价值,我们真的需要在流程和技术上努力,帮助我们从一个领域知识孤岛之间的状态,进入一个我们都可以自由地相互交流和分享彼此知识的状态。

因此,我们做到这一点的方法之一是通过实现,即使用经典的设计模式来实现由松散耦合的层和扮演特定角色的入口点组成的框架。所以我讨论了显示层,它将提供可视化可视通信。有一个层,框架有一个层来与其他层通信或协调。该层的一个非常重要的部分是模型层,它帮助我们跟踪模型实验和性能,将模型或可视化注册到目录或注册表中,并帮助编排部署。还有一些经典的组件,比如中间数据层,它帮助我们提取源数据并执行特定用例所需的转换,还有一个层,它帮助数据科学家和数据工程师通过模型层和中间数据层向框架贡献知识和信息。

使用框架来支持我们的团队

我们如何使用这个框架呢?我们使用框架来捕获模型、工件、领域和部落知识,并倾向于将其转换为标准的透明的、可跟踪的工作流。例如,将临床医生的概念映射到视觉上,帮助他们做出决定,并在处理病人信息时减少他们的认知负荷。然后我们将其转变为可发现、可扩展、可移植的产品。

这里,这些是我们用来实现这个框架的一些技术。我们的模型层主要由MLFlow和一些BookKeeper形式的我们自己的代码组成。我们的中间数据层主要由Spark、Delta Lake和Blob存储组成。我们的显示层涉及许多元素,特别是在我们的原型层中。这些包括Tableau, Altair和Vega-lite, Power BI, Streamlet和React JS什么进程?

我们遵循并继续开发一个从研究到生产的过程,包括定义和记录在文献中找到的信息,以及通过主题专家访谈获得的信息,将基本模型与实现的细节分离,为进一步的开发和成熟提供支持。例如,一个模型采用一个数据实例并给出该特定时刻的风险评分,而另一个模型可能预测未来几个小时的风险评分。同时,我们专注于集中跟踪发展、知识和交流,以实现发现。同样,我们的模型层在这项工作中发挥了很大的作用。我们以可视化的方式提供模型,所以我们以可视化的方式提供这些模型并与之交流,我们最近在我们的框架中工作的模型的例子包括一个儿童急性呼吸窘迫综合征的模型。这是一个评分模型,预测NEDOCS也是一个评分模型,它可以帮助规划急诊部门的人员配备。在这个案例中,我们实际上使用了机器学习算法来预测未来两小时的分数。

模型跟踪和管理与簿记

正如我提到的,我们的模型跟踪层是非常重要的,是我们关注的很大一部分。我们使用MLFlow作为这个跟踪层,但我们也将它包装在我们自己的Python包中,我们目前称之为BookKeeper。因此,我们这样做是为了方便地为我们的用例定制MLFlow,也能够通过Python插件系统进行扩展。这样我们就可以在不改变MLFlow本身的情况下满足我们的用例。我们的一些自定义和扩展包括UI自定义、自定义模型和工作流,例如能够注册可视化和模型注册表,以及高级搜索和部署便利功能,这些功能构建在MLFlow模型API之上。特别是,它帮助我们构建前端使用的东西,这样你就可以从注册表中搜索特定类型的模型和其他信息。

管理视觉传达:映射ICU床位

Neuron一直专注于呼吸健康。这包括pARDS风险监测,就像我之前提到的监测通风使用,甚至是流体管理的各个方面。

我们目前正在使用我前面描述的过程捕获pARDS管道。我们现在就能做到。为了演示我们的过程和管理我们的视觉交流,我们假设了一个ICU床位的映射场景。我们将展示我们如何用JSON编码可视化和规范的一些方面。我们如何使用MLFlow捕获并使用Vega-lite呈现它们,我们如何通过使用MLFlow模型注册表简化可视化通信管理。

我们使用自定义高级搜索和部署类来发现和部署模型,然后我们如何通过拟合或预测函数将数据传递给我们的部署,以便在这些可视化下呈现它。

现在,James将接手,讲解我们的场景。-所以我们有一个主题专家,他想要有一个可视化的信息,传达该地区可用的ICU床位数量以及新患者的可用性。所以他们想把它作为仪表盘显示在某个地方,其他人可以看到它,并非常快速地获取关于容量的信息,并根据这些信息做出决定。主题专家知道大量关于医院人口普查、医院病床普查以及这将如何影响护理的信息,但他们自己无法传达这些信息。所以他们要做的第一件事就是他们会去我们的登记处,他们只是做一个大脑转储。他们会围绕重症监护室的病床通信创建一个新的实验,他们会描述传送这些重症监护室病床的场景,以及有多少床位,然后他们可能会抛出额外的信息。我使用的术语是医院普查,这是特定领域的术语,指的是存在多少张病床,有多少张可用。所以像这样的术语可以在这里定义,或者至少可以让来自其他领域的其他人说,“我不确定你想在这里传达什么。“你能给它下定义吗?”所以他们可能会做额外的步骤,比如附上研究论文来定义术语或来源。

因此,一旦场景的初始捕获发生,另一个团队成员将对医院病床进行初始可视化,并将该可视化注册为模型。

注册的可视化模型

在我们的模型注册表中,我们有三个版本的医院床位普查作为我们模型的三个不同版本。

3金县医院床位地图版本

所以每一个版本都是一个渐进式的锐化,在将这些信息从一个知识筒仓传递到另一个知识筒仓的过程中,以一种更广泛的方式被组织使用,以支持我们的病人护理。所以,也许版本一,专家和可视化有足够的知识,对场景有足够的理解,有一个地理区域的地图用点代表医院。我们可以看到,这是一个伟大的第一步,但如果你把这些点的大小映射到ICU床位的数量,它会更容易理解。如果你用颜色编码来编码可用性,那么研究可视化的人就会去更新模型,把数据块映射到可视化。所以这个过程会反复进行。也许这里的第三个版本是增强颜色编码,以更好地传达可用性。

即Spec和PyFunc捕获为工件

我们能够进行这种快速的迭代,快速地将数据和概念映射到可视化的交流中,因为我们把这些可视化的东西包装成模型。这是BookKeeper扩展的一部分。您将在这里看到,我们已经注册了一个用于将该可视化生成为模型本身的规范。我们在这里强调了传递进来的数据是用户可以选择的。这里我们有一个占位符值,我们可以定义这里的视觉效果作为规范并渲染它。就像你有一个模型,它接收数据并预测一些值,我们有一个视觉通信模型,它接收一些数据,当你调用predict时,就会输出一个视觉。

模型可发现/可部署基于标准选择一个注册模型可视化模型部署

这让我们可以使用我们开发的工具包,以及其他人围绕在数据科学领域创建模型而开发的工具包,并将其应用于这些通信。因此,我们可以跟踪我们的可视化,我们可以用不同的标准搜索它们,同样的方式,我们可以通过MLFlow模型注册表搜索满足特定标准的模型或回答我们提出的问题的模型。我们可以选择一个可视化的表示,然后独立地传入我们想要解释的数据块。

Spec在传递合规数据时呈现

这里我们有一个例子,一个用户拉出一个可视模型,并传入一些医院数据,很明显,表示ICU床位的点被渲染出来了。这只是为了表明数据和可视规范是独立的你可以传入任何数据,这是我们的可视化规范真正编码了信息如何转化为可视的。这里我们看到他们传递了一些医院的病床信息他们实际上得到了一个视觉表征。这种视觉表现带有一些主题专家的直觉。

更大的规模有更多的ICU床位,在他们关心的地区周围的位置。

在跟踪层更改模型

因此,随着这些视觉效果的改进和迭代,我们能够使用与机器学习或统计模型相同的模型部署过程来部署我们的视觉模型。因此,我们可以从生产阶段到模型的第二个版本再到第三个版本,所有下游系统都将接受这个变化并显示当前最好的视觉表示。这很好,因为它有一个控制点来更新这些映射并在整个组织中分布它们。

这是重症监护室病床的第三个版本。

我们在这里已经取得了很多成就。我们已经制作了一个独立于我们传递进来的数据的可视化规范,该规范是将原始数据转换为可视化的模型,它承载了许多我们的主题专家对系统的直觉。

我们并不是试图传达我们所掌握的关于医院病床的所有信息以及他们所在的医院,我们只是试图传达最重要的信息。所以它确实是针对特定的信息,让一个非专业人士也能理解这个信息。我们在这里有一个工具提示,我们可以允许用户开始调查关于医院病床和医院的更详细的信息,我们已经用可视化突出显示。

你永远不可能让一个非专家达到专家100%的理解,但这允许一个途径允许60%到70%的初始直觉,这允许来自其他知识竖栏的人对系统进行更丰富的讨论,并希望更容易地贡献他们的背景信息。

“转移即”;相同的数据,较小的规格变化

这就把我们带到了我们提出的关于迁移vizzing的一种无耻的术语,它类似于迁移学习,所以我们把可视化尽可能地作为模型类比。这里我们可以看到,我们有一个视觉编码,非常适合交流ICU床位普查信息。重症监护室的床位数量,容量,我们已经更新了规格

不仅展示了华盛顿州的地理区域,还展示了整个美国。所以这里我们把我们对医院床位的直觉,以及它们的可用性从华盛顿州转移到全国。这很好,因为一个非专家也能做这种替换,并有希望得到和专家一样的直觉,只是在不同的情况下。我们要感谢所有促成这项工作的人。西雅图儿童医院神经元团队的其他成员,Databricks的朋友们,以及我们从Lyndsey Whittingham基金会得到的支持。

点击这里观看更多Spark + AI课程

免费试用Databricks
«回来
关于安德鲁·鲍曼

西雅图儿童

Andrew是一名拥有化学和毒理学高级学位的科学家,在医院研究组织、制药和在线教育领域拥有研究、分析和数据科学经验。他目前是西雅图儿童公司的高级分析产品工程师,此前担任过内容开发人员(Udacity自主系统学院)、机器学习工程师(Healthslate和Entrée AI)和分析团队负责人(Bristol Myers Squibb)。

关于詹姆斯·希巴德

西雅图儿童

James Hibbard是一名数据工程师,拥有7年的生物医学研究工作经验。他目前在西雅图儿童学校,在那里他正在开发将医疗记录与多组学数据集集成以改善护理的框架和方法。

丹尼李
关于Denny Lee

Denny Lee是Databricks的开发者倡导者。他是一名实干的分布式系统和数据科学工程师,在为内部部署和云环境开发互联网规模的基础设施、数据平台和预测分析系统方面拥有丰富的经验。bob体育客户端下载他还拥有俄勒冈健康与科学大学(Oregon Health and Sciences University)的生物医学信息学硕士学位,并为企业医疗保健客户构建和实现了强大的数据解决方案。他目前的技术重点包括分布式系统、Apache Spark、深度学习、机器学习和基因组学。