第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 落到具体的场景中,可能是服务于科学研究的可复现性,或者为开放科研提供更加可靠可控的分发渠道。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React项目使用NProgress作为加载进度条

React项目使用NProgress作为加载进度条 0、效果1、react安装依赖2、使用3.进度条颜色设置 文档参考:https://zhuanlan.zhihu.com/p/616245086?utm_id0 0、效果 如下,可全局在页面顶部有一条进度条 1、react安装依赖 yarn add nprogress通过以上安装…

pytest自动化框架之allure测试报告的用例描述设置

allure测试报告的用例描述相关方法;如下图 allure标记用例级别severity 在做自动化测试的过程中,测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。 pytest结合allure框架可以对…

YOLOv5项目实战(5)— 算法模型优化和服务器部署

前言:Hello大家好,我是小哥谈。近期,作者所负责项目中的算法模型检测存在很多误报情况,为了减少这种误报情况,作者一直在不断优化算法模型。鉴于此,本节课就给大家详细介绍一下实际工作场景中如何去优化算法模型和进行部署,另外为了方便大家进行模型训练,作者在文章中提…

oracle FUNCTION(任意两个时间 之间的工作小时)

写函数计算 任意两个时间 之间的工作小时 每天工作时间(8:00 - 20:00 共12小时),没有休息日 CREATE OR REPLACE FUNCTION SC_YD_DESI.CALCULATE_WORK_HOURS_FUNC (p_current_time IN DATE,p_order_time IN DATE ) RETURN NUMBER ASp_work_hou…

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 1 “建立开发环境”

这个系列的文章将叙述如何借由 NXP 的“evkmimxrt1060_aws_remote_control_wifi_nxp”这支 Sample Code,达到 NXP RT1060EVK 经由 U-Blox EVK-JODY-W263 将资讯传到 AWS 上,并可借由手机对 RT1060 EVK 的 LED 进行远端控制。 整体架构如下图所示&#x…

道可云会展元宇宙平台全新升级,打造3D沉浸式展会新模式

随着VR虚拟现实、人工智能、虚拟数字人等元宇宙技术的快速发展,各个行业正试图通过元宇宙技术寻求新的发展突破口,会展行业也不例外。会展作为经贸领域的重要产业形态,越来越多的企业和组织开始寻求通过元宇宙技术为展会赋能,以满…

【EI会议征稿】第七届大数据与应用统计国际学术研讨会(ISBDAS 2024)

第七届大数据与应用统计国际学术研讨会(ISBDAS 2024) 2024 7th International Symposium on Big Data and Applied Statistics 第七届大数据与应用统计国际学术研讨会(ISBDAS 2024)定于2024年3月8-10日在中国上海举行。会议旨在…

最小化安装 Neokylin7.0 用于搭建 Hadoop 集群

文章目录 环境搭建背景虚拟机创建和环境配置安装过程注意事项虚拟机设置软件选择KOUMP系统分区网络和主机名打开以太网,并记录信息配置 IPv4修改主机名 创建用户 hadoop完全分布式搭建-CSDN博客 环境搭建背景 为什么不从hadoop100或者hadoop101开始,而是…

STM32CubeMx+MATLAB Simulink点灯程序

STM32CubeMxMATLAB点灯程序 ✨要想实现在MATLAB Simulink环境下使用STM32,前提是已经搭建好MATLAB环境并且安装了必要的Simulink插件,以及对应的STM32支持包。 🌿需要准备一块所安装支持包支持的STM32开发板. 🔖具体支持包详情页…

Java强制类型转换的所有规则都在这里了

💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…

VR全景对旅游业有什么帮助,如何助力旅游业实现新的旅游形式

引言: 旅游业是一个充满机遇的行业,而虚拟现实(VR)全景技术正逐渐改变着旅游业的面貌,通过提供身临其境的体验,VR全景成为了旅游业的新宠,将旅游带入了一个全新的数字化时代。 一、打破地域限制…

【C指针】深入理解指针(最终篇)数组指针指针运算题解析(一)

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…

Prometheus集群模式部署日记-主节点篇

Prometheus架构组件主节点masterPrometheus-master,Alertmanger,Grafana,PrometheusAlert子节点node(不同网络,混合云环境)Prometheus-node1 所有组件均采用docker-compose部署,docker 和 compose 请自行安装不再赘述…

基于AT89C51单片机的电子闹钟设计

1.设计任务 利用AT89C51单片机为核心控制元件,设计一个电子闹钟,设计的系统实用性强、操作简单,实现了智能化、数字化。 (1)按开始键自动进入时间显示,开始为0,按K1键进入更改时间&#xff0c…

11.30BST理解,AVL树操作,定义;快速幂,二分求矩阵幂(未完)

完全二叉树结点的度可能有1,满二叉树的度只能为0或2 BST构建 BST是左孩子都比根节点小,右孩子都比根节点大 二叉搜索树的插入,删除,调整 平衡树理解 任何一个平衡二叉树,它的中序遍历都是一样的,都是有…

LangChain的函数,工具和代理(三):LangChain中轻松实现OpenAI函数调用

在我之前写的两篇博客中:OpenAI的函数调用,LangChain的表达式语言(LCEL)中介绍了如何利用openai的api来实现函数调用功能,以及在langchain中如何实现openai的函数调用功能,在这两篇博客中,我们都需要手动去创建一个结构比较复杂的函数描述变量…

0X04

看到一道有趣的misc题 misc签到题 打开后啥都没有,全选后发现每一行有空格,数了一行发现空格数量转ascil码后是f,猜测都如此, 后面就可以交个脚本了,统计之后转换成ascii from Crypto.Util.number import long_to_b…

YOLOv8-Seg改进:SENetV2,squeeze和excitation全面升级,效果优于SENet | 2023年11月最新成果

🚀🚀🚀本文改进: SENetV2,squeeze和excitation全面升级,作为注意力机制引入到YOLOv8,放入不同网络位置实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1)手把手教你如何训练YOLOv8-s…

《曾国藩传》:崇尚笨拙的人生哲学

哈喽啊,大家好,我是雷工! 以前读书喜欢读小说,喜欢看《我从你的全世界路过》《云间有个小卖铺》这些轻松的小说,读起来很轻松。 随着年龄增长,阅历的增加开始喜欢读历史,读人物传记,…

Ubuntu镜像与K8S冲突,容器持续Terminating

问题 记录一次软件冲突BUG: eclipse-temurin:11-jdk(底层Ubuntu 20.04.3 LTS)镜像创建的容器在K8S-1.25.5上无法正常terminating,造成资源浪费,甚至引发K8S资源CPU insufficient报错。具体表现 某些容器镜像在K8S上无…