一、Vertex AI 是什麼?
Vertex AI 是 GCP 推出的 AI 開發平台,目的是為了簡化機器學習(ML)模型的開發、訓練、部署和管理。它包含了 AutoML 和自訂模型的建立和訓練,讓你能夠更輕鬆地運用 AI 技術,無論是沒有 AI 經驗的新手,還是 AI 的專家,都能利用這個平台加速 AI 產品開發。
記得 2022 年底 ChatGPT 爆紅的時候嗎?它讓大家第一次看到 AI 不只是冷冰冰的機器,而是能夠真正理解人類語言、寫文章、寫程式碼,甚至畫圖的強大工具。這種被稱為「生成式 AI」的技術,基本上就像是一個超級助手,你問什麼它就回答什麼。
不過科技永遠在進步,現在的 AI 已經不滿足於只是回答問題了。新一代的 AI,也就是所謂的 AI Agent(人工智慧代理)是一種能夠自行感知相關訊息、做出決定並執行各項行動的智慧系統。它可以根據資料分析和機器學習來適應不同情境,還能夠不斷改善自身的行為。
資料來源:擷圖自 GCP 官方文件
Vertex AI 三大功能簡介
說到企業應用,GCP 推出的 Vertex AI 平台就很適合企業用戶來開發。它就像是一個完整的 AI 工具箱,裡面有三個主要部分:
Agent Builder
這是專門用來建立 AI 助手的工具。企業可以用它來設計 AI 助手的各種功能,比如處理客服問題、管理內部系統等。
Model Builder
這個工具可以幫助企業打造自己的 AI 模型。它把複雜的機器學習過程變得簡單,就像是用積木搭建東西一樣容易。
Model Garden(模型花園)
你可以把它想像成一個大型的 AI 模型商店,裡面有 Google 自己的模型,也有其他公司的模型,企業可以直接挑選合適的來用。
三者之間的關係
- Agent Builder 可以用少數 Model Garden 的模型,但仍以本身的對話和搜尋功能為主。
- Model Builder 專注在機器學習,少數情況下可以微調給 Agent Builder 使用。
- Model Garden 提供預先訓練好的模型,給 Model Builder 微調,或是 Agent Builder 開發成應用程式。
- 三者之間部分互相整合,但仍然以獨立功能為主。
資料來源:自行繪製
二、Agent Builder:低程式碼 (Low Code) 的 AI Agent 開發工具
Agent Builder 簡介
Agent Builder 是一個專門用於建立 AI Agent 的平台。它不僅整合了大型語言模型與 GCP 的各項服務,還支持廣泛的工具整合和客製化。通過直觀的對話流程設計和完善的測試功能,企業可以快速建立符合需求的 AI Agent。同時,平台還特別注重安全性和可控性,確保 AI 應用符合企業的管理規範。Agent Builder 主要包含兩個部分:
Vertex AI Agents(AI 助理)
這是一個能讓你的應用程式理解人類語言的系統。比如說你可以用它來做聊天機器人、語音助理和任何需要和使用者對話的功能,重點是它能聽懂使用者說什麼,並給出合適的回應。它的功能包含:
- 自然語言理解 – 能夠理解用戶的意圖和需求
- 多模態理解 – 可處理文字、圖片、聲音等多種形式的輸入
- 工具整合 – 可連接外部服務和 API
- 知識庫 – 能夠訪問和利用企業的數據資源
- 對話管理 – 維持上下文和管理對話流程
- 多語言支持 – 支持多種語言的互動
資料來源:自行繪製
Vertex AI Search
這是一個進階的搜尋系統,讓你能在網站或 APP 中加入強大的搜尋功能。用途包含:
搜尋功能:一般搜尋:跟 Google 搜尋一樣,但它是搜尋你自己的網站。影音搜尋:特別適合用來搜尋影片和音樂這類的內容。醫療資料搜尋:專門用來搜尋醫療紀錄的功能。
推薦功能:影音推薦:根據使用者在看什麼來推薦相關影片。一般推薦:推薦任何種類的內容(目前還在測試階段)。
Vertex AI Search 特別好用的地方
1. 很聰明:它能理解人類的說話方式,不會只找關鍵字。
2. 容易使用:自動修正錯字、建議搜尋和理解同義詞。
3. 有 AI 對話功能:可以用對話的方式來搜尋資料。
4. 會自己學習:會從使用者的使用習慣中學習,變得更準確。
5. 適合醫療用途:不需要特殊的搜尋語法,就能找到醫療資料。
簡單說,它就是讓你的網站或 APP 變得更聰明的工具包,能幫助使用者更容易找到他們要的東西,也能推薦他們可能感興趣的內容。
資料來源:自行繪製
Vertex AI 操作示範
在現今 AI 浪潮下,擁有一個能理解並回應使用者需求的智慧 Agent 已成為企業提升效率、改善客戶體驗的關鍵。Google Cloud 的 Vertex AI Agent Builder 提供了一個強大且易於使用的平台,讓您無需程式設計背景,也能快速打造出功能完善的 AI Agent。
然而,面對琳瑯滿目的功能和設定選項,您是否感到不知從何下手?
別擔心!思想科技與東東老師合作製作了這份《Vertex AI Agent Builder 手把手設定教學》,正是 Vertex AI Agent Builder 的入門指南~無論您是 AI 開發新手,或是希望快速導入 AI Agent 技術的 IT 人員,都能輕鬆上手,將創新構想付諸實踐。
>>> 了解 Vertex AI 核心功能(上)Agent Builder 和 Model Builder
>>> 了解 Vertex AI 核心功能(下)Model Garden
.png)
三、Model Builder:簡化 AI 模型的開發與訓練
Model Builder(模型建造器),這個工具可以幫助企業打造自己的 AI 模型。它把複雜的機器學習過程變得簡單,就像是用積木搭建東西一樣容易。目前有兩種建立 Model 的方法:
Custom Training 客製化的訓練
Vertex AI 提供代管的模型訓練服務,如果你是一位 AI 專家,了解各種 AI 的演算法,可以自己撰寫程式來開發 AI 模型。你就可以在 GCP 上面使用現成的模型開發環境,而不需要自己建立各種基礎建設。
AutoML
如果你不是 AI 專家怎麼辦?AutoML 讓你不用自己撰寫演算法,就可以開發和訓練 AI 模型。 畢竟對大多數的人來說,並非人人都是 AI 專家。你可能是胸腔內科醫生、電子商務的行銷人員或正在判斷建築物類型,AI 的技術對你來說是一個門檻,但是不用擔心,你只要把手上的資料準備好,就可以讓 Google 來幫你建立和訓練 AI 模型。
假設你是一個行銷人員,你的手上有網站使用者的資料和過去的消費紀錄,你想要提高使用者購買產品的機率,但是你不知道該怎麼做。
你手上已經有一張表格包含特徵(使用者的屬性和行為)和標籤 (購買金額),你可以直接讓 AutoML 幫你建立和訓練模型。
這個模型可以幫你分類使用者,是屬於哪一種類型,例如瀏覽者、時尚前衛、最後一刻購物者或是折扣愛好者。
當模型訓練完成,部署上線之後,每當新的使用者進來,你的模型可以很快判斷,他是哪一種類型的使用者,你就可以立即提供適合他的促銷方案,進而帶動產品的銷售。
資料來源:擷圖自 GCP 官方文件
簡單的操作示範
這個示範來自 Identify Damaged Car Parts with Vertex AutoML Vision,我們要建立一個照片辨認的模型,這個模型要從一堆損壞的汽車照片當中,判斷它到底是哪一種零件。首先我們來啟用 Cloud Shell:
資料來源:擷圖自 GCP 主控台
首先設定兩個環境變數,之後執行相關指令會用到:
export PROJECT_ID=[ 你的專案 ID ]
export BUCKET=[ 你之後要建立的 Cloud Storage Bucket ID ]
資料來源:擷圖自 GCP 主控台
再執行建立 Bucket 的指令:
gsutil mb -p $PROJECT_ID -c standard -l us-central1 gs://$[BUCKET]
資料來源:擷圖自 GCP 主控台
接下來我們把 Google 公開 Bucket 的資料,也就是汽車的照片,複製到我們剛建好的 Bucket:
gsutil -m cp -r gs://car_damage_lab_images/* gs://${BUCKET}
資料來源:擷圖自 GCP 主控台
光是有照片本身還不夠,因為機器學習的過程中,你需要給 AutoML 一張表格,告訴它哪些照片(特徵)是屬於哪一種汽車零件(標籤),我們執行指令去取得表格:
gsutil cp gs://car_damage_lab_metadata/data.csv .
我們可以看到如下的表格,可以知道前面 18 張都是屬於保險桿的照片,我們之後要傳給 AutoML,就像在教小嬰兒看動物照片那樣。
另外這些照片的儲存位置,我們也要改成在我們專案環境裡面的位置,如下圖紅色框選處:
資料來源:擷圖自 GCP 主控台
我們可以執行這個指令,來批次修改這個檔案的內容:
sed -i -e “s/car_damage_lab_images/${BUCKET}/g” ./data.csv
執行完就可以看到每個照片的檔案路徑都一口氣改好了:
資料來源:擷圖自 GCP 主控台
目前這個表格檔案還是放在 Cloud Shell,我們現在要把它複製到跟照片同樣的 Bucket 位置:
gsutil cp ./data.csv gs://${BUCKET}
資料來源:擷圖自 GCP 主控台
接下來我們進入 Vetex Ai,並且啟用建議的 API:
資料來源:擷圖自 GCP 主控台
我們剛剛準備好的資料是放在 Cloud Storage ,而 Vertex AI 還不知道,我們必須要在這邊再建立一次資料集,讓它知道這個資料是要拿來訓練模型用的:
資料來源:擷圖自 GCP 主控台
我們輸入資料集的名稱,然後在資料類型選擇「圖片」,分類方式選擇「單一標籤分類」,接著按下「建立」:
資料來源:擷圖自 GCP 主控台
然後我們在「選取匯入方法」當中,選擇從「Cloud Storage 選取匯入檔案」,接著打開選取物件的視窗,找到我們剛剛準備好的表格,再按下「選取」:
資料來源:擷圖自 GCP 主控台
我們在「匯入檔案路徑」欄位會看到綠色勾勾,表示它有讀取到檔案,我們再按「繼續」。畫面會跳轉到正在執行匯入流程的頁面,然後等待資料匯入完成:
資料來源:擷圖自 GCP 主控台
當資料匯入完成,我們也會收到一封通知信,告訴你匯入作業成功,我們可以點擊上面提供的超連結,直接進入資料集的畫面:
資料來源:擷圖自 Gmail
你會看到它匯入了 100 張照片,這些照片都已經設定好標籤。我們可以在這個畫面調整標籤,如果確認資料都沒問題,可以按下右上角的「訓練新模型」:
資料來源:擷圖自 GCP 主控台
在訓練方法的部分我們選擇 AutoML,然後按下繼續:
資料來源:擷圖自 GCP 主控台
在這一頁,我們選擇「訓練新的模型」,加上模型的名稱,再按繼續:
資料來源:擷圖自 GCP 主控台
在訓練選項的部分,選擇「Higher accuracy (new) 」,再按繼續:
資料來源:擷圖自 GCP 主控台
在預算的部分要注意,最短的訓練時常為 8 小時,即使你的資料不多,它還是會以 8 小時計費,而每個小時的費用是 3.465 美金, 所以你訓練一次至少要花費 27.72 美金,如果不想花到這麼高的費用可以去 GCP 提供的 Lab 環境 操作。接著我們按下「開始訓練」:
資料來源:擷圖自 GCP 主控台
大概 1 小時後,我們又收到了模型訓練完成的通知信,可以直接點擊它所提供的連結:
51 收到模型訓練完成的通知信
資料來源:擷圖自 Gmail
接下來我們會以 Vertex AI Lab 的擷圖來展示後續成果,因為它有提供 Cloud Run 做為 Model 上線運作的 AI 服務端點,可以直接呼叫。
我們就來將幾張測試圖片傳送給這個 Model 來分辨,我們再次打開 Cloud Shell,並且設定環境變數:
AUTOML_PROXY=https://automl-proxy-646123337508.us-centrall.run.app
INPUT DATA FILE=payload.json
52 設定環境變數
資料來源:擷圖自 GCP 主控台
上圖的環境變數中,我們有設定 INPUT_DATA_FILE=payload.json,它會包含我們要給模型判斷的圖片檔,但目前這個檔案還不存在。所以我們要建立 payload.json 檔案,把我們要測試的圖片藉由這個檔案送去給 Model 判斷。
你可能覺得奇怪,文字檔怎麼放圖?
我們不是直接上傳圖片,而是透過指令來傳送檔案,透過 Base64 Image Encoder 把圖片轉成 Base64 格式,只要把圖片拖曳進入網頁,它就產生 Base64 的字串,你看起來是亂碼,不要懷疑,它就是圖片的 Base64 格式, 把它複製起來:
53 拖曳 Image1 到 Encoder 生成 Base64 字串
資料來源:擷圖自 Base64 Image Encoder
接下來我們會以 Vertex AI Lab 的擷圖來展示後續成果,因為它有提供 Cloud Run 做為 Model 上線運作的 AI 服務端點,可以直接呼叫。
我們就來將幾張測試圖片傳送給這個 Model 來分辨,我們再次打開 Cloud Shell,並且設定環境變數:
AUTOML_PROXY=https://automl-proxy-646123337508.us-centrall.run.app
INPUT DATA FILE=payload.json
資料來源:擷圖自 GCP 主控台
上圖的環境變數中,我們有設定 INPUT_DATA_FILE=payload.json,它會包含我們要給模型判斷的圖片檔,但目前這個檔案還不存在。所以我們要建立 payload.json 檔案,把我們要測試的圖片藉由這個檔案送去給 Model 判斷。
你可能覺得奇怪,文字檔怎麼放圖?
我們不是直接上傳圖片,而是透過指令來傳送檔案,透過 Base64 Image Encoder 把圖片轉成 Base64 格式,只要把圖片拖曳進入網頁,它就產生 Base64 的字串,你看起來是亂碼,不要懷疑,它就是圖片的 Base64 格式, 把它複製起來:
資料來源:擷圖自 Base64 Image Encoder
接著打開 Cloud Shell 的檔案編輯器,將字串貼到 payload.json 檔案的 content 欄位,你會覺得怪怪的,但不要懷疑這是正確的:
資料來源:擷圖自 GCP 主控台
現在我們可以開始測試了,執行下方指令,把圖片傳到 Cloud Run 去判斷:
curl -X POST -H “Content-Type: application/json” $AUTOML_PROXY/v1 -d “@${INPUT_DATA_FILE}”
在它傳回的資料當中,Conficences 95% 指的是信心水準,代表我們有 95% 的信心相信它判斷的準確度,Display Name 寫的是「bumper」保險桿,可以知道他的判斷是正確的:
資料來源:擷圖自 GCP 主控台
我們用相同指令再傳送另一張圖片給它,得到 96% 的信心水準,它的判斷是「hood」引擎蓋,也是正確的:
資料來源:擷圖自 GCP 主控台
到這裡代表我們已經成功建立一個 AI 模型囉!過程中主要在準備資料,後執行一些指令,還沒到寫程式的程度喔!
文章轉載自《東東GCP 教學》網站






