本教學課程會說明如何部署及提供 Llama 4 Scout (17Bx16E) 服務,這是一個 17B 大型語言模型 (LLM),並使用 vLLM 架構提供服務。您將學會在 Google Kubernetes Engine (GKE) 的單一 A4 虛擬機器 (VM) 執行個體上部署這個模型。
本教學課程適用於機器學習 (ML) 工程師、平台管理員和營運人員,以及有興趣使用 Kubernetes 容器自動化調度管理功能處理推論工作負載的資料和 AI 專家。
目標
使用 Hugging Face 存取 Llama 4。
準備環境。
在 Autopilot 模式中建立 GKE 叢集。
建立 Hugging Face 憑證的 Kubernetes Secret。
將 vLLM 容器部署至 GKE 叢集。
使用 curl 與 Llama 4 互動。
清除所用資源。
費用
本教學課程會使用 Google Cloud 的計費元件,包括:
如要根據預測用量估算費用,請使用 Pricing Calculator。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自體驗產品的實際應用成效。新客戶還能獲得價值 $300 美元的免費抵免額,能用於執行、測試及部署工作負載。
-
安裝 Google Cloud CLI。
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
-
建立專案:如要建立專案,您需要專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為要建立的專案名稱。 Google Cloud -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
如果尚未啟用必要的 API,請按照下列步驟啟用:
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。gcloud services enable container.googleapis.com
-
安裝 Google Cloud CLI。
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
-
建立專案:如要建立專案,您需要專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為要建立的專案名稱。 Google Cloud -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
如果尚未啟用必要的 API,請按照下列步驟啟用:
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。gcloud services enable container.googleapis.com
-
將角色授予使用者帳戶。針對下列每個 IAM 角色,執行一次下列指令:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
更改下列內容:
PROJECT_ID:專案 ID。USER_IDENTIFIER:使用者帳戶的 ID。 例如:myemail@example.com。ROLE:授予使用者帳戶的 IAM 角色。
- 登入或建立 Hugging Face 帳戶。
使用 Hugging Face 存取 Llama 4
如要使用 Hugging Face 存取 Llama 4,請按照下列步驟操作:
- 簽署同意聲明協議,即可使用 Llama 4。
- 建立 Hugging Face
read存取權杖。 - 複製並儲存
read存取權杖值。本教學課程稍後會用到。
準備環境
如要準備環境,請設定下列變數:
更改下列內容:
YOUR_PROJECT_ID:您要在 Google Cloud 專案中建立 GKE 叢集,請輸入該專案的 ID。YOUR_RESERVATION_NAME:要用於建立 GKE 叢集的預訂網址。根據預留項目所在的專案,指定下列其中一個值:專案中已有預留項目:
YOUR_RESERVATION_NAME預留項目位於其他專案,但您的專案可以使用該預留項目。指定完整路徑,通常稱為
RESERVATION_URL:projects/YOUR_RESERVATION_PROJECT_ID/reservations/YOUR_RESERVATION_NAME。將YOUR_RESERVATION_PROJECT_ID替換為建立共用預留資源的專案 ID。請確認專案具備必要權限,可使用其他專案的預留空間。
YOUR_REGION:要建立 GKE 叢集的區域。您只能在預留項目所在的區域建立叢集。YOUR_CLUSTER_NAME:要建立的 GKE 叢集名稱。YOUR_HF_TOKEN:您在上一節中建立的 Hugging Face 存取權杖。YOUR_NETWORK_NAME:GKE 叢集使用的網路。請指定下列其中一個值:如果您建立的是自訂網路,請指定網路名稱。
否則,請指定
default。
YOUR_SUBNETWORK_NAME:GKE 叢集使用的子網路。請指定下列其中一個值:如果您建立的是自訂子網路,請指定子網路名稱。您只能指定與預留項目位於相同區域的子網路。
否則,請指定
default。
建立及設定 Google Cloud 資源
請按照本節中的操作說明建立必要資源。
在 Autopilot 模式中建立 GKE 叢集
如要在 Autopilot 模式中建立 GKE 叢集,請執行下列指令:
建立 GKE 叢集可能需要一段時間。 如要確認 Google Cloud 已完成叢集建立作業,請前往 Google Cloud 控制台的「Kubernetes clusters」(Kubernetes 叢集)。
建立 Kubernetes Secret 來儲存 Hugging Face 憑證
如要建立 Kubernetes Secret 來儲存 Hugging Face 憑證,請執行下列操作:
設定
kubectl,與 GKE 叢集通訊:建立包含您在前述步驟中建立的 Hugging Face
read access權杖的 Kubernetes Secret:
將 vLLM 容器部署至 GKE 叢集
如要部署 vLLM 容器來提供 Llama-4-Scout-17B-16E-Instruct 模型服務,請按照下列步驟操作:
使用所選 vLLM 部署作業建立
vllm-l4-17b.yaml檔案:將
vllm-l4-17b.yaml檔案套用至 GKE 叢集:部署期間,容器必須從 Hugging Face 下載
Llama-4-Scout-17B-16E-Instruct模型。因此,容器部署作業最多可能需要 30 分鐘才能完成。如要查看完成狀態,請執行下列指令:
--timeout=3000s標記可讓指令監控部署作業最多 50 分鐘。
使用 curl 與 Llama 4 互動
如要驗證您部署的 Llama 4 Scout 模型,請按照下列步驟操作:
設定通訊埠轉送至 Llama 4 Scout:
開啟新的終端機視窗。然後,您可以使用
curl與模型對話:輸出內容大致如下:
{ "id": "chatcmpl-ec0ad6310c494a889b17600881c06e3d", "object": "chat.completion", "created": 1754073279, "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A sailboat is a type of watercraft that uses the wind for propulsion, typically featuring a hull, mast, and one or more sails.", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": null }, "logprobs": null, "finish_reason": "stop", "stop_reason": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 19, "total_tokens": 49, "completion_tokens": 30, "prompt_tokens_details": null }, "prompt_logprobs": null, "kv_transfer_params": null }
觀察模型成效
如要觀察模型效能,可以使用 Cloud Monitoring 中的 vLLM 資訊主頁整合功能。您可以使用這個資訊主頁查看重要效能指標,例如權杖處理量、要求延遲和錯誤率。
如要瞭解如何使用 Google Cloud Managed Service for Prometheus 從模型收集指標,請參閱 Cloud Monitoring 說明文件中的 vLLM 可觀測性指南。
清除所用資源
為避免因為本教學課程所用資源,導致系統向 Google Cloud 帳戶收取費用,請刪除含有相關資源的專案,或者保留專案但刪除個別資源。
刪除資源
如要刪除
vllm-l4-17b.yaml檔案中的部署作業和服務,以及 GKE 叢集中的 Kubernetes Secret,請執行下列指令:如要刪除 GKE 叢集,請執行下列指令:
刪除專案
刪除 Google Cloud 專案:
gcloud projects delete PROJECT_ID