当前位置: 首页 > news >正文

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

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

相关文章:

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

11月25日,第 16 届中国 R 会议暨 2023 X-AGI 大会在在中国人民大学逸夫会堂拉开帷幕,本次会议由中国人民大学统计学院、中国人民大学应用统计科学研究中心、统计之都、原灵科技和中国商业统计学会人工智能分会(筹)主办&#xff0c…...

❀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 指令&#xff1a;用于阻止 Vue 解析这个标签&#xff0c;直接渲染到页面中。 语法格式&#xff1a; <div v-pre> {{ 数据 }} </div> 基础使用&#xff1a; <template><h3>静态渲染 v-pre</h3><p v-pre>静态渲染&#xff1a;{{ n…...

C语言基础概念考查备忘 - 标识符、关键字、预定义标识符、语法检查、语义检查 ... 左值、右值、对象、副作用、未定义行为、sizeof是什么等等

什么是标识符、关键字和预定义标识符&#xff1f;三者有何区别&#xff1f; 当谈论C语言中的标识符、关键字和预定义标识符时&#xff0c;让我们从每个概念的基础开始。 标识符&#xff08;Identifiers&#xff09;&#xff1a; 标识符是用来给变量、函数、类型等命名的。在…...

插件原理与开发

插件原理与开发 在 Mybatis总体执行流程 一文中简单的介绍了插件的初始化过程&#xff0c;本文将从源码的角度介绍一下mybatis的插件原理与简单开发实战。 插件原理 插件的注册和管理是通过InterceptorChain进行的&#xff0c;在创建Executor、StatementHandler、ParameterH…...

Git 分支合并时 Merge, Rebase, Squash 的使用场景

前言 Git 的分支设计大大提升了并行开发的能力&#xff0c;但相应的&#xff0c;也就要解决如何进行分支合并。毕竟分久必合&#xff0c;最终还是要把大家的工作合并起来&#xff0c;进行统一发布的。在合并时&#xff0c;通常有三种操作&#xff1a; Merge commitsRebaseSqu…...

第5节:Vue3 JavaScript 表达式

在 Vue3 中&#xff0c;JavaScript 表达式的使用方式与 Vue2 有所不同。 在 Vue3 中&#xff0c;你可以使用 v-bind 指令来绑定 JavaScript 表达式。例如&#xff1a; <template><div>{{ count }}</div> </template><script> import { ref } f…...

StarRocks 存算分离最佳实践,让降本增效更简单

StarRocks 存算分离自版本 3.0.0 开放使用&#xff0c;已经历过多个大版本迭代&#xff0c;在众多客户生产环境中得到验证。但在用户使用过程中也反馈了一些问题&#xff0c;大多源自对新能力不够熟悉导致无法达到最佳效果。因而&#xff0c;本文提供 StarRocks 存算分离最佳实…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...