AI让数据库的路走的“更快更远” 阿里云数据库高级技术专家戴健 AI的使用将会越来越普及 83%CEOs相信AI是一个战略重点 MITSloanManagementReview $2.9trillion 商业价值由AI创造 6.2billionhours人力花在了AI上 Gartner AI的困境 1、特征、模型管理难 MLOps DataOps ModelOps CRM DevOps CRM AI的困境 业务 AI 算法 数据 一直迭代、演进中 AI?DB? AI DB DB+AI 数据、特征、模型一起存 DataOps、ModelOps 统一做 一起存一起算 流程简单化、低代码量、更低的开发成本&运维成本 为什么我们选择扩展DataOps到ModelOps 缓存 一写多读 (多写多 读) 事务ACID 查询加速索引 数据新鲜度 数据易用性 SQL UDF 联邦查询ServerlessHTAP 扩展DatOps到ModelOps,保持了数据新鲜度,维持了数据的易用性和可用性, 避免了模型单独的数据管理系统,数据延迟和复杂的硬编码数据pipeline,方便了AI的在线决策。 数据管理+特征管理+模型管理SQL+SQLforMLOps DataOps+ModelOps:核心功能 数据 特征 模型 … AI 模型 创建 AI 模型 评估 AI 模型 调参 AI 模型 组合 AI 模型 部署 CREATEMODELairlines_gbm_copy1WITH(model_class='lightgbm’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,model_parameter=(boosting_type='gbdt',n_estimators=100, max_depth=8,num_leaves=256))AS(SELECT*FROMairlines_train) SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm_copy1,SELECT*FROMairlines_train_1000_copy1) WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length’,y_cols='Delay',primary_key='TripID', PolarDBforAI 模型创建模型上传 CREATEMODELairlines_gbmWITH(model_class='lightgbm’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,model_parameter=(boosting_type='gbdt',n_estimators=100,max_depth=8,num_leaves=256))AS(SELECT*FROMairlines_train) 模型评估 SELECTDelayFROMevaluate(MODELairlines_gbm,SELECT*FROMairlines_test)WITH(x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length’,y_cols='Delay',metrics='acc'); 模型推理(离线) SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm_copy1,SELECT*FROMairlines_train_1000_copy1)WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,primary_key='TripID',mode='async')INTOlightgbm_v2_predict82201; 模型推理(在线) SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm_copy1,SELECT*FROMairlines_train_1000_copy1)WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,primary_key='TripID',); 模型描述 DESCRIBEMODELmodel_name 模型删除 UPLOADMODELmodel_nameWITH(model_location='',req_location='') 模型部署 DEPLOYMODELmodel_name UDF创建 DEPLOYMODELmy_lr_modelWITH(mode='in_db'); CREATEFUNCTIONmy_lr_modelRETURNSREALSONAME"#ailib#_my_lr_model.so"; 特征创建 CREATEFEATUREfeature_nameWITH(feature_class='',parameters=())AS(SELECTselect_expr[,select_expr]...FROMtable_reference) 特征更新 UPDATEFEATUREfeature_nameWITH(feature_class='',parameters=())AS(SELECTselect_expr[,select_expr]...FROMtable_reference) 特征删除 DROPFEATUREfeature_name DROPMODELmodel_name等AISQL PolarDBforAI:DBforAIinPolarDBMySQL ScaleOut Scale PROXY AI RWROAI Mem SQL: FeatureCreation,ModelCreation, ModelEvaluation, UpPolarStoreOSS 基于高速RDMA的CPU/memory/storage三层解耦 ModelInference,etc. 一个系统:PolarDB一套语言:SQL 模型推理 PolarDBforAI SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm_copy1, SELECT*FROMairlines_train_1000_copy1)WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,primary_key='TripID',mode='async')INTOlightgbm_v2_predict82201; 数据模型推理结果 PolarDBforAI:场景化 模型在线推理 场景一:从数据到模型到应用 模型创建 模型开发 模型 创建 模型 训练 模型 评估 结果 查看 CREATEMODELairlines_gbmWITH(model_class='lightgbm’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,model_parameter=(boosting_type='gbdt',n_estimators=100,max_depth=8,num_leaves=256))as(SELECT*FROMdb4ai.airlines_train) 模型评估 模型应用 模型 描述 模型 列表 模型 在线推理 模型 离线推理 SELECTDelayFROMevaluate(MODELairlines_gbm,SELECT*FROMairlines_test)WITH(x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length’,y_cols='Delay',metrics='acc'); 结果查看 SHOWTASK`df05244e-21f7-11ed-be66-xxxxxxxxxxxx`; 模型描述 DESCRIBEMODELairlines_gbm; 模型列表 SHOWMODELS 模型离线推理 SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm_copy1,SELECT*FROMairlines_train_1000_copy1)WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,primary_key='TripID')INTOlightgbm_v2_predict1030; SELECTTripID,DelayFROMPREDICT(MODELairlines_gbm, SELECT*FROMairlines_train_1000_copy1)WITH(s_cols='TripID,Delay’, x_cols='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',y_cols='Delay’,primary_key='TripID') https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/polardb-for-ai 场景二:预训练的模型 模型上传 训练好的模型 UPLOADMODELmy_modelWITH(model_location='https://xxxx/model.pkl?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx’,req_location='https://xxxx/requirements.txt?Expires=xxxx&OSSAccessKeyId=xxxx&Signature=xxxx') 模型部署 DEPLOYMODELmy_model; requirements.txt 模型在线推理 SELECTYFROMPREDICT(MODELmy_model, SELECT*FROMdb4ai.regression_testLIMIT10) WITH(x_cols='x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28',y_cols=''); or 模型部署 DEPLOYMODELmodel_nameWITH(mode='in_db'); UDF创建 CREATEFUNCTIONfunction_nameRETURNSreturn_valueSONAME"soname"; UDF使用 SELECTfunction_name("content"); 场景三:开箱即用的方案 reviews