2023 IoTDB Summit:清华大学软件学院长聘副教授龙明盛《IoTDB 新组件:内生机器学习》...

12 月 3 日,2023 IoTDB 用户大会在北京成功举行,收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题,多位学术泰斗、企业代表、开发者,深度分享了工业物联网时序数据库 IoTDB 的技术创新、应用效果,与各行业标杆用户的落地实践、解决方案,并共同探讨时序数据管理领域的行业趋势。

我们邀请到清华大学软件学院长聘副教授龙明盛参加此次大会,并做主题报告——《IoTDB 新组件:内生机器学习》。以下为内容全文。

目录

背景起因

系统实现

功能支持

应用示例

未来展望

尊敬的各位来宾、各位老师、各位同学,大家上午好。今天非常荣幸在这里跟大家分享,我们在 IoTDB 新组件:内生机器学习这样一个新的引擎的发布。

01

背景起因

我们首先简单回顾一下我们的起因,就是工业物联网数据在它的采、存、算、管、用的阶段,其实是有各种挑战的,IoTDB 已经解决了其中相当一部分挑战。但是在现在的工业物联网场景下,我们的数据往往来说是静止存储于我们的数据库里面,然后我们可以在这个数据上做一些查询,或者说一些简单的聚合分析,但是这一部分却逐渐地成为了企业的一个成本中心。

我举个例子,比如说我们在跟中国气象局在做气象大模型的过程中,里面有非常多的时序数据,而这些时序数据库最终要变成一个强大的预报大模型。那这个过程就不能让数据再静置,而是应该要让它流动起来

071477ee90f4ef43d46c20db0456eaa7.png

那么基于这样的一个背景,我们希望在传统的 OLAP 的基础上,进一步地去以机器学习技术作为新的智能技术的一个代表,然后去挖掘和释放我们的数据。我们可以看到,我们的数据可以通过机器学习、模型和算法构建,然后支撑时序预测、异常检测等等这样一系列的应用。

那么我们也可以看到现在,社区其实有很多的机器学习系统的这样一些支持,但是现在存在的一个问题就是说,这些数据的系统和智能的系统相对来说,它们之间隔阂还是比较严重的,往往需要进行大量的数据的导入、导出等等。

9ea767e3b53de94c4fee218db0f68c30.png

那么我们可以看到一个传统的数据分析方案,其实它的门槛比较高,成本也比较大。这其中,数据的迁移,数据的各种转换就非常的耗时。在机器学习工程化过程中,还需要进行特征的工程、模型的训练、结果的管理、实验的管理等等一系列非常复杂的工作。那如何将这样的一些工作更好地,在刚才我们讲的工业物联网的公共的底座,IoTDB 上进行支持就是我们的目的。我们希望能够尽量地做到无需数据迁移,并且降低数据分析的门槛。

01dbabe375ccc461c3be46391f428142.png

02

系统实现

这是我们进行的系统的实现,它的一个典型的特点就是数据库内生。我们知道现在其实机器学习系统非常多,对吧?那如果说它是一个数据库外的机器学习系统,其实大家有各种框架,比如像 Scikit-learn、比如像 Tensorflow、Pytorch 等等,那么这样一些系统其实无法解决我们前面讲的一系列的问题。

我们可以看到,采用数据库内生的机器学习框架和引擎之后,我们可以利用 SQL,并且对这个语言进行拓展,从而实现像 SHOW MODEL、DROP MODEL、CREATE MODEL、还有 CALL INFERENCE 这样一些最基本的机器学习的能力。在这个过程中,我们其实是在这个系统中,在数据的基础上,用前面王院长的话来说,将数据变成模型,然后再将模型变成决策。模型也是这个系统中的一种重要的资产,我们需要将它进行管理,我们除了能够创建它,我们还能够使用它进行推理,变成一种内建的能力

e6f349272adbe72476afa3ff96366910.png

那么应该来说,前面乔老师也讲了,我们在 IoTDB 的基础上扩展了一个新的节点,就是 AINode。其实扩展这个节点,刚开始去想这个事,好像没那么容易。因为 IoTDB 现在本身有配置节点 ConfigNode,和数据节点 DataNode,当这个系统是一个集中式的系统的时候,或者说是一个单机的系统的时候,实际上这件事情是有一定的困难的。那么随着 IoTDB,它的分布式的版本已经研发成熟,那么我们可以在一个分布式系统体系的架构下,再去审视这一个结构,我们就会发现,我们的 AINode 其实和 DataNode 是在一个相同的地位上。在一个分布式的集群上,它们其实都是对数据进行加工,只不过到底是浅层的处理加工,还是深度的、模型的加工。

那在这个过程中,我们也需要去处理分布式系统中,我们的训练数据和我们的模型之间,到底是模型找数据还是数据找模型,这样的一个关系。那前面我们 Mohan 院士也提到了,在 HTAP 这样一个新型的框架下,内存式的这样一种存储方式,其实是同时能够兼顾它的效率和它的成本的。那么因此的话,我们可以在 IoTDB 现有的框架下,进一步基于分布式内存的这样一个新型的副本机制,能够将我们的数据和模型更好地联系在一起

675ad492204a80af26f78375a19bef54.png

03

功能支持

那目前来说,我们功能支持方面,支持时序的一些典型的分析任务,比如说像时间序列预测,还有时间序列的异常检测等等

499e6fc5c5f687b5a6861cae85847b07.png

那么大家都知道,其实我本人是做机器学习的,我做了十几年的机器学习。我发现大概在 2020 年之前,时间序列数据不是我们人工智能社区的一等公民,也就是我们做人工智能的人,一般都做机器学习的算法,或者是做比如说图像、自然语言这样一些处理。但是 2020 年之后,随着时间序列数据越来越重要,因此在机器学习社区已经成为一个非常热门的话题

比如近年来,我们团队就提出了像 Autoformer、TimesNet、还有 iTransformer 这样一些非常好的模型,并且我们的这样一些模型具有数据通用和任务通用的能力。也就是说一个模型,它既可以支持时序预测,也可以支持异常检测,也可以支持时序分类等等这样一些通用的能力。同时我们这些模型具有一定的可扩展性,未来可能进一步拓展成大模型。我们的相关技术也在《自然-机器学习》子刊,这样的一些顶级期刊上进行封面文章的发表,我们这些模型在支持实际的应用中发挥了比较重要的作用。这也让我们看到,将时序数据分析作为工业物联网基建中的一等公民的这样一个至关必要性。

51f931217990ac005275bc04a0bbb65b.png

我们现在可以支持机器学习模型的基本的模型管理和模型编译、模型加速,通过这样的一个方式,可以使用 IoTDB 的 AINode 进行推理。那由于机器学习社区发展的时间已经非常久了,像 Pytorch 还有 Python 已经变成机器学习社区的第一语言,因此 IoTDB 在之前的 Java 语言的基础上,努力拓展了 Python 这样的一种语言的支持,从而使得我们在 IoTDB 上进行机器学习变成非常自然、非常友好的一个过程

7ffc25f0886ed5aec3e6c03c578e70fc.png

04

应用示例

好,我们举几个典型的应用吧。比如说在时间序列里面,我们比如说像用电量,还有前面我们讲的气象、风速等等,都需要做一些时间序列的预测。这个时候我们可以在 IoTDB 上非常简单地完成这个集群的部署,然后在这个过程中启动 AINode 这样的一个脚本,从而能够自动地载入相关的依赖,从而进行 IoTDB 上的机器学习模型的推理

3b978decb32dc8a37313d1d4ed73bbdb.png

目前来看,我们有多种方式来使用这个模型。一种是我们内置的算法,也就是前面我提到,我们团队自研了很多时间序列的算法,我们可以对这些算法进行一个原生的支持

ea3d0da2d657e77da979b896f441a909.png

除此之外,我们还可以支持外部的一些模型。在前面各位老师都强调了开源的力量,就是我们肯定不是一个封闭的系统,那么随着社区中有一些比较好的模型,我们可以通过类似 Hugging Face 的方式,将这些模型注册到 IoTDB 的系统中,从而使它变成 IoTDB 系统中的一种资产,从而利用我们的 AINode 进行这样一些模型的推理、服务

94544740aad2ef0543579a193d583500.png

那么在这个过程中,我们可以对不同类型的时序模型进行一个标准的统一,从而能够轻松地支持不同类型的,前面我们提到像 Autoformer,比如说像 DLinear 这样的一些模型。

438271f0a339667adef89411f978323d.png

05

未来展望

未来展望方面,我们希望构建 IoT SQL 这样一种拓展的语言,这样的语言可以更好的支持 HTAP 这样一些多样化的数据分析,尤其是机器学习的能力,从而在易用性、实时性、避免数据迁移和支持先进算法方面做更多的工作

大家都知道,时间序列领域,我们的算法在数据库中的支持其实是挺少的,对吧?可能大家听说有一些经典算法,像 Holt-Winters,有一些支持,但是这些先进的算法要想支持进来,明显超出了现有的数据库的体系架构的一种支撑能力。这也是之前数据库领域大家一直在讲的,数据库是不是一个小马拉大车,对吧?上面的 AI 的负载是一个大的负载,对吧?有可能会把数据库压垮,这样的一些问题。那恰好由于时间序列数据它的特殊性,它是轻量级的,那我们构建的机器学习模型也可以是轻量级的,那么整个就是一个轻量级的结构,它就不会出现水土不服

如果老师们问,像大模型 ChatGPT,能不能用在 IoTDB 里面?大家都知道,ChatGPT 背后有几十万张 GPU 的支持,对吧?像这样一些很重的技术,要想放在数据库里面,很有可能会把数据库压垮。那么因此我们认为对这样的一种技术,有可能是采用现在更流行的 API 调用的这样一种方式,对吧?而把这些大模型放在另外一个基础设施上面去做。

2d26dd79aeb8ff0c646b66751ce8ee24.png

好,这是我最后一页,我做一个未来的展望。我们团队在研发时序数据基础机器学习模型的过程中发现,时序数据目前的一个痛点就是没有大家公认的、好的机器学习模型,大家都是一事一议,今天我做我用这个模型,明天我做我用那个模型。那为什么会这样呢?我个人认为就是基础模型的发展没有引起大家足够的重视。那另外一个原因就是时序数据它自己的特殊性,它的这种变量的多样性,它的采样频率的多样性,它的数据的这样一个长周期的多样性等等,都会让我们构建一个基础的时间序列模型变得比较的挑战。

但是我们团队也在这方面进行相关的攻关,已经取得了一些初步的进展。我们构建出来的时序基础模型,或者说大模型,已经具有比较好的跨变量的这样一些泛化能力。我们期待着我们时间序列基础模型的研究成果,能够更好地提高 IoTDB 作为时序数据基座的能力。

今天我的分享就到这里,谢谢大家。

688332b05a74a47a91de824662bc4c9d.png

可加欧欧获取大会相关PPT

微信号:apache_iotdb

eec0f3c25b69511311c8bda417027b86.gif

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

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

相关文章

Day21- 回溯算法part01

一、组合 题目一:77. 组合 77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 combine 函数初始化结果变量和当前组合变量,然后调用 backtrack 函数来生成所有组合。backtrack 函数…

中国区县绿地曝光率数据,shp+excel格式,区县精度

基本信息. 数据名称: 中国区县绿地曝光率数据 数据格式: shpexcel 数据精度:区县 数据几何类型: —— 数据坐标系: WGS84坐标系 数据来源:网络公开数据 字段列表: 序号字段名称字段说明1xzqhdm_3区县代码2xzqhmc_3区县名称4xzqhm…

【2023年度总结】蜕变与挑战

2023年是意义重大的一年,这一年里,我从大三到了大四,焦虑满满,参加比赛,拿到保研名额,体验实习,之前很少在年末对自己的一年进行回顾和总结。 一月 阳了,寒假期间就窝在家里&#…

web网站,可当期末作业,随机一言,天气,时钟,音乐等综合网站

文章目录 主页面时间胶囊底部条文心一言音乐播放器天气时钟禁用右键其他每次刷新页面会随机更换壁纸新春版 主页面 时间胶囊 底部条 文心一言 点击可随机变化文心一言 音乐播放器 天气时钟 禁用右键 其他 每次刷新页面会随机更换壁纸 新春版

C#编程-描述内存分配

描述内存分配 分配给变量的内存通过两种方式引用:值类型和引用类型。内置数据类型,诸如int、char和float都是值雷兴国。当您声明int变量时,编译器会分配一个内存块以保持该整数值。请思考以下语句: int Num 50;上述语句为保存值…

API 安全设计的建议

1、使用 HTTPS 现在的 Web 已经不是之前那个年代,标准的 HTTP 满足不了 Web 安全需求。而各大浏览器供应商开始标记不使用安全层的 URL,你的 API 也可以考虑开始动手做这件事——用 HTTPS。HTTPS 采用传输层安全性协议(TLS)对传输…

kubernetes(二)创建集群

kubernetes(一)概述与架构 云原生实战 语雀 官网 Kubernetes 文档 | Kubernetes 更新:移除 Dockershim 的常见问题 | Kubernetes B站课程:https://www.bilibili.com/video/BV13Q4y1C7hS/?p26 安装版本说明: 视频教程…

【nginx】linux(centos版本)安装nginx

目录 一、下载安装包1.1 官网下载1.2 linux命令下载 二、安装2.1 安装依赖包2.2 安装nginx 三、启动四、访问五、关停六、重载配置 一、下载安装包 1.1 官网下载 1.官网地址 https://nginx.org/en/download.html2.版本说明 1.Mainline version-主线版本 2.Stable version-稳…

LeetCode 2487. 从链表中移除节点:单调栈

【LetMeFly】2487.从链表中移除节点:单调栈 力扣题目链接:https://leetcode.cn/problems/remove-nodes-from-linked-list/ 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输…

聊一聊 .NET高级调试 内核模式堆泄露

一:背景 1. 讲故事 前几天有位朋友找到我,说他的机器内存在不断的上涨,但在任务管理器中查不出是哪个进程吃的内存,特别奇怪,截图如下: 在我的分析旅程中都是用户态模式的内存泄漏,像上图中的…

openlayer 轨迹动画(方式一)使用ol-ext

ol-ext官方示例地址&#xff1a;ol-ext 示例代码 实测可用 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>点沿线动画</title><!-- Openlayers -->…

使用pnnx将Torch模型转换为ncnn

1. 引言 以往我们将Torch模型转换为ncnn模型&#xff0c;通常需经过Torch–>onnx&#xff0c;onnx–>ncnn两个过程。但经常会出现某些算子不支持的问题。 ncnn作者针对该问题&#xff0c;直接开发一个Torch直接转换ncnn模型的工具 (PNNX)&#xff0c;以下为相关介绍及使…

Linux端口转发的几种常用方法

1. SSH 端口转发 SSH 提供了一个非常有意思的功能&#xff0c;就是端口转发&#xff0c;它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发&#xff0c;并且自动提供了相应的加密及解密服务。 (1) 本地端口转发 ssh -fgN -L 2222:localhost:22 localhost (2) 远程端口转…

java查询结果的处理

java查询结果的处理 为了方便使用sql的数据&#xff0c;在查询后mysql会把数据封装到java里面的resultset对象&#xff0c;然后我们需要把resultset里的数据再封装到我们自己创建的对象中&#xff0c;比如Student对象&#xff1a; public class Student {int number;String n…

超快速排序

title: 超快速排序 date: 2024-01-05 11:51:43 tags: 逆序对 categories: 算法进阶指南 题目大意 解题思路 逆序数是一个序列每一个数的左边有多少比他本身大的值。将一个序列排序完整&#xff0c;最小交换次数即是逆序数之和。使用归并排序的同时&#xff0c;将每一个逆序数求…

C#用StringBuilder高效处理字符串

目录 一、背景 二、使用StringBuilder便捷、高效地操作字符串 三、实例 1.源码 2.生成效果 四、实例中知识点 1.StringBuilder类 &#xff08;1&#xff09;构造函数 &#xff08;2&#xff09;属性 &#xff08;3&#xff09;方法 2.Environment.NewLine 属性 一、…

SurfaceView和TextureView理解相关

一、为什么要使用SurfaceView 我们知道View是通过刷新来重绘视图&#xff0c;系统通过发出VSSYNC信号来进行屏幕的重绘&#xff0c;刷新的时间间隔是16ms,如果我们可以在16ms以内将绘制工作完成&#xff0c;则没有任何问题&#xff0c;如果我们绘制过程逻辑很复杂&#xff0c;…

SSD 颗粒还要涨价50%,入手前小心速度陷阱

大伙应该感受到了&#xff0c;自今年年中开始 SSD 普遍开始了小幅涨价。 但即便涨价到现在&#xff0c;NAND 厂商仍属于倒亏状态... 原因很简单&#xff0c;库存太多。 根据 TrendForce 的报道&#xff0c;主要制造商价格将需要再次上涨 40% 以上才能不亏&#xff0c;而达到盈…

【ZYNQ入门】第五篇、AXI HP口读写数据原理

目录 第一部分、AXI总线的相关知识 1、ZYNQ架构 2、AXI 总线和 AXI 接口以及 AXI 协议 3、AXI 总线与 ZYNQ 的关系 4、AXI 总线介绍 5、AXI 接口介绍 6、AXI 协议介绍 7、AXI高效传输的原因 8、常见总线汇总 9、HP接口写时序配置 10、HP DDR的地址分配 11、缓存一…

QT开源类库集合

QT开源类库集合 一、自定义控件 QSintQicsTableLongscroll-qtAdvanced Docking System 二、图表控件 QwtQCustomPlotJKQTPlotter 三、网络 QHttpEngineHTTP 四、 音视频 vlc-qt 五、多线程 tasks 六、数据库 EasyQtSql 一、自定义控件 1. QSint 源代码地址&#xff1a;QSint&…