本教學課程會說明如何部署及提供 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 密鑰。
將 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 時所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (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 時所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (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_CLUSTER_REGION:要建立 GKE 叢集的區域。您只能在預留項目所在的區域建立叢集。YOUR_CLUSTER_NAME:要建立的 GKE 叢集名稱。YOUR_HUGGING_FACE_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 密鑰來儲存 Hugging Face 憑證
如要建立 Kubernetes 密鑰來儲存 Hugging Face 憑證,請按照下列步驟操作:
設定
kubectl,與 GKE 叢集通訊:建立 Kubernetes 密鑰,內含您在前一個步驟中建立的 Hugging Face 權杖:
read access
將 vLLM 容器部署至 GKE 叢集
如要部署 vLLM 容器來提供 Llama-4-Scout-17B-16E-Instruct 模型服務,請按照下列步驟操作:
建立
vllm-l4-17b.yaml檔案,並選擇 vLLM 部署作業:將
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 密鑰,請執行下列指令:如要刪除 GKE 叢集,請執行下列指令:
刪除專案
刪除 Google Cloud 專案:
gcloud projects delete PROJECT_ID