第16届中国R会议暨2023X-AGI大会开幕,和鲸科技分享ModelOps在数据科学平台中的实践与应用

11月25日,第 16 届中国 R 会议暨 2023 X-AGI 大会在在中国人民大学逸夫会堂拉开帷幕,本次会议由中国人民大学统计学院、中国人民大学应用统计科学研究中心、统计之都、原灵科技和中国商业统计学会人工智能分会(筹)主办,中国人民大学统计学院数据科学与大数据统计系承办。和鲸科技作为国内领先的数据智能科技企业兼大会赞助方,出席本次大会。

大会致力于探讨数据科学在各学科、各行业的探索和实践。为更好地介绍和推广先进生产力,和鲸产品副总监童毅炜受邀在 25 日下午的计算平台专场发表主题报告,题目为《ModelOps 在数据科学平台中的实践与应用》,旨在分享和鲸在计算平台设计与搭建过程中的思考与经验。

图. 童毅炜正在发表报告

ModelOps 是一种模型全生命周期的管理理念,指希望把数据科学、软件工程和具体业务的工作流程自动化、集成化,让模型的开发与部署变得更快更简单。

为了使大家更好理解,童毅炜先以定量研究/数据驱动研究的流程为类比展现了二者流程上同构,以及随着 AI for Sciense 的发展,二者在数据与分析建模这两个过程中关注点的重合。在此基础上,和鲸认为, Model 的全生命周期具备自己的特点,比如天生需要不断迭代、伴随着特殊的三要素(数据、计算环境、算力)、经常用于决策辅助等,这使得传统且非常成熟的 DevOps 流程无法适用。

图. 数据驱动研究流程与 ModelOps 的对比

模型要素管理,也是科研要素管理

基于上述讨论,和鲸所形成的想法是“模型要素管理,也是科研要素管理”。

数据方面,尽管数据本身并非模型的附属,但数据的缺失却会影响研究的进行,因此和鲸平台的设计思路是,在代码传播时也需要有便捷的数据获取的渠道,同时需要考虑数据的权限(访问/下载)、数据安全、以及是否支持检索、查询、预览和追溯,另外还需要有数据版本的功能。

数据本身是不断流转与更新的,我们需要将不同版本的数据都留存下来,这样即使数据有了修改,基于数据历史版本完成的研究工作也依然可以跑通。
图. 数据的接入与管理

环境方面,和鲸认为,要重现一些特定的 R 的环境绝非简单安装几个包那么简单,除了 R 相关的库之外,还要考虑它的系统依赖、python 依赖、底层操作系统的依赖等 ,这些往往是层层嵌套的。因此,和鲸倡导用容器的解决方案把需要的环境固化下来,同时支持版本管理,这样既能便捷地追溯之前的研究,也能提供给领域其他有需求的研究者,减少精力的浪费。童毅炜展示了和鲸帮助协和医学院复现肿瘤基因组研究的例子,其中为了装上特定工具包 MoonlightR 而去找包开发人员的艰难经历,引起了现场观众的强烈共鸣。

图. MoonlightR 的安装过程

算力方面,随着数据量的激增,算力问题逐渐变得无法规避。个人场景下,即使是进阶级别甚至是入门级别的研究,本地算力有时也已经形成了瓶颈,需要上云才能解决,这一情况的出现让和鲸提振了信心;而集体场景下,早在云计算概念兴起之前,高校、研究所都具备了自己的超算平台,因此大家会预期在搭建计算平台时把超算平台也用起来。和鲸平台对此提供的技术方案是让 K8S 可以像调度集群算力一样调度超算算力,同时当运行环境在计算平台完成调试后,可以直接在超算平台中复用,不需要额外调整。这一套设施目前已经在和鲸与国家气象信息中心的合作中运行了。

图.和鲸社区提供的云端算力

三要素提供了研究工作的运行基础,当然还有其他值得注意的点:比如代码的版本管理,Git 可能有点重,研究者更关注阶段性成果的留存;比如模型的训练记录,便于研究者挑选出最佳模型等等。

模型成果管理,也是科研成果管理?

得到模型后的下一步是对研究成果进行管理,“模型成果管理,也是科研成果管理?”——这是和鲸在这一阶段的思考,打问号的核心原因也并不是质疑这件事,而是想确定科研成果的交付会否随着模型全生命周期管理的产生更加往前走一步,即科研成果的形态。

最理想的场景一定是模型可以变成 app 来使用,让他人直接感受模型效果,但这是一个太“硬”的交付,需要算法人员直接完成模型发布的工作。对此,和鲸平台提供的解决方案是帮助研究者搭建模型服务,让模型通过 API 调用或直接变成 web 应用,然这也不是终点。

我们还要能看到模型每次的调用记录,这个调用记录可以重新变成一个数据集,返还给模型的生产者,便于后续基于这些真实场景下的调用记录对模型进一步迭代。
图. 模型应用的问题

此外,和鲸同样关注模型生命周期/科研过程中的中间产物,比如可复用的代码片段、预训练的模型文件等,平台都提供了不同实体来承载它们。童毅炜向现场观众展示了平台能够将模型、代码封装成一种可视化的组件和流程的工具,尽管自由度相对较低,但可读性很高,对整体分析建模思路的分享有很大帮助。


和鲸的员工有的时候会笑自己做的很多都是 dirty work ,但我们做这些工作的核心目的,是希望能帮助国家的科研人员少做一些 dirty work,可以把更多时间、精力放到理论和实验上。

ModelOps 落到具体的场景中,可能是服务于科学研究的可复现性,或者为开放科研提供更加可靠可控的分发渠道。

和鲸相信,计算平台会是开放科研平台中的一个重要组成部分,甚至可能是必须的一部分,我们希望能为此贡献力量。