首頁>科技>

Google BigQuery 中的機器學習

文 / 紐約市 Google AI 研究員 Umar Syed 和 Sergei Vassilvitskii

Google BigQuery 支援大型資料集的互動式分析,可協助企業輕鬆分享有意義的資料分析,並基於客戶分析開發相應解決方案。不過,許多企業雖採用 BigQuery,卻未藉助機器學習來更有效地理解企業產生的各項資料。原因在於,精通 SQL 的資料分析師可能不具備應用機器學習技術所需的傳統資料科學背景。

今天,我們宣佈推出 BigQuery ML,這是 BigQuery 內含的一項功能,可讓資料科學家和分析師根據大規模結構化或半結構化資料集構建並部署機器學習模型。BigQuery ML 是一組簡單的 SQL 語言擴充套件程式,支援使用者利用熱門的 ML 功能,執行預測性分析(例如預測銷售額)以及在已有資料儲存的源頭處建立客戶細分。此外,BigQuery ML 還會自動設定智慧預設選項及執行資料轉換,以出色結果提供無縫順暢的使用體驗。

在設計 BigQuery ML 後端時,開發團隊曾面臨窘境。在將大量資料從 BigQuery 伺服器傳輸至執行機器學習演算法的專用伺服器時,整個過程不僅耗時,而且會因安全和隱私方面的問題產生間接費用。然而,由於梯度下降法(機器學習演算法工作負載的優化方法)的核心元件可通過常見的 SQL 操作來實現*,因此我們得以將現有的 BigQuery SQL 處理引擎改作 BigQuery ML 之用。

BigQuery 引擎的設計宗旨在於有效掃描大型資料集,而非從中隨機抽取小型樣本,因此 BigQuery ML 是以標準(批量)梯度下降法為基礎,而非隨機梯度下降法。在當今的大規模機器學習系統中,隨機梯度下降法雖更為常見,但批量梯度下降法卻具有諸多實用優勢。

例如,基於隨機梯度下降法的資料庫內機器學習系統可逐一處理示例,而在資料次優排序時的表現卻不盡如人意。但是,BigQuery 通常在磁碟上分配資料,以便優化常規 SQL 查詢的效能,而為支援隨機機器學習演算法對資料進行的連續再分配,卻會帶來高昂的計算成本。相比之下,批量梯度下降法不會受到磁碟資料排序和分割槽的干擾,因此可以完全規避該問題。此外,批量梯度下降法還可結合使用經典優化法中的線搜尋方法,進而產生更穩定且需更少微調的學習演算法。而線搜尋與隨機梯度下降法的結合則更為複雜。我們還實現了對正則化和預處理的支援。如需了解更多詳情,請參閱我們的論文。

希望您能了解,BigQuery ML 可用於執行諸多預測分析任務。如需試用,請訪問 BigQuery 控制檯,並遵照使用者指南中的相關指示。建立模型易如反掌: CREATE MODEL dataset.model_name OPTIONS(model_type=’linear_reg’, input_label_cols=[‘input_label’]) AS SELECT * FROM input_table; 注:BigQuery 控制檯連結 console.cloud.google.com/bigquery?pl… 使用者指南連結cloud.google.com/bigquery/do…

今後,我們計劃在實施梯度下降時與 BigQuery 基礎架構進一步整合,以實現更顯著的效能提升。我們還將繼續探索其他機器學習演算法,以便使用者能夠輕鬆高效地實施這些演算法,並藉助 BigQuery 的強大功能應對大型問題。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 功能這麼強大的APP見過嗎?