資料存放在 BigQuery之後,我們後續的應用通常有兩種: BI or ML。
BI: 主要是使用 Dashboard 來呈現,我們在 Day 15 - Day 18 實作過。
ML: 這個是我們今天想要介紹的內容,主要是先介紹在GCP上,有哪些機器學習的方法,不過因為本次主題是 BigQuery,最後的實作會專注在 BigQuery ML。
機器學習
在 GCP 的世界中,我們可以使用的 ML,可以概略分為以下三大類:
這個是我們這次主題的主軸,因此後續也會用他來實作。
BigQuery ML 是一種用 SQL 語法來實現機器學習的功能,好處主要有兩點:
建置模型語法的長相如下:
使用BigQuery ML 範例: Create machine learning models in BigQuery ML
*註: BigQuery 也可以結合 Vertex AI 一起使用。
Vertex AI 是將 AutoML 和 AI platform結合的一站式服務,通過 Vertex AI這項服務,我們能夠從匯入資料、建立模型、模型佈署到端點和後續的模型調參,而且身為使用者,並不需要從頭到尾按步驟才能使用,我們也能夠只上傳先前就訓練好的模型去佈署。
是一種無須編寫程式就可以訓練模型的方式。
使用 AutoML 範例: Hello image data
則是讓使用者能夠自定義訓練的模型。
使用自定義訓練的模型範例: Hello custom training
因為目前 Google 已經將這兩者整合到 Vertex AI了,無論使用何種方式,訓練完成之後,都可以進行後續的模型保存、預測和佈署。
Vertex AI 底下還有一個特別的功能叫做 Vertex AI workbench,他的好處是我們前面講的匯入資料、建立模型、模型佈署到端點和後續的模型調參通通只要透過 jupyterlab 就能夠完成。不僅如此,也能選擇預設的 container 或是 自定義的 container 來訓練模型。
使用Vertex AI workbench範例: Getting started with Notebooks for machine learning
Pre-built APIs 是 Google 已經幫我們訓練好的 API,身為使用者只需要呼叫這個 API,即可做預測。 我們都知道好的機器學習模型常常需要大量的資料和時間來建置,使用這個方法的好處在於,他幫我們節省了資料收集、模型訓練和維運的時間,甚至在缺乏數據的情況下,他都是一個很不錯的選擇。 以下是幾個常用的 API:
透過 AutoML Vision 從圖片中取得深入分析結果。使用預先訓練的 Vision API 模型來偵測情緒及解讀文字。
將文字轉換為自然流暢的語音。
從非結構化的文字內容中取得深入分析結果。
將語音準確轉換為文字。
精準分析及辨識影片中的物件、地點和動作。
快速的動態機器翻譯,提供多種語言的內容與應用程式。
比較 | BigQuery ML | Vertex AI | Pre-built APIs |
---|---|---|---|
使用方法 | 類似 SQL 語法 | python, jupyterlab | call API |
支援的資料型態 | 結構化 | 結構化、影像、文字、聲音 | 結構化、影像、文字、聲音 |
ML 知識/ code 技能 | 中 | AutoML: 低 / 自訂義訓練: 高 | 低 |
好處 | 不需轉移數據/ 不需會寫python | 一站式服務/ 使用 Vertex AI workbench 可在 jupyterlab 底下完成一條龍機器學習專案。 | 無需自己訓練即可使用/ 缺乏資料的情況下非常合適。 |
範例 | Create machine learning models in BigQuery ML | 使用 AutoML 範例: Hello image data / 使用自定義訓練的模型範例: Hello custom training/ 使用Vertex AI workbench範例: Getting started with Notebooks for machine learning | Vision API: 試用範例 / Text to speech API:試用範例 / cloud natural language API: 試用範例 / Speech-to-Text API: 試用範例 |
到這裡,我們已經看完 GCP 上能夠做機器學習的選擇了。
下一篇,我們將針對 BigQuery ML 做介紹!
Introduction to Vertex AI Workbench