和鲸ModelWhale:提高数据驱动研究可复现性的解决方案
可复现性指的是在相似条件下,在重复测量、实验、计算等研究过程中可以得到相对稳定的数据结果。“可复现”通常被视为一项有意义的科研成果的重要标准。
相较于基于文本的传统学术信息交流,数据驱动研究中的文献与数据紧密相连,为此学界需要一个二者可以交互的环境,提高传递和获取学术信息的效率,帮助研究者在查看文献的同时可以获取研究数据进行复现,保证科学研究过程更加高效,结果更加可靠。
云计算时代的数据科学协同工具
数据科学场景下的可复现
在过去 10 年中,“可复现性危机(Reproducibility Crisis)”经常被研究人员、管理人员以及社会公众所提及。2016 年,《自然》(Nature)期刊对 1576 名来自不同领域的科研人员开展了调查,超过 70% 的受访者表示曾遇到过无法复现他人实验的情况,一半以上甚至表示无法复现自己的实验结果。显然,若科学研究的结果难以或无法复制,这种失败将破坏建立其之上的理论的可信度,使公众对科学知识的可信性产生质疑。对此,越来越多的研究者开始重视并努力提高其研究领域及研究成果的可复现性来应对此“危机"。
关于“可复现性危机”的调查
图源 Nature 官方网站
相比于传统研究,数据驱动研究的特殊性在于它的生产要素相对复杂——要完成复现,科研人员至少需要同时获得以下信息:
研究所使用的数据
数据是最关键的生产要素,随着可复现性危机的产生,越来越多的期刊、出版社都会要求作者提供原始数据文件。在数据层面当前主要存在着两个问题:
其一是数据管理问题。科研数据的规模大、类目多,本身就不易保存,而在研究的过程中科研人员又可能经常需要补充新的数据或者使用新的特征,则还需要妥善管理好所有数据处理记录和各个数据版本。若中途发生了硬件故障导致数据丢失,或者备份、记录不清导致版本混乱,都可能造成后期无法提供研究所使用的原数据。
其二是数据的安全和权限问题。某些科研人员在发表论文时可能会因数据集的安全或权限问题而对公开传播产生顾虑,比如一些私下合作的数据,就有可能涉及到隐私或版权问题。这种情况本身不可避免,但若是研究者无法提供数据集,他人也自然无法完成复现的工作。
2. 研究过程中的代码文件
在论文投稿发布时,很多作者会在原文中附带上开源代码的获取方式,如告知读者可以进入对应的 github 代码仓库下载,从而便于其他研究者对项目复现。某些研究的源代码可能存在一定的代码规范、代码抽象或代码解释问题,即便他人获取了源代码,也很难理解每串代码的具体功能和作用,无法对研究思路的理解提供帮助。
3. 研究所使用的分析环境
找到源代码后,在运行代码前,科研人员还要先根据源码的需求调试分析环境。环境的切换也比较麻烦,需要下载安装各种依赖包,并要注意版本问题。此外,安装的过程中即使是按照步骤一点一点配置,还是可能会产生各种各样的报错。这种高重复、低价值的科研活动往往会在复现的过程中带来无谓的时间损耗。此外,计算性能的瓶颈也一样会为复现带来阻碍,往往需要研究人员付出额外的调试成本。
4. 匹配整个研究的各要素的对应版本
这一点主要针对于研究团队内部的“复现”需求。随着科学研究的主体呈现出从小团队科研到大团队科研的明显趋势,合作发文的背后则是科研人员间愈发频繁的协同工作。当团队成员针对研究的各个阶段开展分工合作时,需要实现生产要素在研究团队内部的流转与共享,这是因为下一阶段的工作很有可能以上个阶段为基础,而上个阶段的生产资料又有很大概率来源于团队内的其他人。若是在获取他人的数据或代码时出现版本错误等情况,不仅复现失败,也会对后续研究的开展造成影响。
我们可以看到,在数据驱动的研究中,复现与协作过程中的一些阻碍将影响到科研人员的研究效率,需要有特定的技术和工具支持。
解决方案
基于 ModelWhale ,研究者可以相对比较轻松地完成科研成果的复现及生产资料的共享。
首先,ModelWhale 作为开箱即用的数据分析挖掘平台,同时具备了强大的协作及管理功能,科研人员可以以项目为单位实现数据、环境及代码等生产要素的一体化整合配置管理。
当研究者为研究新建一个项目时,可以选定项目所使用的分析环境,除了使用平台预置的环境外,也可以构建自定义分析环境。ModelWhale 会自动记录每一次代码运行时的镜像环境,以便于运行和复现时自动匹配。同样地,ModelWhale 也会记录代码运行时所选用的数据并在后续自动匹配。
完成阶段性的研究后,研究者可以将项目一键共享给团队成员。出于对科研资料安全的考虑,数据、分析环境和项目的使用权限可以单独设置。例如,研究者禁用数据下载权限,仅允许他人在线查看代码和使用数据完成复现,而无法将数据下载至本地。ModelWhale 也提供了申请-审核功能,协作者可以在拷贝项目时,主动申请获得项目相关的数据源及镜像环境的使用权限。
在 ModelWhale 的既往客户中,北京协和医学院就采用此种方法开展教研活动。当老师在辅导学生学习医学数据挖掘的方法时,会对国内外经典临床研究论文进行复现,将数据的提取、探索、统计分析全流程的代码,以及过程的思路制作为一个在线 Jupyter Notebook ,并且关联好论文的数据以及包含了该研究所需的包依赖的环境镜像,则学生可以一键运行复现整个研究的代码,免去从头搭建环境的困扰,快速理解论文作者的研究思路,甚至可以快速调整数据、方法与参数,即时获得运行结果,开展更多探索性研究。
另外,这一复现工具也可以帮助研究者使论文发布前的同行评议过程更为高效。在投稿时附带上项目的查看链接将提高投稿完备度,并在无形中提升了论文的可信性。审稿人除了能快速查看数据分析的完整流程外,也可以就项目 Notebook 中具体的 Cell 进行提问和评论。对于研究的模型成果,科研人员可一键完成自动化部署并发布为网页应用,则审稿人就能在网页端直接上传数据,实时看到模型的调用结果,对论文产出有更直观的认识和更准确的评价。
ModelWhale 还为内部的所有生产资料都提供了版本管理功能:
代码:对于阶段性的研究成果,科研人员可以生成一个项目版本,则其他人可以通过项目版本同步进度和完成协作,在该版本之上进行后续的研究工作。
数据:在研究过程中,对数据进行修改后,科研人员可以即时生成新的数据版本。通过组织内共享,团队其他成员也可以同步使用新版本的生产资料进行分析研究。另外,只需切换数据至特定的版本,研究者就可以随时复现之前的研究成果。
分析环境:在研究过程中不断引入的新的量化方法可能会调整分析环境中的工具包和框架,研究人员也可以生成版本以确保使用此前分析环境的历史项目依然可以运行。
模型服务:训练得到的模型进行迭代升级后,ModelWhale 支持更新部署的模型服务版本供调用、验证并获得反馈。同样地,模型服务也可以随时切换回历史版本。
最后,课题研究完成后,科研人员可以选定运行时的分析环境、挂载的数据集、最后的代码版本,将生产要素全部整合在一起,并补充一定的文字说明,沉淀至组织的课题成果库中。一方面,团队内的其他成员可随时查看成果库进行复现;另一方面,这也同时解决了科研人员随着时间推移由于分析环境改变或文件丢失而无法复现自己既往成果的问题。
ModelWhale 项目成果管理界面
科学的发展既要踩着前人的肩膀,又要走前人没有走过的路。无论是将原始数据、分析方法分享给他人以降低其复现结果的难度,还是在团队内部共享交流,科学进步的成功总是取决于“复制+创新”产生的共同效应。ModelWhale 通过生产要素的一体化管理及零门槛易上手的获得与复现流程为数据驱动的研究提供了更有效率的协同平台。
结束语
随着大规模科学数据的增长,数据驱动的科研协作将成为未来科学发展的必要条件。数字化给每个行业都带来了很大的变化,但科学领域是一定存在其独特性的,在面向未来的科研精神和科研意义之下,数字技术应当为科研工作者的探索持续赋能。
作为数据科学协同平台,ModelWhale 希望能给每一位从事数据驱动的创新研究的开拓者提供支持。ModelWhale 提供了即开即用的云端分析环境,将科研数据管理、建模分析、模型服务、任务及权限管理等功能深度整合,可以使数据驱动的研究更加便捷高效。
过去5年来,清华大学、南开大学、华东师范大学等高等学府,国家气象信息中心、国家人口健康科学数据中心、紫金山实验室等先进科研组织都与 ModelWhale 进行深入合作。未来,ModelWhale 希望与更多高校和机构联手,活用双方所积累的海量数据资源,一同开拓新的研究与应用。ModelWhale 将持续升级产品功能,完善全方位服务体系,欢迎更多组织共同交流沟通。