RDS MySQL Machine Learning服务公测
随着近些年云计算、人工智能的推广普及,云数据库和AI的结合已经成为趋势和潮流。“智能化”是阿里云数据库的战略发展方向之一,结合数据库对数据“近水楼台”的优势,我们希望利用DB相关技术来优化AI流程,让RDS内置机器学习服务,快速支撑AI业务发展,助力用户业务智能:RDS MySQL机器学习服务应运而生。
初识RDS MySQL机器学习
RDS MySQL Machine Learning是一种集成在RDS MySQL内的全托管机器学习解决方案,通过内置机器学习服务以及SQL实现能力扩展,快速支撑客户业务发展。RDS MySQL Machine Learning在数据库代理的基础上提供服务,给用户提供一个统一的数据访问和机器学习操作入口。
内置机器学习算力比传统机器学习更便捷
传统机器学习的数据智能应用实现流程复杂,包含数据处理、特征工程、模型训练、部署、服务等多个阶段,需要许多不同系统、组件和人员来完成,涉及大量开发运维管理工作。
此外使用机器服务需要的技术门槛比较高,一般需要对数据进行清洗、标注的数据工程师,还需要掌握高级语言(Python/R)的AI算法专家,懂得使用和应用AI模型的业务工程师等等。此外需要频繁从数据源(包括数据库、大数据、对象存储等)和AI框架之间移动数据,增加了数据风险和大量的运维操作。
针对以上痛点,RDS MySQL机器学习通过架构整合使之简单化,方便客户更好的应用机器学习技术。
下图是"传统机器学习架构" VS "RDS MySQL机器学习架构":
RDS MySQL内置了机器学习算力,发挥云数据库RDS的服务优势,降低人工智能应用的技术门槛,让技术人员使用AI如同操作SQL一样简单。通过扩展的SQL,即可实现机器学习模型的训练、部署、预测和管理操作,节省了大量时间和人力成本。
RDS MySQL机器学习优势&范例
RDS MySQL机器学习有如下核心优势:
自动化的模型训练
简易的模型管理
通过表来记录模型信息,提供完整的模型管理能力;
扩展的SQL访问
数据安全
指定用于模型训练的数据以及模型只会在RDS服务内部流转,不会离开RDS服务,保证数据的安全性;
下面通过范例进行进行具体讲解:
与AI相关的操作都通过扩展的SQL来实现,让您可以和操作数据库一样来操作机器学习的流程。例如模型的创建、训练、预测等。 QUERY_OP_AI_TRAIN,训练接口BNF
SELECT select_expr [, select_expr ...]
FROM table_references
[WHERE where_condition]
[LIMIT row_count]
TO TRAIN model_identifier
[WITH
model_attr_expr [, model_attr_expr ...]
[, train_attr_expr ...]]
COLUMN column_expr [, column_expr ...]
| COLUMN column_expr [, column_expr ...] FOR column_name
[COLUMN column_expr [, column_expr ...] FOR column_name ...]
[LABEL label_expr]
INTO table_references
[ASYNC];
QUERY_OP_AI_PREDICT,预测接口BNF
SELECT select_expr [, select_expr ...]
FROM table_references
[WHERE where_condition]
[LIMIT row_count]
TO PREDICT result_table_reference
[WITH
attr_expr [, attr_expr ...]]
LABEL class
USING model_table_reference;
RDS MySQL机器学习会根据您定义的训练数据集和算法自动进行模型创建和训练,通过用户指定的模型和预测数据集自动生成预测结果
通过表来记录模型信息,提供完整的模型管理能力
查询训练任务/模型
-- 查看训练任务
show train;
-- 查看模型
show models;
数据安全
您指定用于模型训练的数据以及模型只会在RDS服务内部流转,不会离开RDS服务,保证数据的安全性。
路由决策
数据库代理实现对用户读写query和机器学习操作query的路由决策和转发,分别路由到后端数据库引擎和机器学习计算平台上。客户端传入的query转换为MySQL Packet,数据库代理解析、转化MySQL数据包之后进行路由,具体流程如下所示:
Packet Deconder: 将二进制格式的MySQL Packet转换为字符串格式的MySQL Query String,用于后续的SQL Parser解析出SQL Query的AST Extended SQL Scanner: 用于扫描MySQL Packet中的query,将机器学习相关query与数据库读写相关query分别路由
正是因为RDS MySQL有如上特点,在很多客户业务场景,使用机器学习能够获得更好的效果,例如通过机器学习加工处理RDS MySQL数据,实现业务智能推荐的场景;以及在机器学习过程中对数据安全有要求,风控识别的场景等。
未来可期
RDS MySQL机器学习服务刚刚启动公测,目前的预览版的使用说明可参考:公测版使用说明(详情请点击下方 “阅读原文” )
目前已经支持模型训练(TRAIN)与预测(PREDICT),RDS机器学习服务未来会逐渐提供更丰富的能力,例如RDS PostgreSQL机器学习服务、模型自动优化、更高性能的机器学习算法、扩展更多机器学习训练框架服务(如远程联动云AI服务)、Serveless能力等,届时在体验、功能丰富度、性能、扩展性上都会有更多的期待。期待大家公测体验的反馈,希望有更近一步的技术或业务解决方案的探讨。
作者信息
谢家森,花名果实,负责RDS数据库代理整体相关的管控研发工作。您有RDS数据库代理等相关问题,请联系邮件:vogts.wangt@alibaba-inc.com
推荐阅读