worker 集區的 GPU 支援

本頁介紹 Cloud Run 工作池的 GPU 配置。 Google 提供 NVIDIA RTX PRO 6000 Blackwell GPU (96 GB GPU 記憶體 (VRAM)) 和 NVIDIA L4 GPU (24 GB GPU 記憶體 (VRAM)),與執行個體記憶體不同。

Cloud Run GPU 為全代管服務,不需要額外的驅動程式或程式庫。GPU 功能提供隨選可用性,無須預訂,與 Cloud Run 中的隨選 CPU 和隨選記憶體運作方式類似。

附加 NVIDIA RTX PRO 6000 Blackwell GPU 或 L4 GPU 並預先安裝驅動程式的 Cloud Run 執行個體,大約會在 5 秒內啟動,屆時容器中執行的程序即可開始使用 GPU。

每個 Cloud Run 執行個體可以設定一個 GPU。如果您使用 Sidecar 容器,請注意 GPU 只能附加至一個容器。

支援的 GPU 類型

Cloud Run 支援兩種 GPU:

  • NVIDIA RTX PRO 6000 Blackwell GPU,搭配目前的 NVIDIA 驅動程式版本:580.x.x (13.0)。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,最少須使用 20 個 CPU 和 80 GiB 記憶體。
  • L4 GPU,搭配目前的 NVIDIA 驅動程式版本:580.x.x (13.0)。使用 L4 GPU 時,CPU 數量下限為 4 個,記憶體下限為 16 GiB。

支援的地區

NVIDIA RTX PRO 6000 Blackwell GPU 支援下列區域:

L4 GPU 支援下列地區:

  • asia-southeast1 (新加坡)
  • asia-south1 (孟買) 。這個區域僅限受邀者使用。 如有興趣,請與 Google 帳戶團隊聯絡。
  • europe-west1 (比利時) 節能綠葉圖示 二氧化碳排放量低
  • europe-west4 (荷蘭) 節能綠葉圖示 二氧化碳排放量低
  • us-central1 (愛荷華州) 節能綠葉圖示 二氧化碳排放量低 。如要在這個區域進一步擴充資源,可能需要申請增加配額。 如有意使用這個區域,請與 Google 帳戶團隊聯絡。
  • us-east4 (北維吉尼亞州) 。如要在這個區域進一步擴充資源,可能需要申請增加配額。 如有意使用這個區域,請與 Google 帳戶團隊聯絡。

價格影響

如需 GPU 定價詳情,請參閱「Cloud Run 定價」。請注意下列規定和考量事項:

  • GPU 可用區備援機制和非可用區備援機制的費用不同。如需 GPU 定價詳情,請參閱「Cloud Run 定價」。
  • GPU 工作池無法自動擴充功能。即使 GPU 沒有執行任何進程,只要工作池 GPU 執行個體正在執行,您仍需支付 GPU 費用。
  • 工作池的 CPU 和記憶體定價與服務和作業的定價不同。但是,GPU SKU 的定價與服務和工作的價格相同。
  • 資源的 CPU 和記憶體設定。
  • 系統會針對執行個體生命週期的整個期間收取 GPU 費用。

GPU 可用區備援機制選項

根據預設,Cloud Run 會在單一區域內的多個可用區部署工作站集區。這項架構具有固有的韌性:如果某個可用區發生中斷情形,Cloud Run 會自動將流量從受影響的可用區,重新導向至同一區域內運作正常的可用區。

使用 GPU 資源時,請注意 GPU 資源有特定的容量限制。在可用區中斷期間,GPU 工作負載的標準容錯移轉機制會仰賴剩餘正常可用區中是否有足夠的未使用 GPU 容量。由於 GPU 資源有限,這項容量可能無法隨時供應。

如要提高 GPU 加速工作站集區在可用區服務中斷期間的可用性,您可以專為 GPU 設定可用區備援機制:

  • 啟用可用區備援機制 (預設):Cloud Run 會在多個可用區為工作站集區保留 GPU 運算資源。這大幅提高了工作人員集區成功處理從受影響可用區重新導向流量的機率,在可用區發生故障時提供更高的可靠性,但每秒 GPU 的費用較高。

  • 可用區備援機制已關閉:Cloud Run 會盡量為 GPU 工作負載執行容錯移轉,只有在當時有足夠的 GPU 容量時,流量才會轉送至其他可用區。這個選項無法保證容錯移轉情境的預留容量,但每秒 GPU 的費用較低。

服務水準協議

Cloud Run GPU 的服務水準協議取決於工作站集區使用的選項是可用區備援機制還是非可用區備援機制。 詳情請參閱 SLA 頁面

申請提高配額

系統會以毫 GPU 為單位,授予 Cloud Run nvidia-rtx-pro-6000 GPU 配額。 專案首次在某個區域使用 nvidia-rtx-pro-6000 GPU 時,系統會在建立第一個部署作業時,自動授予 3,000 milliGPU 配額 (區域備援關閉)。這相當於 3 個 GPU。首次在區域中使用 Cloud Run nvidia-l4 GPU 的專案,在建立第一個部署作業時,系統會自動授予 3 個 GPU 配額 (關閉可用區備援)。

如需更多 Cloud Run GPU,請為 Cloud Run 工作站集區申請提高配額。請使用下列按鈕提供的連結,申請所需配額。

需要配額 配額連結
NVIDIA RTX PRO 6000 Blackwell GPU,並關閉區域備援功能 (價格較低) 申請無可用區備援的 GPU 配額
NVIDIA RTX PRO 6000 Blackwell GPU,並開啟區域備援 (價格較高) 申請可用區備援 GPU 配額
關閉可用區備援的 L4 GPU (價格較低) 申請無可用區備援的 GPU 配額
啟用可用區備援機制的 L4 GPU (價格較高) 申請可用區備援 GPU 配額

如要進一步瞭解如何要求增加配額,請參閱「如何增加配額」。

事前準備

在 Cloud Run 中使用 GPU 時,請注意下列需求和限制:

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 啟用 Cloud Run API。

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    啟用 API

  7. 申請所需配額
  8. 請參閱 GPU 最佳實務:使用 GPU 的 Cloud Run 工作池,以瞭解建置容器映像和載入大型模型的建議。
  9. 請確保您的 Cloud Run 工作池具有以下配置:
    • 將帳單設定變更為以執行個體為依據。請注意,設定為基於實例計費的工作池仍然可以縮減到零。
    • 如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,請設定至少 20 個 CPU 和至少 80 GiB 的記憶體
    • 對於 L4 GPU,請為您的工作池配置至少 4 個 CPU,建議配置 8 個 CPU,以及至少 16 GiB 記憶體,建議配置 32 GiB。
    • 確定並設定 GPU 使用的最佳最大同時數。

必要的角色

若要取得設定和部署 Cloud Run 工作池所需的權限,請管理員授予您對工作池的下列 IAM 角色:

  • Cloud Run Developer (roles/run.developer) - Cloud Run 工作池
  • 服務帳戶使用者 (roles/iam.serviceAccountUser) - 服務身分

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 工作人員集區與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

配置有 GPU 的 Cloud Run 工作池

變更任何設定都會建立新的修訂版本。除非您明確做出更新,改變這項設定,否則後續的修訂版本也會自動取得這個設定。

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 設定 GPU。

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 從 Cloud Run 導覽功能表中選擇 Worker Pools,然後按一下 Deploy container 配置新的工作池。 如要設定現有 worker 集區,請按一下該 worker 集區,然後按一下「Edit and deploy new revision」(編輯並部署新修訂版本)

  3. 如果您要設定新的工作池,請填寫初始工作池設定頁面,然後按一下 容器、網路、安全性 以展開工作池設定頁面。

  4. 按一下「Containers」分頁標籤。

    圖片

    • 請依照開始之前中的建議配置 CPU、記憶體、並發、執行環境和啟動探測。
    • 選取 GPU 複選框,然後從 GPU 類型 選單中選擇 GPU 類型,再從 GPU 數量 選單中選擇 GPU 數量。
    • 預設情況下,區域冗餘已啟用。若要變更目前設置,請選取 GPU 複選框以顯示 GPU 冗餘 選項。
      • 選擇無區域冗餘以關閉區域冗餘
      • 選擇 區域冗餘 以啟用區域冗餘。
  5. 按一下 [Create] (建立) 或 [Deploy] (部署)

gcloud

若要建立啟用 GPU 的工作池,請使用 gcloud run worker-pools deploy 指令:

  gcloud run worker-pools deploy WORKER_POOL \
    --image IMAGE_URL \
    --gpu 1

更改下列內容:

  • WORKER_POOL:Cloud Run worker 集區的名稱。
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest

若要更新工作池的 GPU 配置,請使用 gcloud run worker-pools update 指令:

  gcloud run worker-pools update WORKER_POOL \
    --image IMAGE_URL \
    --cpu CPU \
    --memory MEMORY \
    --gpu GPU_NUMBER \
    --gpu-type GPU_TYPE \
    --GPU_ZONAL_REDUNDANCY
    

更改下列內容:

  • WORKER_POOL:Cloud Run worker 集區的名稱。
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • CPU:CPU 數量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,您必須指定至少 20 個 CPU。如為 NVIDIA L4 GPU,您必須指定至少 4 個 CPU。
  • MEMORY:記憶體容量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,至少須指定 80Gi (80 GiB)。如果是 NVIDIA L4 GPU,則必須指定至少 16Gi (16 GiB)。
  • GPU_NUMBER:值 1 (一)。如果未指定這個值,但存在 GPU_TYPE,則預設值為 1
  • GPU_TYPE:GPU 類型。NVIDIA RTX PRO 6000 Blackwell GPU,然後按下 nvidia-rtx-pro-6000。如果是 L4 GPU,請輸入 nvidia-l4 值 (nvidia-L4,小寫 L,不是數字 14)。
  • GPU_ZONAL_REDUNDANCYno-gpu-zonal-redundancy 可關閉區域備援,gpu-zonal-redundancy 則可開啟區域備援。

YAML

  1. 如要建立新的工作站集區,請略過這個步驟。 如要更新現有工作站集區,請下載 YAML 設定

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. 更新 nvidia.com/gpu: 屬性和 nodeSelector:
    run.googleapis.com/accelerator:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY'
        spec:
          containers:
          - image: IMAGE_URL
            resources:
              limits:
                cpu: 'CPU'
                memory: 'MEMORY'
                nvidia.com/gpu: '1'
          nodeSelector:
            run.googleapis.com/accelerator: GPU_TYPE

    更改下列內容:

    • WORKER_POOL:Cloud Run worker 集區的名稱。
    • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
    • CPU:CPU 數量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,您必須至少指定 20 個 CPU。如要使用 L4 GPU,至少須指定 4 個 CPU。
    • MEMORY:記憶體容量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,至少須指定 80Gi (80 GiB)。對於 L4 GPU,必須至少指定 16Gi (16 GiB)。
    • GPU_TYPE:GPU 類型。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,請輸入 nvidia-rtx-pro-6000。如果是 L4 GPU,請輸入 nvidia-l4 值 (nvidia-L4,小寫 L,不是數字 14)。
    • GPU_ZONAL_REDUNDANCYfalse 可開啟 GPU 可用區備援機制,true 則可關閉。
  3. 使用下列指令建立或更新工作站集區:

    gcloud run worker-pools replace worker-pool.yaml

    如果存在 worker-pool.yaml 檔案,gcloud run worker-pools replace 指令預設會使用該檔案。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

resource "google_cloud_run_v2_worker_pool" "default" {
  provider = google-beta
  name     = "WORKER_POOL"
  location = "REGION"

  template {
    gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          "cpu" = "CPU"
          "memory" = "MEMORY"
          "nvidia.com/gpu" = "1"
        }
      }
    }
    node_selector {
      accelerator = "GPU_TYPE"
    }
  }
}

更改下列內容:

  • WORKER_POOL:Cloud Run worker 集區的名稱。
  • GPU_ZONAL_REDUNDANCYfalse 可開啟 GPU 可用區備援機制,true 則可關閉。
  • IMAGE_URL:包含工作站集區的容器映像檔參照,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • CPU:CPU 數量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,您必須指定至少 20 個 CPU。如為 NVIDIA L4 GPU,您必須指定至少 4 個 CPU。
  • MEMORY:記憶體容量。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,至少須指定 80Gi (80 GiB)。如果是 NVIDIA L4 GPU,則必須指定至少 16Gi (16 GiB)。
  • GPU_TYPE:GPU 類型。NVIDIA RTX PRO 6000 Blackwell GPU,然後按下 nvidia-rtx-pro-6000。如果是 L4 GPU,請輸入 nvidia-l4 值 (nvidia-L4,小寫 L,不是數字 14)。

查看 GPU 設定

若要查看 Cloud Run 工作池的目前 GPU 設定:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run 工作人員集區頁面:

    前往 Cloud Run worker 集區

  2. 按一下所需的工作站集區,開啟「工作站集區詳細資料」頁面。

  3. 按一下「編輯及部署新的修訂版本」

  4. 在配置詳情中找到 GPU 設定。

gcloud

  1. 使用下列指令:

    gcloud run worker-pools describe WORKER_POOL
  2. 在傳回的設定中找出 GPU 設定。

移除 GPU

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 移除 GPU。

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run:

    前往 Cloud Run

  2. 從 Cloud Run 導覽選單選取「工作站集區」,然後按一下「部署容器」,設定新的工作站集區。如要設定現有 worker 集區,請按一下該 worker 集區,然後按一下「Edit and deploy new revision」(編輯並部署新修訂版本)

  3. 如果您要設定新的工作池,請填寫初始工作池設定頁面,然後按一下 容器、網路、安全性 以展開工作池設定頁面。

  4. 按一下「Containers」分頁標籤。

圖片

  • 取消勾選 GPU 複選框。
  1. 按一下 [Create] (建立) 或 [Deploy] (部署)

gcloud

若要移除 GPU,請將 GPU 數量設定為 0

  gcloud run worker-pools update WORKER_POOL --gpu 0
  

WORKER_POOL 替換為您的 Cloud Run 工作池的名稱。

YAML

  1. 如要建立新的工作站集區,請略過這個步驟。 如要更新現有工作站集區,請下載 YAML 設定

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. 刪除 nvidia.com/gpu:nodeSelector: run.googleapis.com/accelerator: GPU_TYPE 行。

  3. 使用下列指令建立或更新工作站集區:

    gcloud run worker-pools replace worker-pool.yaml

    如果存在 worker-pool.yaml 檔案,gcloud run worker-pools replace 指令預設會使用該檔案。

驅動程式庫

根據預設,所有 NVIDIA RTX PRO 6000 Blackwell GPU 和 NVIDIA L4 GPU 驅動程式庫都會掛接在 /usr/local/nvidia/lib64 下方。Cloud Run 會自動將這個路徑附加至容器的 LD_LIBRARY_PATH 環境變數 (即 ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64),並搭配 GPU 使用。這樣動態連結器就能找到 NVIDIA 驅動程式程式庫。連結器會依您在 LD_LIBRARY_PATH 環境變數中列出的順序,搜尋並解析路徑。您在這個變數中指定的任何值,都會優先於預設的 Cloud Run 驅動程式程式庫路徑 /usr/local/nvidia/lib64

如要使用 13.0 以上版本的 CUDA,最簡單的方法是依附於較新的 NVIDIA 基本映像檔,其中已安裝向前相容套件。你也可以手動安裝 NVIDIA 前向相容性套件,並將這些套件新增至 LD_LIBRARY_PATH。請參閱 NVIDIA 的相容性矩陣,判斷哪些 CUDA 版本與提供的 NVIDIA 驅動程式版本向前相容。