AI Meets Database: AI4DB and DB4AI


论文 地址

ABSTRACT

        数据库和人工智能可以相互受益。一方面,人工智能可以使数据库更加智能(AI4DB)。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图顾问)无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于学习的技术可以缓解这个问题。另一方面,数据库技术可以优化人工智能模型(DB4AI)。例如,人工智能很难部署,因为它需要开发人员编写复杂的代码和训练复杂的模型。数据库技术可用于降低使用人工智能模型的复杂性,加速人工智能算法,并在数据库内提供人工智能能力。DB4AI和AI4DB最近得到了广泛的研究。在本教程中,我们回顾了AI4DB和DB4AI的现有研究。对于AI4DB,我们回顾了基于学习的数据库配置、优化、设计、监控和安全技术。对于DB4AI,我们回顾了面向AI的声明语言、数据治理、训练加速和推理加速。最后,我们提出了AI4DB和DB4AI的研究挑战和未来方向。

1 INTRODUCTION

        人工智能(AI)和数据库(DB)在过去50年中得到了广泛的研究。首先,数据库系统在许多应用中得到了广泛的应用,因为数据库通过提供用户友好的声明性查询范例和封装复杂的查询优化功能而易于使用。其次,人工智能最近取得了突破,这得益于三大驱动力:大规模数据、新算法和高计算能力。
        此外,人工智能和数据库可以相互受益。一方面,人工智能可以使数据库更加智能(AI4DB)。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图顾问)基于经验方法和规范,需要人工参与(例如DBA)来调整和维护数据库。因此,现有的经验技术无法满足大规模数据库实例、各种应用程序和多样化用户的高性能需求,尤其是在云上。幸运的是,基于学习的技术可以缓解这个问题。例如,深度学习可以提高成本估计的质量,强化学习可以用于优化连接顺序选择,深度强化学习可以用于调整数据库旋钮。
        另一方面,数据库技术可以优化人工智能模型(DB4AI)。在许多实际应用中,人工智能很难部署,因为它需要开发人员编写复杂的代码和训练复杂的模型。幸运的是,可以使用数据库技术来降低使用人工智能模型的复杂性,加速人工智能算法,并在数据库内提供人工智能能力。例如,数据库技术可用于提高数据质量(例如,数据发现、数据清理、数据集成、数据标记和数据沿袭)、自动选择适当的模型、推荐模型参数和加速模型推理。
        DB4AI和AI4DB最近得到了广泛的研究。在本教程中,我们总结了DB4AI和AI4DB的现有技术,并提供了研究挑战和开放问题。

Tutorial Overview
        我们将提供3小时的教程。在第一节(1.5小时)中,我们介绍了AI4DB技术。
(1)Learning-based database configuration (20min)。它旨在利用机器学习技术自动化数据库配置,例如用于旋钮调整的深度强化学习、用于索引顾问的分类器、用于视图顾问的强化学习、SQL重写器和用于数据库分区的强化学习。
(2)Learning-based database optimization (20min)。它旨在利用机器学习技术解决数据库优化中的难题,例如SQL重写、成本/基数估计、连接顺序选择和端到端优化器。
(3)Learning-based database design (20min)。它旨在利用机器学习技术设计数据库组件,例如学习索引、学习KV存储设计和事务管理。
(4)Learning-based database monitoring (20min)。传统的方法依赖数据库管理员来监控数据库活动和报告异常,这些方法对于自主监控来说是不完整和低效的。因此,提出了基于机器学习的技术来预测查询到达率、估计查询性能、诊断慢速查询的根本原因,以及确定何时和如何监控哪些数据库指标。
(5)Learning-based database security (10min)。传统的数据库安全技术(例如,数据屏蔽和审计、敏感数据发现)依赖于用户定义的规则,这些规则无法自动检测未知的安全漏洞。提出了基于学习的算法来发现敏感数据、检测异常、进行访问控制和避免SQL注入。

        在第二节中,我们重点讨论DB4AI技术(70min)。为了降低使用人工智能的障碍,数据库社区扩展了数据库技术,以封装人工智能算法的复杂性,并使用户能够使用声明性语言(例如SQL)来利用人工智能算法。
(1)Declarative language model (15min)。SQL相对容易使用,在数据库系统中被广泛接受。我们可以扩展SQL来支持人工智能模型,我们还可以设计用户友好的工具来支持人工智能模型。
(2)Data governance (15分钟)。数据质量对于机器学习很重要,我们可以使用数据治理技术来提高数据质量和效率,例如数据发现、数据清理、数据标记和数据沿袭。
(3)Model training (20min)。模型训练是一个耗时且复杂的过程,因此需要优化技术,例如特征选择、模型选择、模型管理、硬件加速。
(4)Model inference (20min)。模型推理旨在使用经过训练的模型和数据库内优化技术(例如,操作员支持、操作员选择、执行加速)有效推断结果。

        在第三部分中,我们提供了研究挑战和开放问题(20min)。对于AI4DB,我们讨论了人工智能模型无法收敛时事务和数据库可靠性的人工智能。对于DB4AI,我们讨论了如何增强数据库内的人工智能训练,如何使用容错技术减少错误,并构建一个类似数据库的人工智能优化器。对于混合人工智能和数据库,我们提出了混合数据模型、混合计算模型以及混合人工智能和数据库系统。

Target Audience
        目标观众包括来自研究和工业界的SIGMOD与会者,他们对数据库优化和机器学习感兴趣。我们不需要任何数据库或机器学习领域的先验背景知识。教程将是独立的,我们将
包括广泛的介绍和激励非专业人士遵循的例子。

Difference with Existing Tutorials
        有一些关于机器学习和数据库的现有教程。与之不同的是,我们关注使用人工智能技术优化数据库和使用数据库技术加速人工智能模型的基本技术

2 TUTORIAL OUTLINE

        我们从本教程的简要概述开始,为观众提供一个清晰的大纲和演讲目标。然后,我们总结了AI4DB、DB4AI以及混合AI和DB的现有技术。最后,我们提出了研究挑战和开放性问题。

2.1 AI for DB

在这里插入图片描述

Figure 1: Overview of DB4AI and AI4DB.

        传统的数据库设计基于经验方法和规范,需要人工参与(例如DBA)来调整和维护数据库。人工智能技术可以用来缓解这些限制——探索比人类更大的设计空间,并取代启发式来解决难题。我们将现有的AI4DB技术分类如下。

Learning-based Database Configuration

        它旨在利用人工智能技术自动化数据库配置,包括旋钮调整、索引顾问、物化视图顾问、SQL重写器和数据库分区。

(1) Knob tuning
        数据库有数百个可调的系统旋钮(例如工作内存、最大连接数),它们控制数据库的许多重要方面(例如内存分配、输入/输出控制、日志记录),并影响数据库性能。传统的手动方法利用DBA根据他们的经验手动调整这些旋钮,但他们总是花费太多时间来调整旋钮(几天到几周),无法处理云数据库上数百万个数据库实例。为了解决这个问题,数据库社区利用基于学习的技术来自动调整旋钮,这不仅实现了更高的性能调整,而且缩短了调整时间。例如,CDBTune将数据库优化建模为一个顺序决策问题,并依赖强化学习来提高优化性能。此外,由于CDBTune仅将以前的数据库状态作为输入,因此QTune使用深度学习进一步表征查询特征,并可以实现更精细的粒度调整,例如查询级调整、会话级调整和系统级调整

(2) Index advisor
        索引对于加快查询执行至关重要,适当列上的索引可以实现高性能。然而,推荐和构建包含大量列组合的索引成本很高。因此,有一些基于学习的工作会自动推荐索引。例如,Sadri等人提出了一种基于强化学习的索引选择方法。首先,在没有专家规则的情况下,它们将工作负载特征表示为查询的到达率,列特征表示为每个列的访问频率和选择性。其次,他们使用马尔可夫决策过程模型(MDP)从查询、列的特征中学习,并输出一组表示创建/删除索引的操作。

(3) View advisor
        在数据库管理系统中,利用视图根据时间与空间的权衡原则来提高查询性能是很重要的。明智地选择物化视图可以在可接受的开销内显著提高查询性能。然而,现有方法依赖DBA来生成和维护物化视图。不幸的是,即使DBA也无法处理大规模数据库,尤其是拥有数百万数据库实例并支持数百万用户的云数据库。因此,它需要视图顾问,它会自动识别给定查询工作负载的适当视图。例如,Han等人提出了一种深度强化学习方法来估计不同MV候选和查询的好处,并为动态工作负载选择MV。

(4) SQL rewriter
        SQL重写器可以删除逻辑查询中的冗余或无效运算符,显著提高查询性能。然而,对于慢速查询有许多重写顺序(例如,不同的运算符和适用的规则),传统的经验查询重写方法仅按固定顺序(例如,自顶向下)重写,可能会产生次优查询。相反,深度学习可以用于明智地选择适当的规则,并以良好的顺序应用规则。

(5) Database Partition
        传统方法启发式地选择列作为分区键(大多数为单列),无法在负载平衡和访问效率之间取得平衡。一些工作[23]还利用强化学习模型探索不同的分区键,并实现全连接神经网络来估计分区效益。

Learning-based Database Optimization

        它旨在利用机器学习技术解决数据库优化中的难题,包括成本估计、连接顺序选择和端到端优化器。

(1) Cardinality/Cost estimation
        数据库优化器依靠基数和成本估计来选择优化的计划,但传统技术无法有效捕获不同列/表之间的相关性,因此无法提供高质量的估计。最近,提出了基于深度学习的技术(例如,CNN、RNN、混合模型),通过使用深度神经网络捕捉数据相关性来估计成本和基数。例如,基于LSTM的工作使用物理运算符和谓词学习每个子计划的表示,并通过使用估计层同时输出估计基数和成本。

(2) Join order selection
        一个SQL查询可能有数百万甚至数十亿个可能的计划,有效地找到一个好的计划非常重要。传统的启发式方法无法找到数十个表的最优计划,动态规划探索巨大的计划空间成本高昂。因此,有一些基于深度强化学习的方法可以自动选择好的计划。例如,SkinnerDB使用基于蒙特卡洛树搜索的方法在每个时间片中尝试不同的连接顺序,并可以动态优化连接顺序。

(3) End-to-end optimizer
        一个成熟的优化器不仅要回答成本估计和连接顺序,还需要考虑索引和视图,设计一个端到端优化器很重要。基于学习的优化器使用深度神经网络优化SQL查询。例如,Marcus等人提出了一种端到端优化器NEO来生成最终的物理计划。在没有来自成本模型的信息的情况下,NEO使用PostgreSQL的计划来预训练神经网络,并使用延迟作为反馈来训练神经网络。这种端到端方法从延迟中学习以生成整个物理计划,可以应用于许多场景,并且对估计误差具有鲁棒性。

Learning-based Database Design

        传统的数据库是由数据库架构师根据经验设计的,但数据库架构师只能探索有限的设计空间。最近提出了一些基于学习的自设计技术。

(1) Learned indexes
        不仅可以减少索引大小,还可以使用索引提高查询性能。例如,Kraska等人提出索引是模型,其中B+树索引可以看作是将每个查询键映射到其页面的模型。还研究了用于数据更新和高维数据的学习索引。

(2) Learned data structure design
        不同的数据结构可能适用于不同的环境(例如,不同的硬件、不同的读/写事务),很难为每个场景设计适当的结构。提出了数据结构炼金术等技术来自动推荐和设计数据结构。它们通过基本设计组件(例如围栏指针、链接和时间分区)定义设计空间。为了设计数据结构,他们首先确定总成本的瓶颈,然后在一个方向上调整不同的旋钮,直到达到成本边界或总成本最小,这类似于梯度下降过程。

(3) Learning-based transaction management
        有效的工作负载调度可以通过避免数据冲突大大提高性能。我们从两个方面介绍了学习到的事务管理技术:事务预测和事务调度。首先,对于事务预测,传统的工作量预测方法是基于规则的。例如,基于规则的方法使用数据库引擎的领域知识(例如,内部延迟、资源利用率)来识别与工作负载特征相关的信号,这在工作负载变化时需要花费大量时间来重建统计模型,因此马等人提出了一种基于ML的系统,用于预测不同工作负载的未来趋势。其次,对于事务调度,传统的数据库系统要么按顺序调度工作负载(不能考虑潜在冲突),要么根据数据库优化器预测的执行成本来调度工作负载。Sheng等人提出了一种基于学习的事务调度方法,该方法可以使用监督算法平衡并发率和冲突率。

Learning-based Database Monitoring

        传统方法依赖于数据库管理员来监控大多数数据库活动并报告异常,这些方法不完整且效率低下。因此,针对三种主要情况提出了基于机器学习的技术——健康监测、活动监测和性能预测。

(1) Database Health Monitor (DHM)
        它记录数据库健康相关指标,例如每秒查询数、查询延迟,以优化数据库或诊断故障。在[51]中,他们总结说,具有类似关键性能指标(例如CPU使用率、每秒事务数)的间歇性慢速查询具有相同的根本原因。因此,他们首先从故障记录中提取慢速SQL,用KPI状态对其进行聚类,并要求DBA为每个集群指定根本原因。接下来,对于传入的慢速SQL,他们根据KPI状态的相似性得分将其与集群C相匹配。如果匹配,他们使用C的根本原因通知DBA;否则,他们生成一个新集群,并要求DBA指定根本原因。然而,这些方法无法防止潜在的数据库故障,并且高度依赖DBA的经验。因此,Taft等人建议主动监控数据库,以适应工作负载的变化。

(2) Database Activity Monitor (DAM)
        它从外部监视和控制数据库活动(例如创建新帐户、查看敏感信息),这些活动对保护敏感数据至关重要。我们将DAM大致分为两类,活动选择和活动跟踪。对于活动选择,传统的DAM方法需要根据触发规则记录额外系统上的所有活动。然而,记录所有活动仍然是一个沉重的负担,这带来了数据库和监测系统之间频繁的数据交换。因此,它需要自动选择和记录风险活动,Hagit等人将数据库监控视为多武装强盗问题(MAB),该问题通过利用当前策略和探索新策略来选择风险数据库活动。目标是训练具有最大风险分数的最优策略。

(3) Performance Prediction
        查询性能预测对于满足服务级别协议(SLA)至关重要,尤其是对于并发查询。Marcus等人使用深度学习来预测并发场景下的查询延迟,包括子/父运算符之间的交互和并行计划。然而,它采用流水线结构(导致信息丢失),无法捕捉操作之间的关系,如数据共享/冲突特征。因此,周等人提出了一种带有图嵌入的性能预测方法。他们使用图模型来表征当前查询,并利用图卷积网络将工作负载图嵌入到性能指标中。

Learning-based Database Security

        传统的数据库安全技术(例如,数据屏蔽和审计)依赖于用户定义的规则,这些规则无法自动检测未知的安全漏洞。因此,提出了基于学习的算法来发现敏感数据,进行访问控制,并避免SQL注入。

(1) Learning-based Sensitive Data Discovery
        由于敏感数据泄漏会造成巨大的财务和个人信息损失,因此保护数据库中的敏感数据非常重要。敏感数据发现旨在自动检测和保护机密数据。例如,Fernandez等人提出了Aurum,这是一个数据发现系统,根据用户的需求提供灵活的查询来搜索数据集。

(2) Access Control
        它旨在防止未经授权的用户访问数据,包括表级和记录级访问控制。传统方法无法有效防止这些攻击。最近,提出了基于机器学习的算法来估计访问请求的合法性。Colombo等人提出了一种基于目的的访问控制模型,该模型定制了控制策略来调节数据请求。由于不同的行为和数据内容可能导致不同的私人问题,该方法旨在了解合法访问目的。

(3) SQL Injection
        SQL注入是数据库常见的有害漏洞。攻击者可以绕过附加信息或干扰SQL语句来修改或查看超出其优先级的数据,例如检索隐藏数据、破坏应用程序逻辑、联合攻击等。利用机器学习技术的SQL注入检测方法主要有两种,包括分类树和模糊神经网络。

Learning-based Database Systems

        学术界和工业界都在研究一些基于学习的数据库系统。例如,SageDB提出了一个愿景,即通过学习数据分布(CDF模型)和基于知识设计数据库组件来专门化数据库实现,例如,学习索引、学习查询调度。

2.2 DB for AI

Declarative Language Model

        传统的机器学习算法大多是用编程语言(例如Python、R)实现的,并且有一些局限性。首先,它们需要工程师技能来定义完整的执行逻辑,例如,模型训练的迭代模式,以及矩阵多重复制和展平等张量运算。其次,机器学习算法必须从数据库系统加载数据,数据导入/导出成本可能非常高。相反,SQL相对容易使用,并且在数据库系统中被广泛接受。然而,与其他高级机器学习语言相比,SQL缺少一些复杂的处理模式(例如迭代训练)。幸运的是,SQL可以扩展以支持AI模型,我们还可以设计用户友好的工具来支持SQL语句中的AI模型。

Data Governance

        人工智能模型依赖于高质量的数据,数据治理旨在发现、清理、集成和标记数据,以提高数据质量。

(1) Data discovery
        数据发现旨在考虑应用程序和用户需求,从数据仓库中自动找到相关数据集。基于学习的数据发现增强了查找相关数据的能力,有效地在大量数据源中找到相关数据。例如,Fernandez等人提出了Aurum,这是一个数据发现系统,根据用户的需求为搜索数据集提供灵活的查询。它利用企业知识图(EKG)来捕捉各种关系,以支持广泛的查询。EKG是一个超图,其中每个节点表示一个表列,每个边表示两个节点之间的关系。超边连接层次相关的节点,例如同一表中的列。

(2) Data cleaning
        肮脏或不一致的数据会严重影响训练性能。数据清理和集成技术可以检测和修复脏数据,并集成来自多个源的数据。王等人提出了一个用于机器学习任务的清理框架ActiveClean。给定一个具有凸损失的数据集和机器学习模型,它选择最能提高模型性能的记录,并迭代清理这些记录。

(3) Data labeling
        我们可以适当地利用领域专家、众包和现有知识来标记ML算法的大量训练数据。例如,与亚马逊Mechanical Turk等商业公共众包平台合作(https://www.mturk.com)众包是解决这类任务的有效方法,它利用数百或数千名员工来标记数据。

Model Training

        模型训练旨在训练用于在线推理的高质量模型。模型训练是一个耗时且复杂的过程,因此需要优化技术,包括特征选择、模型选择、模型管理和硬件加速。

(1) Feature selection
        目的是从大量可能的特征中搜索合适的特征,这既费时又费力。提出了诸如批处理、物化、主动学习等数据库技术来解决这个问题。例如,使用批处理和物化技术来降低特征枚举成本。利用基于主动学习的技术加速评估过程

(2) Model selection
        模型选择旨在从大量可能的模型中选择合适的模型(和参数值)。提出了加速这一步的并行技术,包括任务并行、批量同步并行、参数服务器和模型并行。该问题的一个关键瓶颈是模型选择吞吐量,即每单位时间测试的训练配置数量。高吞吐量允许用户在固定时间内测试更多配置,这使得整个培训过程高效。一种解决方案是增强吞吐量并行性,流行的并行策略包括任务并行、批量同步并行和参数服务器。

(3) Model management
        由于模型训练是一个反复尝试的过程,需要维护许多已经尝试过的模型和参数,因此有必要设计一个模型管理系统来跟踪、存储和搜索ML模型。我们回顾了基于GUI的和基于命令的模型管理系统。

(4) Hardware acceleration
        还利用GPU和FPGA等现代硬件加速模型训练。我们分别在行存储和列存储数据库中介绍了硬件加速技术。例如,DAnA解析查询并利用连接FPGA和数据库的硬件机制。它将训练数据从缓冲池直接检索到加速器,而无需访问CPU。此外,他们设计了一个执行模型,将线程级和数据级并行性结合起来,以加速ML算法。

Model Inference

        其目的是使用经过训练的模型和数据库内优化技术来推断结果。

(1) Operator support
        ML模型可能包含不同类型的算子(例如标量、张量),它们具有不同的优化要求。因此,提出了支持人工智能算子的数据库技术。例如,Boehm等人提出了一种数据库中的机器学习系统SystemML。SystemML使用用户定义的聚合函数支持矩阵运算,这些函数在列级别提供并行数据处理。

(2) Operator selection
        同一ML模型可以转换为不同的物理算子,这可能会带来显著的性能差异。在数据库中,操作员选择可以估计资源消耗并明智地调度操作员。

(3) Execution acceleration
        与模型训练不同,模型推理需要选择ML模型并执行正向传播来预测不同的问题。现有的执行加速技术包括内存方法和分布式方法。内存方法旨在将数据压缩到内存中,并尽可能多地进行内存计算。分布式方法将任务路由到不同的节点,并使用并行计算减少数据处理和模型计算的负担。

2.3 Challenges and Open Problems

        虽然已经对AI4DB和DB4AI进行了广泛的研究,但在实践中应用AI4DB和DB4AI技术仍然存在许多机遇和挑战,这也需要混合AI和DB技术。

AI4DB

        利用人工智能技术优化数据库有几个挑战。

(1) Model Selection
        有两个挑战。首先,ML模型有多种(例如正向进给、顺序、图嵌入),手动选择合适的模型并调整参数效率低下。其次,很难评估学习模型在大多数场景中是否有效,对于这些场景,需要验证模型。

(2) Model Validation
        很难评估学习模型是否有效,是否优于非学习方法。例如,旋钮调整策略是否真的适用于工作负载?需要设计验证模型来评估学习模型。

(3) Model Management
        不同的数据库组件可能使用不同的ML模型,提供统一的ML平台以实现统一的资源调度和统一的模型管理非常重要。

(4) Training data
        大多数人工智能模型需要大规模、高质量、多样化的训练数据来实现高性能。然而,在AI4DB中获取训练数据相当困难,因为数据要么是安全关键的,要么依赖于DBA。例如,在数据库旋钮调整中,根据DBA的经验收集训练样本。获取大量的训练样本非常困难。此外,为了建立有效的模型,训练数据应该涵盖不同的场景、不同的硬件环境和不同的工作负载。它需要使用一个小的训练数据集来获得高质量模型的新方法。

(5) Adaptability
        适应性是一个很大的挑战,例如,适应动态数据更新、其他数据集、新的硬件环境和其他数据库系统。我们需要应对以下挑战。首先,如何使数据集上经过训练的模型(例如优化器、成本估算)适应其他数据集?第二,如何使经过训练的硬件环境模型适应其他硬件环境?第三,如何使经过训练的数据库模型适应其他数据库?第四,如何使经过训练的模型支持动态数据更新?

(6) Model convergence
        学习模型能否收敛是非常重要的。如果模型无法收敛,我们需要提供替代方法,以避免做出延迟和不准确的决策。例如,在旋钮调节中,如果模型不收敛,我们无法利用该模型进行在线旋钮建议。

(7) Learning for OLAP
        传统的OLAP侧重于关系数据分析。然而,在大数据时代,出现了许多新的数据类型,例如图形数据、时间序列数据、空间数据,这就需要新的数据分析技术来分析这些多模型数据。此外,除了传统的聚合查询外,许多应用程序还需要使用机器学习算法来增强数据分析,例如图像分析。因此,集成人工智能和数据库技术以提供新的数据分析功能相当具有挑战性。

(8) Learning for OLTP
        事务建模和调度对于OLTP系统非常重要,因为不同的事务可能会有冲突。然而,它不能自由地建模和调度事务,它需要更高效的模型,可以在多个核心和多台机器中即时建模和调度事务。

DB4AI

        利用数据库技术优化人工智能算法仍然存在一些挑战。

(1) In-database training
        在数据库内部支持人工智能训练具有挑战性,包括模型存储、模型更新和并行训练。首先,将模型存储在数据库中是一个挑战,这样模型就可以被多租户训练和使用,我们需要考虑安全和隐私问题。其次,更新模型是一项挑战,尤其是当数据动态更新时。

(2) Training acceleration using database techniques
        大多数研究集中在人工智能算法的有效性上,但对效率没有太多关注。它呼吁利用数据库技术来提高人工智能算法的性能,例如索引和视图。例如,自动驾驶车辆需要大量示例进行培训,这相当耗时。实际上,它只需要一些重要的例子,例如夜间或雨天的训练案例,但没有太多多余的例子。因此,我们可以对样本和特征进行索引,以进行有效的训练。

(3) AI optimizer
        现有研究使用用户定义函数(UDF)来支持人工智能模型,但这些模型没有得到有效优化。它要求将人工智能模型实现为操作员内部数据库,并为每个操作员设计物理操作员。最重要的是,它需要推下人工智能运营商,并估计人工智能运营商的成本/基数。它需要一个人工智能优化器来优化人工智能训练和推理。此外,在分布式环境中有效支持人工智能操作员更为重要。

(4) Fault-tolerant learning
        现有的学习模型训练没有考虑容错性。如果一个进程崩溃,整个任务将失败。我们可以使用容错技术来提高数据库学习的鲁棒性。然而,为了确保在可预测/不可预测的灾难下业务的连续性,数据库系统必须提供容错和灾难恢复等功能。

AI&DB co-optimization

        在模型支持、推理和系统集成方面存在一些挑战。

(1) Hybrid relational and tensor model
        传统的CPU不能有效地处理张量模型,人工智能芯片不能有效地处理关系模型。它需要有效的方法来加速AI芯片上的关系操作,跨传统CPU和AI芯片调度运算符,并支持关系模型和张量模型。

(2) Hybrid DB&AI inference
        许多应用需要DB和AI操作,例如,查找住院时间超过3天的所有患者。本地方法是预测每个患者的住院时间,然后修剪住院时间小于3的患者。显然,这种方法相当昂贵,需要一种新的优化模型来优化数据库和人工智能,例如,新的优化模型、人工智能算子下推、人工智能成本估计和人工智能索引/视图。

(3) Hybrid DB&AI system
        它需要一个端到端的混合人工智能和数据库系统,该系统支持声明性语言,例如AISQL,该语言扩展SQL以支持人工智能运算符,一个人工智能和数据库优化器,该优化器协同优化这两种操作,一个有效的(分布式)执行引擎,该引擎调度这两种类型的任务,以及一个适当的存储引擎。

3 BIOGRAPHY

Guoliang Li

        李国良,清华大学计算机系教授。他的研究兴趣主要包括数据清理和集成、众包以及AI4DB、DB4AI、混合DB和AI。他获得了VLDB 2017年早期研究贡献奖、TCDE 2014年早期职业奖、CIKM 2017年最佳论文奖和VLDB/ICDE最佳。他将提出AI4DB和开放问题。

Xuanhe Zhou

        周宣和,清华大学计算机系博士生。他的研究兴趣在于数据库和机器学习的交叉技术。他将展示AI4DB。

Lei Cao

        曹磊,麻省理工学院CSAIL的博士后助理。Samuel Madden和Michael Stonebraker教授。在此之前,他曾在IBM T.J.Watson研究中心担任研究人员。他在伍斯特理工学院获得了计算机科学博士学位。他专注于为数据科学家开发端到端工具,以理解数据。他将介绍DB4AI。

Acknowledgement

        本文得到了中国国家科学基金会(61925205-61632016)、华为、北京国家信息科学技术研究中心(BNRist)和好未来教育的支持。

REFERENCES

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值