在2018年,我们发布了 BigQuery ML,用作训练和使用线性模型的 SQL 接口,它是 Google Cloud BigQuery 数据仓库的集成部分。许多在 BigQuery 中拥有大量数据的客户开始使用 BigQuery ML 来转移对数据 ETL 的需求,因为它直接将 ML 带到了他们存储的数据中。由于易于解释,因此线性模型对我们的许多客户都适用。但是,正如许多 Kaggle 机器学习竞赛所示,一些非线性模型类型(如 XGBoost 和 AutoML Tables)确实能在结构化数据上很好地运行。

基于 SHAP 值的 Explainable AI(可解释的人工智能)的最新进展还能使客户更好地理解为什么这些非线性模型可以进行预测。Google Cloud AI Platform 已经提供了训练这些非线性模型的功能,并且我们已经与 Cloud AI Platform 相整合并将这些功能引入了 BigQuery。我们增加了训练和使用三种新型回归和分类模型的能力:使用 XGBoost,AutoML Tables 的 Boosted trees (提升树算法)和使用 Tensorflow 的 DNN,经过 BigQuery ML 训练的模型也可以被导出后部署在 Cloud AI Platform 或客户自己的 serving stack(服务堆)上进行在线预测。

此外,我们对用例进行了扩展,包括推荐系统、聚类和时间序列预测。我们宣布以下产品的普遍可用性:使用 XGBoost 的 Boosted trees (提升树算法),使用Tensorflow 的深度神经网络(DNN),以及用于在线预测的模型导出。

以下是有关它们的更多详细信息:

01使用XGBoost的Boosted Trees(提升树算法)

您可以使用 XGBoost 库来训练和使用 Boosted trees (提升树算法)模型。基于树的模型能够很好地捕获非线性的特征,并且 XGBoost 是用于构建Boosted trees 模型中最流行的库之一。在 Kaggle 竞赛中,这些模型已经证明在结构化数据上能够很好地运行,而且没有像神经网络那样复杂和晦涩,因为它们可以通过让决策者检查决策树集来了解模型。

阅读文档,了解更多细节
https://cloud.google.com/bigquery-ml/docs/introduction

02使用 TensorFlow 的深度神经网络(DNN)

这些是在 TensorFlow 中 DNNClassifier 和 DNNRegressor 类型的完全连接的神经网络。使用 DNN 可以减少对 feature engineering的需求,因为隐藏层捕获了非常多的要素之间的交互。但是, hyperparameters在性能上有很大的不同,理解它们需要更高级的数据科学技能。我们建议经验丰富的数据科学家使用这个模型类型,并利用 Google Vizier 之类的超参数调整服务来优化模型。

以此文档开始了解如何使用此模型类型
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-dnn-models

03用于在线预测的模型导出

在 BigQuery ML 中建立模型后,还可以使用 TensorFlow 或 XGBoost 工具将其导出,来进行在线预测或进一步的编辑和检查(一般时间序列模型以外的所有模型都是可以导出的)。除 Boosted trees (提升树算法)模型以外的所有模型都将导出为 TensorFlow SavedModel,可将其部署用于在线预测,甚至可以使用 TensorFlow 工具进行进一步的检查或编辑。Boosted trees (提升树算法)模型以 Booster 的格式导出,来进行在线部署以及进一步的编辑或检查。

以此文档开始了解如何使用此模型类型
https://cloud.google.com/bigquery-ml/docs/exporting-models

此外,我们正在整理收纳适用于不同类别的通用模型用例,通过下方链接,可直接进行查看。
https://cloud.google.com/solutions/smart-analytics/reference-patterns/overview

返回全部