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

大会致力于探讨数据科学在各学科、各行业的探索和实践。为更好地介绍和推广先进生产力,和鲸产品副总监童毅炜受邀在 25 日下午的计算平台专场发表主题报告,题目为《ModelOps 在数据科学平台中的实践与应用》,旨在分享和鲸在计算平台设计与搭建过程中的思考与经验。
ModelOps 是一种模型全生命周期的管理理念,指希望把数据科学、软件工程和具体业务的工作流程自动化、集成化,让模型的开发与部署变得更快更简单。
为了使大家更好理解,童毅炜先以定量研究/数据驱动研究的流程为类比,展现了二者流程上同构,以及随着 AI for Sciense 的发展,二者在数据与分析建模这两个过程中关注点的重合。在此基础上,和鲸认为, Model 的全生命周期具备自己的特点,比如天生需要不断迭代、伴随着特殊的三要素(数据、计算环境、算力)、经常用于决策辅助等,这使得传统且非常成熟的 DevOps 流程无法适用。
模型要素管理,也是科研要素管理
基于上述讨论,和鲸所形成的想法是“模型要素管理,也是科研要素管理”。
数据方面,尽管数据本身并非模型的附属,但数据的缺失却会影响研究的进行,因此和鲸平台的设计思路是,在代码传播时也需要有便捷的数据获取的渠道,同时需要考虑数据的权限(访问/下载)、数据安全、以及是否支持检索、查询、预览和追溯,另外还需要有数据版本的功能。
数据本身是不断流转与更新的,我们需要将不同版本的数据都留存下来,这样即使数据有了修改,基于数据历史版本完成的研究工作也依然可以跑通。

图. 数据的接入与管理
环境方面,和鲸认为,要重现一些特定的 R 的环境绝非简单安装几个包那么简单,除了 R 相关的库之外,还要考虑它的系统依赖、python 依赖、底层操作系统的依赖等 ,这些往往是层层嵌套的。因此,和鲸倡导用容器的解决方案把需要的环境固化下来,同时支持版本管理,这样既能便捷地追溯之前的研究,也能提供给领域其他有需求的研究者,减少精力的浪费。童毅炜展示了和鲸帮助协和医学院复现肿瘤基因组研究的例子,其中为了装上特定工具包 MoonlightR 而去找包开发人员的艰难经历,引起了现场观众的强烈共鸣。
算力方面,随着数据量的激增,算力问题逐渐变得无法规避。个人场景下,即使是进阶级别甚至是入门级别的研究,本地算力有时也已经形成了瓶颈,需要上云才能解决,这一情况的出现让和鲸提振了信心;而集体场景下,早在云计算概念兴起之前,高校、研究所都具备了自己的超算平台,因此大家会预期在搭建计算平台时把超算平台也用起来。和鲸平台对此提供的技术方案是让 K8S 可以像调度集群算力一样调度超算算力,同时当运行环境在计算平台完成调试后,可以直接在超算平台中复用,不需要额外调整。这一套设施目前已经在和鲸与国家气象信息中心的合作中运行了。
三要素提供了研究工作的运行基础,当然还有其他值得注意的点:比如代码的版本管理,Git 可能有点重,研究者更关注阶段性成果的留存;比如模型的训练记录,便于研究者挑选出最佳模型等等。
模型成果管理,也是科研成果管理?
得到模型后的下一步是对研究成果进行管理,“模型成果管理,也是科研成果管理?”——这是和鲸在这一阶段的思考,打问号的核心原因也并不是质疑这件事,而是想确定科研成果的交付会否随着模型全生命周期管理的产生更加往前走一步,即科研成果的形态。
最理想的场景一定是模型可以变成 app 来使用,让他人直接感受模型效果,但这是一个太“硬”的交付,需要算法人员直接完成模型发布的工作。对此,和鲸平台提供的解决方案是帮助研究者搭建模型服务,让模型通过 API 调用或直接变成 web 应用,然这也不是终点。
我们还要能看到模型每次的调用记录,这个调用记录可以重新变成一个数据集,返还给模型的生产者,便于后续基于这些真实场景下的调用记录对模型进一步迭代。
此外,和鲸同样关注模型生命周期/科研过程中的中间产物,比如可复用的代码片段、预训练的模型文件等,平台都提供了不同实体来承载它们。童毅炜向现场观众展示了平台能够将模型、代码封装成一种可视化的组件和流程的工具,尽管自由度相对较低,但可读性很高,对整体分析建模思路的分享有很大帮助。
和鲸的员工有的时候会笑自己做的很多都是 dirty work ,但我们做这些工作的核心目的,是希望能帮助国家的科研人员少做一些 dirty work,可以把更多时间、精力放到理论和实验上。
ModelOps 落到具体的场景中,可能是服务于科学研究的可复现性,或者为开放科研提供更加可靠可控的分发渠道。
和鲸相信,计算平台会是开放科研平台中的一个重要组成部分,甚至可能是必须的一部分,我们希望能为此贡献力量。
相关文章:
第16届中国R会议暨2023X-AGI大会开幕,和鲸科技分享ModelOps在数据科学平台中的实践与应用
11月25日,第 16 届中国 R 会议暨 2023 X-AGI 大会在在中国人民大学逸夫会堂拉开帷幕,本次会议由中国人民大学统计学院、中国人民大学应用统计科学研究中心、统计之都、原灵科技和中国商业统计学会人工智能分会(筹)主办,…...
❀My学习Linux命令小记录(12)❀
目录 ❀My学习Linux命令小记录(12)❀ 46.arp指令 47.tcpdump指令 48.chmod指令 49.chown指令 50.bash调用脚本指令 shell介绍 shell脚本的组成部分 脚本执行方式 检查脚本语法 bash之变量 变量的种类:根据生效的范围不同来区分 …...
MySQL学习day05
DCL(Data Control Language)数据控制语言学习 作用:用来创建数据库用户、控制数据库的访问权限 1)查询用户: use mysql; select * from user; 2)创建用户: create user 用户名主机名 identifi…...
JAVA面试题7
1.Java中的ClassLoader是什么? 它有什么作用? 答案:ClassLoader是一种加载Java类文件的机制,可以从不同的来源加载类文件,如本地文件系统、网络等。ClassLoader可以帮助实现模块化开发和动态加载类等功能。 2.什么是J…...
好用免费的AI换脸5个工具
在当今社会的发展中,人工智能(Artificial Intelligence, AI)扮演着关键的角色,其应用领域不断扩展。作为AI的一个分支,换脸技术近年来备受欢迎。这项技术使得将一个人的面部特征迁移到另一个人的照片或视频成为可能。除…...
【Linux】公网远程访问AMH服务器管理面板
目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装Cpolar4. 配置AMH面板公网地址5. 远程访问AMH面板6. 固定AMH面板公网地址 AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP 管理、数据库管理、DNS 管理、…...
随笔-这都是命吗
我与鹏哥、小付有个小群,前几天,鹏哥在群里发了一个图,是他那个城市准备扶持的高新产业,有元宇宙、量子信息、生物制药、人工智能什么的。 先前的时候鹏哥给我说过,当地准备了六百多亩地,准备发展高新产业…...
优化网站性能,从容谈CDN加速的部署与运维
随着互联网的迅猛发展,网站的性能优化成为网站运维工作中不可或缺的一环。其中,CDN(Content Delivery Network)加速技术因其在全球范围内提供快速、可靠的内容分发而备受关注。本文将从一个网站运维的角度出发,深入探讨…...
JavaScript-事件
事件 事件流 指的是事件完整执行过程中的流动路径 两个阶段: 捕获阶段:从大到小冒泡阶段:从小到大 实际开发中都是使用事件冒泡为主 事件捕获 从DOM的根元素开始取执行对应的事件(从外到里) document.addEventLis…...
linux的磁盘管理
Linux 提供了多种工具和技术来进行磁盘管理。下面是对 Linux 磁盘管理的详细解释: 磁盘和分区: 磁盘(硬盘):Linux 系统中的磁盘通常是通过 SATA、SCSI、NVMe 等接口连接的物理硬盘。可以使用工具如 lsblk、fdisk、pa…...
qt-C++笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题
qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题 code review! 文章目录 qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题1.Qt的app.exec()详解2.ros::spin()详解3.ros::AsyncSpinner详解4.主线程中结合使用…...
【Docker】从零开始:18.使用Dockerfile构造自己的KingbaseES数据库镜像
【Docker】从零开始:17.使用Dockerfile构造自己的数据库镜像 新建一个自定义目录并创建Dockerfile文件上传需要的文件到自定义目录下注意docker-circle-init.sh文件内容password 内容 开始打包注意打包完成后执行 尝试用工具连接数据库 kingbase.tar.gz 包过大我就上…...
YOLOv8独家改进《全网无重复 YOLOv8专属打造》感知聚合SERDet检测头:简单高效涨点,即插即用|检测头新颖改进
💡本篇内容:YOLOv8独家改进《全网无重复,YOLOv8专属》感知聚合SERDet检测头:高效涨点,即插即用|检测头新颖改进 💡🚀🚀🚀本博客 YOLO系列 + 全新原创感知聚合SERDet检测头 改进创新点改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可,附改进源代…...
Android Studio中Flutter项目找不到Android真机设备解决方法
起因:创建正常Android项目可以运行在真机设备上,创建flutter项目就找寻不到Android真机设备。 1:在flutter sdk安装目录按下Shift和鼠标右键,打开Powershell窗口 2:输入以下,然后回车 flutter config --…...
Vue 静态渲染 v-pre
v-pre 指令:用于阻止 Vue 解析这个标签,直接渲染到页面中。 语法格式: <div v-pre> {{ 数据 }} </div> 基础使用: <template><h3>静态渲染 v-pre</h3><p v-pre>静态渲染:{{ n…...
C语言基础概念考查备忘 - 标识符、关键字、预定义标识符、语法检查、语义检查 ... 左值、右值、对象、副作用、未定义行为、sizeof是什么等等
什么是标识符、关键字和预定义标识符?三者有何区别? 当谈论C语言中的标识符、关键字和预定义标识符时,让我们从每个概念的基础开始。 标识符(Identifiers): 标识符是用来给变量、函数、类型等命名的。在…...
插件原理与开发
插件原理与开发 在 Mybatis总体执行流程 一文中简单的介绍了插件的初始化过程,本文将从源码的角度介绍一下mybatis的插件原理与简单开发实战。 插件原理 插件的注册和管理是通过InterceptorChain进行的,在创建Executor、StatementHandler、ParameterH…...
Git 分支合并时 Merge, Rebase, Squash 的使用场景
前言 Git 的分支设计大大提升了并行开发的能力,但相应的,也就要解决如何进行分支合并。毕竟分久必合,最终还是要把大家的工作合并起来,进行统一发布的。在合并时,通常有三种操作: Merge commitsRebaseSqu…...
第5节:Vue3 JavaScript 表达式
在 Vue3 中,JavaScript 表达式的使用方式与 Vue2 有所不同。 在 Vue3 中,你可以使用 v-bind 指令来绑定 JavaScript 表达式。例如: <template><div>{{ count }}</div> </template><script> import { ref } f…...
StarRocks 存算分离最佳实践,让降本增效更简单
StarRocks 存算分离自版本 3.0.0 开放使用,已经历过多个大版本迭代,在众多客户生产环境中得到验证。但在用户使用过程中也反馈了一些问题,大多源自对新能力不够熟悉导致无法达到最佳效果。因而,本文提供 StarRocks 存算分离最佳实…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
