建立 A3 High 或 A2 執行個體

本文說明如何建立虛擬機器 (VM) 執行個體,並使用 A2 或 A3 High 加速器最佳化機器系列中的機型。

如果是 A3 High 機型,本文僅涵蓋連接少於 8 個 GPU 的機型。如果 A3 High 機型配備的 GPU 少於 8 個,只能建立為 Spot VM 或彈性啟動型 VM。如要建立連接 8 個 GPU 的 A3 執行個體,請參閱「建立啟用 GPUDirect 的 A3 Mega、A3 High 或 A3 Edge 執行個體」。

如要建立多個 A3 或 A2 VM,也可以使用下列任一選項:

事前準備

  • 如要查看建立附加 GPU 的執行個體時的限制和額外必要步驟,例如選取 OS 映像檔和檢查 GPU 配額,請參閱「建立附加 GPU 的執行個體總覽」。
  • 如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,不需要設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。

必要的角色

如要取得建立 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

您必須具備下列權限,才能建立 VM:

  • 專案的 compute.instances.create
  • 如要使用自訂映像檔建立 VM,請按照下列步驟操作: compute.images.useReadOnly 在映像檔上
  • 如要使用快照建立 VM,請按照下列步驟操作: compute.snapshots.useReadOnly 在快照上
  • 如要使用執行個體範本建立 VM,請按照下列步驟操作: compute.instanceTemplates.useReadOnly 在執行個體範本上
  • 如要為 VM 指定子網路: compute.subnetworks.use 在專案或所選子網路上
  • 如要為 VM 指定靜態 IP 位址: compute.addresses.use 在專案中
  • 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM,請在專案或所選子網路上執行下列步驟: compute.subnetworks.useExternalIp
  • 如要將舊版網路指派給 VM,請按照下列步驟操作: compute.networks.use 在專案中
  • 使用舊版網路時,如要為 VM 指派外部 IP 位址,請執行下列步驟: compute.networks.useExternalIp 專案
  • 如要為 VM 設定 VM 執行個體中繼資料,請在專案中執行下列步驟: compute.instances.setMetadata
  • 如要設定 VM 的標記: compute.instances.setTags VM
  • 如要為 VM 設定標籤,請按照下列步驟操作: compute.instances.setLabels 在 VM 上
  • 如要設定 VM 使用的服務帳戶: compute.instances.setServiceAccount 在 VM 上
  • 為 VM 建立新磁碟: compute.disks.create 專案
  • 如要以唯讀或讀寫模式連結現有磁碟: compute.disks.use 在磁碟上
  • 如要以唯讀模式連接現有磁碟: compute.disks.useReadOnly 磁碟

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

建立已附加 GPU 的 VM

如要建立指定密集配置政策的 GPU VM,請使用 gcloud CLI 或 REST API。否則,請選取下列其中一個選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Create an instance」(建立執行個體) 頁面。

    前往「建立執行個體」
  2. 在「名稱」欄位中,輸入執行個體的專屬名稱。請參閱「資源命名慣例」。
  3. 請選取提供這些 GPU 機型的區域和可用區。請參閱「GPU 區域和可用區」。
  4. 在機器類型部分,選取「GPU」。
    1. 在「GPU type」(GPU 類型) 清單中,選取 GPU 類型。
      • 如果是 A2 加速器最佳化 VM,請選取 NVIDIA A100 40GB 或 NVIDIA A100 80GB
      • 如果是 A3 加速器最佳化 VM,請選取 NVIDIA H100 80GB
    2. 在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。
  5. 按照下列步驟設定開機磁碟:
    1. 在「OS 和儲存空間」部分,點選「變更」。「開機磁碟設定」頁面隨即開啟。
    2. 在「Boot disk configuration」(開機磁碟設定) 頁面中,執行下列操作:
      1. 在「Public images」(公開映像檔) 分頁中,選擇支援的 Compute Engine 映像檔。
      1. 指定至少 40 GiB 的開機磁碟大小。
      2. 按一下「Select」(選取) 來確認開機磁碟選項。
  6. 設定佈建模型。 在「Advanced options」(進階選項) 部分的「VM provisioning model」(VM 佈建模型) 下方, 選取下列其中一個選項:
    • 標準:適用於一般用途工作負載。
    • 彈性啟動:適用於可容許彈性開始時間的短期工作負載。詳情請參閱「關於彈性啟動型 VM」。
    • Spot:適用於可先占的容錯工作負載。詳情請參閱「Spot VM」。
  7. 選用:在「On VM termination」(在 VM 終止時) 清單中,選取 Compute Engine 先占 Spot VM 或彈性啟動型 VM 達到執行時間上限時,要採取的動作:
    • 如要在先占期間停止 VM,請選取「Stop」(停止) (預設)。
    • 如要在先占期間刪除 VM,請選取「Delete」(刪除)。
  8. 如要建立並啟動 VM,請按一下 [Create] (建立)。

gcloud

如要建立及啟動 VM,請使用 gcloud compute instances create 指令並搭配下列旗標。由於搭載 GPU 的 VM 無法即時遷移,請將 --maintenance-policy 旗標設為 TERMINATE。

範例指令也會顯示 --provisioning-model 旗標。這個旗標會設定 VM 的佈建模式。建立 GPU 數量少於 8 個的 A3 機型時,必須使用這個旗標,且必須設為 SPOT 或 FLEX_START。 如果是 A2 機型,這個標記為選用項目。如未指定,Compute Engine 會使用標準佈建模式。詳情請參閱「Compute Engine 執行個體佈建模型」。

  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      --provisioning-model=PROVISIONING_MODEL
  

更改下列內容:

  • VM_NAME:新 VM 的名稱。
  • MACHINE_TYPE:A2 機型或 A3 機型,配備 1、2 或 4 個 GPU。如果是 A3 機型,您必須指定佈建模型。
  • ZONE:VM 的可用區。這個可用區必須支援您選取的 GPU 模型。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。指定至少 40 GiB 的開機磁碟大小。
  • IMAGE:支援 GPU 的作業系統映像檔。如要使用映像檔系列中的最新映像檔,請將 --image 旗標替換為 --image-family 旗標,並將其值設為支援 GPU 的映像檔系列。例如:--image-family=rocky-linux-8-optimized-gcp。
  • IMAGE_PROJECT:OS 映像檔所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。
  • PROVISIONING_MODEL:用於建立 VM 的佈建模型。您可以指定 SPOT 或 FLEX_START。如果從指令中移除 --provisioning-model 旗標,Compute Engine 就會使用標準佈建模型。建立少於 8 個 GPU 的 A3 VM 時,必須使用這個標記。如要瞭解 Spot 或彈性啟動佈建模式的必要旗標,請參閱「建立 Spot VM」或「建立彈性啟動型 VM」。

REST

向 instances.insert 方法傳送 POST 要求。 由於搭載 GPU 的 VM 無法即時遷移,請將 onHostMaintenance 欄位設為 TERMINATE。

範例要求的要求主體包含 provisioningModel 欄位。這個欄位會設定 VM 的佈建模型。建立 GPU 數量少於 8 個的 A3 機型時,這個欄位為必填,且必須設為 SPOT 或 FLEX_START。如果是 A2 機型,這個欄位為選填。如果未指定佈建模型,Compute Engine 會使用標準佈建模型。詳情請參閱「Compute Engine 執行個體佈建模式」。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams": {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "SOURCE_IMAGE_URI"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "scheduling": {
    "automaticRestart": true,
    "onHostMaintenance": "TERMINATE",
    "provisioningModel": "PROVISIONING_MODEL"
  }
}
更改下列內容:
  • VM_NAME:新 VM 的名稱。
  • PROJECT_ID:專案 ID。
  • ZONE:VM 的可用區。可用區必須支援所選 GPU 型號。
  • MACHINE_TYPE:A2 機型或 A3 機型,並搭配 1、2 或 4 個 GPU。如果是 A3 機型,您必須指定佈建模型。
  • SOURCE_IMAGE_URI:要使用的特定映像檔或映像檔系列的 URI。例如:
    • 特定圖片:"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-10-optimized-gcp-v20251017"
    • 映像檔系列:"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-10-optimized-gcp"
    指定映像檔系列後,Compute Engine 會使用該系列中未淘汰的最新 OS 映像檔建立 VM。如要進一步瞭解何時該使用映像檔系列,請參閱「映像檔系列最佳做法」。
  • DISK_SIZE:開機磁碟大小 (GB)。指定至少 40 GB 的開機磁碟大小。
  • NETWORK:您要用於 VM 的虛擬私有雲網路。您可以指定「default」來使用預設網路。
  • PROVISIONING_MODEL:用於建立 VM 的佈建模型。您可以指定 SPOT 或 FLEX_START。如果從要求主體中移除 provisioningModel 欄位,Compute Engine 就會使用標準佈建模型。建立 GPU 數量少於 8 個的 A3 VM 時,必須填寫這個欄位。如要瞭解 Spot 或彈性啟動佈建模式的必填欄位,請參閱「建立 Spot VM」或「建立彈性啟動型 VM」。

安裝驅動程式

如要讓 VM 使用 GPU,您必須在 VM 上安裝 GPU 驅動程式。

範例

在這些範例中,大部分的 VM 都是使用 Google Cloud CLI 建立。 不過,您也可以使用 Cloud de Confiance console 或 REST 建立這些 VM。

下列範例說明如何使用標準 OS 映像檔建立 A3 Spot VM,以及如何使用深度學習 VM 映像檔建立 A2 VM。

使用 Debian 13 OS 映像檔系列建立 A3 Spot VM

這個範例會使用 Debian 13 OS 映像檔系列,建立 A3 (a3-highgpu-1g) Spot VM。

gcloud compute instances create VM_NAME \
    --project=PROJECT_ID \
    --zone=ZONE \
    --machine-type=a3-highgpu-1g \
    --provisioning-model=SPOT \
    --maintenance-policy=TERMINATE \
    --image-family=debian-13 \
    --image-project=debian-cloud \
    --boot-disk-size=200GB \
    --scopes=https://www.googleapis.com/auth/cloud-platform

更改下列內容:

  • VM_NAME:VM 執行個體的名稱
  • PROJECT_ID:專案 ID
  • ZONE:VM 執行個體的可用區

在 VM 上建立 A2 VM,並使用 Vertex AI Workbench 使用者管理的筆記本執行個體

這個範例會使用 tf2-ent-2-3-cu110 深度學習 VM 映像檔映像檔,建立 A2 Standard (a2-highgpu-1g) VM。在本範例中,指定了開機磁碟大小和範圍等選用旗標。

使用 DLVM 映像檔是最簡單的入門方式,因為這些映像檔已預先安裝 NVIDIA 驅動程式和 CUDA 程式庫。

這些圖片也會提供最佳化成效。

NVIDIA A100 支援下列 DLVM 映像檔:

  • common-cu110:預先安裝 NVIDIA 驅動程式和 CUDA
  • tf-ent-1-15-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow 企業版 1.15.3
  • tf2-ent-2-1-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow 企業版 2.1.1
  • tf2-ent-2-3-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow 企業版 2.3.1
  • pytorch-1-6-cu110:NVIDIA 驅動程式、CUDA、Pytorch 1.6

如要進一步瞭解可用的 DLVM 映像檔,以及映像檔上安裝的套件,請參閱深度學習 VM 說明文件。

gcloud compute instances create VM_NAME \
    --project=PROJECT_ID \
    --zone=ZONE \
    --machine-type=a2-highgpu-1g \
    --maintenance-policy=TERMINATE \
    --image-family=tf2-ent-2-3-cu110 \
    --image-project=deeplearning-platform-release \
    --boot-disk-size=200GB \
    --metadata="install-nvidia-driver=True,proxy-mode=project_editors" \
    --scopes=https://www.googleapis.com/auth/cloud-platform

更改下列內容:

  • VM_NAME:VM 執行個體的名稱
  • PROJECT_ID:專案 ID
  • ZONE:VM 執行個體的可用區

上述範例指令也會為 VM 產生 Vertex AI Workbench 使用者自行管理的筆記本執行個體。如要存取筆記本,請前往 Cloud de Confiance 控制台,依序點選「Vertex AI Workbench」>「使用者自行管理的筆記本」頁面。

前往「使用者自行管理的筆記本」頁面

多執行個體 GPU

多重執行個體 GPU 可將同一部 VM 中的單一 NVIDIA A100 或 NVIDIA H100 GPU 分割為最多七個獨立的 GPU 執行個體。這些核心會同時執行,各自擁有專屬的記憶體、快取和串流多處理器。這項設定可讓 NVIDIA A100 和 H100 GPU 提供一致的服務品質 (QoS),使用率比舊款 GPU 高達 7 倍。

您最多可以建立七個多執行個體 GPU。如果是 A100 40GB GPU,每個多實體 GPU 會分配到 5 GB 的記憶體。使用 A100 80GB GPU 時,分配到的記憶體會加倍,每個 GPU 10 GB。使用 H100 80GB GPU 時,每個多實體 GPU 也會分配到 10 GB 的記憶體。

如要進一步瞭解如何使用多重執行個體 GPU,請參閱「NVIDIA Multi-Instance GPU User Guide」。

如要建立多執行個體 GPU,請完成下列步驟:

  1. 建立 A2 (A100) 或 A3 (H100) 加速器最佳化 VM 執行個體。

  2. 連線至 VM 執行個體。詳情請參閱「連線至 Linux VM」或「連線至 Windows VM」。

  3. 啟用 NVIDIA GPU 驅動程式。

  4. 啟用多實體 GPU。

    sudo nvidia-smi -mig 1
    
  5. 查看可用的多執行個體 GPU 形狀。

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    輸出結果會與下列內容相似:

    +-----------------------------------------------------------------------------+
    | GPU instance profiles:                                                      |
    | GPU   Name             ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                              Free/Total   GiB              CE    JPEG  OFA  |
    |=============================================================================|
    |   0  MIG 1g.10gb       19     7/7        9.62       No     16     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.10gb+me    20     1/1        9.62       No     16     1     0   |
    |                                                             1     1     1   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.20gb       15     4/4        19.50      No     26     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 2g.20gb       14     3/3        19.50      No     32     2     0   |
    |                                                             2     2     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 3g.40gb        9     2/2        39.25      No     60     3     0   |
    |                                                             3     3     0   |
    +-----------------------------------------------------------------------------+
    .......
    
  6. 建立所需的多執行個體 GPU (GI) 和相關聯的運算執行個體 (CI)。如要建立這些執行個體,請指定完整或縮短的設定檔名稱、設定檔 ID,或兩者組合。詳情請參閱「建立 GPU 執行個體」。

    以下範例使用設定檔 ID (9) 建立兩個 MIG 3g.20gb GPU 執行個體。

    此外,系統也會指定 -C 旗標,為必要設定檔建立相關聯的運算執行個體。

    sudo nvidia-smi mig -cgi 9,9 -C
    
  7. 確認已建立兩個多重執行個體 GPU:

    sudo nvidia-smi mig -lgi
    
  8. 確認已建立 GI 和對應的 CI。

    sudo nvidia-smi
    

    輸出結果會與下列內容相似:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  NVIDIA H100 80G...  Off  | 00000000:04:00.0 Off |                   On |
    | N/A   33C    P0    70W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA H100 80G...  Off  | 00000000:05:00.0 Off |                   On |
    | N/A   32C    P0    69W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

後續步驟