本頁面說明如何為 Cloud Run 作業設定 GPU。GPU 非常適合用於 AI 工作負載,例如使用偏好的架構訓練大型語言模型 (LLM)、對 LLM 執行批次或離線推論,以及處理其他運算密集型工作,例如以背景工作處理影片和算繪圖像。Google 提供 NVIDIA L4 GPU,具備 24 GB 的 GPU 記憶體 (VRAM);以及 NVIDIA RTX PRO 6000 Blackwell GPU (預先發布版),具備 96 GB 的 GPU 記憶體 (VRAM),與執行個體記憶體不同。
Cloud Run GPU 為全代管服務,不需要額外的驅動程式或程式庫。GPU 功能提供隨選可用性,無須預訂,與 Cloud Run 中的隨選 CPU 和隨選記憶體運作方式類似。
如果 Cloud Run 執行個體已連結 L4 或 NVIDIA RTX PRO 6000 Blackwell GPU,且預先安裝了驅動程式,大約 5 秒後就會啟動,屆時容器中執行的程序就能開始使用 GPU。
每個 Cloud Run 執行個體可以設定一個 GPU。如果您使用 Sidecar 容器,請注意 GPU 只能附加至一個容器。
支援的 GPU 類型
Cloud Run 支援兩種 GPU:
- L4 GPU,搭配目前的 NVIDIA 驅動程式版本:535.x.x (12.2)。如要使用 L4 GPU,至少須使用 4 個 CPU 和 16 GiB 記憶體。
- NVIDIA RTX PRO 6000 Blackwell GPU 搭配目前的 NVIDIA 驅動程式版本:580.x.x (13.0) (預先發布版)。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,最少須使用 20 個 CPU 和 80 GiB 記憶體。
支援的地區
L4 GPU 支援下列地區:
asia-southeast1(新加坡)asia-south1(孟買) 。這個區域僅限受邀者使用。 如有興趣,請與 Google 帳戶團隊聯絡。europe-west1(比利時)二氧化碳排放量低
europe-west4(荷蘭)低二氧化碳排放2
us-central1(愛荷華州)二氧化碳排放量低 。這個區域僅限受邀者使用。 如有興趣,請與 Google 帳戶團隊聯絡。
us-east4(北維吉尼亞州)
NVIDIA RTX PRO 6000 Blackwell GPU (預先發布版) 支援下列地區:
asia-southeast1(新加坡)。asia-south2(印度德里)。這個區域僅限受邀者使用。 如有興趣,請與 Google 帳戶團隊聯絡。europe-west4(荷蘭)低二氧化碳排放2
us-central1(愛荷華州)二氧化碳排放量低
價格影響
如需 GPU 定價詳情,請參閱「Cloud Run 定價」。請注意下列規定和考量事項:
- 工作使用的 GPU 適用無可用區備援定價。
- 資源的 CPU 和記憶體設定。
- 系統會針對執行個體生命週期的整個期間收取 GPU 費用。
GPU 非可用區備援機制
Cloud Run 工作功能僅為啟用 GPU 的執行個體提供非區域性備援支援。啟用非可用區備援機制後,Cloud Run 會盡可能為啟用 GPU 的工作執行容錯移轉。只有在當時有足夠的 GPU 容量時,Cloud Run 才會將工作執行作業轉送至其他可用區。這個選項無法保證容錯移轉情境的預留容量,但每秒 GPU 的費用較低。
如要瞭解如何啟用非可用區備援功能,請參閱透過 GPU 設定 Cloud Run 工作。
申請提高配額
首次在某個區域使用 Cloud Run nvidia-l4 GPU 的專案,在建立第一個部署作業時,系統會自動授予 3 個 GPU 配額 (關閉可用區備援)。Cloud Run nvidia-rtx-pro-6000 GPU 的配額是以毫 GPU 為單位授予。首次在區域中使用 nvidia-rtx-pro-6000 GPU 的專案,在建立第一個部署作業時,系統會自動授予 3,000 milliGPU 配額 (區域備援關閉)。這相當於 3 個 GPU。
請注意,這項自動配額授予功能取決於 CPU 和記憶體容量,這項限制會控管專案所有服務、工作和工作站集區在任何時間點可啟用的 GPU 數量。
如果需要更多 Cloud Run 工作 GPU,請申請提高配額。
事前準備
在 Cloud Run 中使用 GPU 時,請注意下列需求和限制:
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
啟用 Cloud Run API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。- 如要在使用含 GPU 的 Cloud Run 作業時提升效能,請參閱「最佳做法:含 GPU 的 Cloud Run 作業」。
必要的角色
如要取得設定 Cloud Run 作業所需的權限,請要求管理員授予您作業的下列 IAM 角色:
-
Cloud Run 開發人員 (
roles/run.developer) - Cloud Run 工作 -
服務帳戶使用者 (
roles/iam.serviceAccountUser) - 服務身分
如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 作業與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。
設定 Cloud Run 工作以使用 GPU
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 設定 GPU。
控制台
前往 Google Cloud 控制台的 Cloud Run「Jobs」頁面:
按一下「Deploy container」(部署容器),填寫初始工作設定頁面。如要設定現有工作,請選取該工作,然後按一下「查看及編輯工作設定」。
按一下「容器、連線、安全性」,展開工作屬性頁面。
按一下「容器」分頁標籤。
- 請按照「事前準備」中的建議,設定 CPU、記憶體和啟動探查。
- 勾選「GPU」核取方塊。然後從「GPU type」(GPU 類型) 選單中選取 GPU 類型,並從「Number of GPUs」(GPU 數量) 選單中選取 GPU 數量。
按一下「建立」或「更新」。
gcloud
如要啟用非區域備援,請指定 --no-gpu-zonal-redundancy。這是搭配工作使用 GPU 的必要步驟。
如要建立啟用 GPU 的工作,請使用 gcloud run jobs create 指令:
gcloud run jobs create JOB_NAME \ --image=IMAGE \ --gpu=1 \ --no-gpu-zonal-redundancy
更改下列內容:
- JOB_NAME:Cloud Run 工作名稱。
- IMAGE_URL:容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/job:latest。
如要更新工作的 GPU 設定,請使用 gcloud run jobs update 指令:
gcloud run jobs update JOB_NAME \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --parallelism PARALLELISM \ --no-gpu-zonal-redundancy
更改下列內容:
- JOB_NAME:Cloud Run 工作名稱。
- IMAGE_URL:容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/job:latest。 - CPU:CPU 數量。如要使用 L4 GPU,至少須指定
4個 CPU。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,至少須指定20個 CPU。 - MEMORY:記憶體容量。如果是 L4 GPU,則必須指定至少
16Gi(16 GiB)。如果是 NVIDIA RTX PRO 6000 Blackwell GPU,則必須指定至少80Gi(80 GiB)。 - GPU_NUMBER:值
1(一)。如果未指定這個值,但存在 GPU_TYPE,則預設值為1。 - GPU_TYPE:GPU 類型。如果是 L4 GPU,請輸入
nvidia-l4值 (nvidia-L4,小寫 L,不是數值 14)。NVIDIA RTX PRO 6000 Blackwell GPU,然後按下nvidia-rtx-pro-6000。 - PARALLELISM:整數值,小於您為專案分配的適用配額限制最低值。
YAML
您必須將註解 run.googleapis.com/gpu-zonal-redundancy-disabled: 設為「true」。這會啟用非可用區備援機制,這是作業使用 GPU 的必要條件。
如要建立新工作,請略過這個步驟。 如要更新現有工作,請下載其 YAML 設定:
gcloud run jobs describe JOB_NAME --format export > job.yaml
更新
nvidia.com/gpu屬性、annotations: run.googleapis.com/launch-stage(適用於發布階段) 和nodeSelector::
run.googleapis.com/acceleratorapiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'true' spec: template: spec: containers: - image: IMAGE_URL limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: 'GPU_NUMBER' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
更改下列內容:
- JOB_NAME:Cloud Run 工作名稱。
- IMAGE_URL:容器映像檔的參照,例如
us-docker.pkg.dev/cloudrun/container/job:latest - CPU:CPU 數量。如要使用 L4 GPU,至少須指定
4個 CPU。如要使用 NVIDIA RTX PRO 6000 Blackwell GPU,至少須指定20個 CPU。 - MEMORY:記憶體容量。如果是 L4 GPU,則必須指定至少
16Gi(16 GiB)。如果是 NVIDIA RTX PRO 6000 Blackwell GPU,則必須指定至少80Gi(80 GiB)。 - GPU_NUMBER:值為
1(一),因為我們只支援每個 Cloud Run 執行個體附加一個 GPU。 - GPU_TYPE:GPU 類型。如果是 L4 GPU,請輸入
nvidia-l4值 (nvidia-L4,小寫 L,不是數值 14)。NVIDIA RTX PRO 6000 Blackwell GPU,然後按下nvidia-rtx-pro-6000。
使用下列指令建立或更新作業:
gcloud run jobs replace job.yaml
查看 GPU 設定
如要查看 Cloud Run 工作的目前 GPU 設定,請執行下列操作:
控制台
前往 Google Cloud 控制台的 Cloud Run jobs 頁面:
按一下所需工作,開啟「工作詳細資料」頁面。
按一下「查看及編輯工作設定」。
在設定詳細資料中找出 GPU 設定。
gcloud
使用下列指令:
gcloud run jobs describe JOB_NAME
在傳回的設定中找出 GPU 設定。
從工作分離 GPU 資源
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML,從工作卸離 GPU 資源。
控制台
前往 Google Cloud 控制台的 Cloud Run「Jobs」頁面:
在工作清單中,按一下工作即可開啟該工作的詳細資料。
按一下「查看及編輯工作設定」。
按一下「容器、連線、安全性」,展開工作屬性頁面。
按一下「容器」分頁標籤。
- 取消勾選 GPU 核取方塊。
按一下「Update」。
gcloud
如要從 Cloud Run 工作中卸離 GPU 資源,請使用 gcloud run jobs update 指令,將 GPU 數量設為 0:
gcloud run jobs update JOB_NAME --gpu 0
將 JOB_NAME 替換為 Cloud Run 作業名稱。
YAML
如要建立新工作,請略過這個步驟。 如要更新現有工作,請下載其 YAML 設定:
gcloud run jobs describe JOB_NAME --format export > job.yaml
刪除
nvidia.com/gpu:、run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'和nodeSelector: run.googleapis.com/accelerator: GPU_TYPE行。使用下列指令建立或更新作業:
gcloud run jobs replace job.yaml
驅動程式庫
根據預設,所有 NVIDIA L4 和 NVIDIA RTX PRO 6000 Blackwell 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。
如要使用高於 12.2 的 CUDA 版本,最簡單的方法是依附於已安裝向前相容套件的較新 NVIDIA 基本映像檔。你也可以手動安裝 NVIDIA 前向相容性套件,然後將這些套件新增至 LD_LIBRARY_PATH。請參閱 NVIDIA 的相容性矩陣,判斷哪些 CUDA 版本與提供的 NVIDIA 驅動程式版本向前相容。
關於 GPU 和平行處理
如果您在工作執行期間執行平行工作,請判斷並將平行處理工作數量上限值設為低於專案分配到的無可用區備援 GPU 配額。如要申請提高配額,請參閱「如何提高配額」。GPU 工作會盡快啟動,並視您為專案和所選區域分配的 GPU 配額而定,最多可啟動的 GPU 數量會有所不同。如果將平行處理工作數量設為超過 GPU 配額上限,Cloud Run 部署作業就會失敗。
如要計算工作每次執行使用的 GPU 配額,請將每個工作任務的 GPU 數量乘以平行處理值。舉例來說,如果您有 10 個 GPU 配額,並使用 --gpu=1、--parallelism=10 部署 Cloud Run 作業,則作業會耗用所有 10 個 GPU 配額。或者,如果您使用 --gpu=1 或 --parallelism=20 部署,部署作業就會失敗。
詳情請參閱「最佳做法:使用 GPU 執行 Cloud Run 工作」。
後續步驟
如需教學課程,請參閱「在 Cloud Run 使用 GPU 執行 AI 推論」。