建立 G2 或 G4 執行個體

本文說明如何建立使用 G2 或 G4 機器系列的機器類型的虛擬機器 (VM) 執行個體。這些 G 系列加速器最佳化機型非常適合執行需要大量繪圖資源的應用程式,以及具成本效益的機器學習 (ML) 推論。

您可以將這些 VM 建立為隨選 VM。如要降低成本,您也可以建立 G2 和 G4 Spot VM,或是建立 G2 彈性啟動 VM。如要進一步瞭解如何建立連接 GPU 的 VM,請參閱建立連接 GPU 的執行個體總覽

如要建立多個 G2 或 G4 VM,請使用下列任一方法:

事前準備

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    2. Set a default region and zone.

    REST

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

      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

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

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

所需權限

如要建立 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 專案
  • 使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定 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 的執行個體

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST,建立 G2 或 G4 加速器最佳化執行個體。

主控台

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

    前往「建立執行個體」

  2. 在「名稱」欄位中,輸入執行個體的專屬名稱。請參閱資源命名慣例

  3. 選取提供這些 GPU 機器類型的區域和可用區。 請參閱「GPU 區域和可用區」。

  4. 在機器類型部分中,選取「GPU」

    1. 在「GPU type」(GPU 類型) 清單中,選取 GPU 類型。

      • 如果是 G2 執行個體,請選取 NVIDIA L4
      • 如果是 G4 執行個體,請選取 NVIDIA RTX PRO 6000
    2. 在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。

      • 如果是 G4 執行個體,控制台會根據選取的 GPU 數量,自動選取對應的機器類型。
      • 如果是 G2 執行個體,請參閱下列內容:

        • 選取一個 GPU 後,您可以從一組預先設定 vCPU 數量和記憶體容量的機器類型中,選擇適合工作負載的類型。
        • 如果您選取兩個以上的 GPU,控制台會根據選取的 GPU 數量,自動選取對應的機器類型。

        對於 G2 執行個體,您也可以指定自訂機器類型。如要指定執行個體的 vCPU 數量和記憶體容量,請拖曳滑桿或在文字方塊中輸入值。當您變更 vCPU 和記憶體的數量時,主控台會顯示執行個體的估計費用。

    3. 選用:G2 和 G4 系列機器支援適用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS)。如果您打算在執行個體上執行需要大量圖形的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」

  5. 設定開機磁碟,步驟如下:

    1. 在「OS 和儲存空間」專區,點選「變更」。 系統會開啟「開機磁碟設定」頁面。
    2. 在「開機磁碟設定」頁面中,執行下列操作:

      1. 在「公開映像檔」分頁中,選擇支援的 Compute Engine 映像檔深度學習 VM 映像檔
      2. 指定至少 40 GiB 的開機磁碟大小。
      3. 如要確認開機磁碟選項,請按一下「Select」(選取)
  6. 選用:新增本機 SSD。本機 SSD 可做為快速暫存磁碟,或將資料饋送至 GPU,同時避免 I/O 瓶頸。如要為執行個體新增本機 SSD,請完成下列步驟:

    1. 在「OS 和儲存空間」專區,點選「新增本機 SSD」
    2. 在「介面」中選取「NVMe」
    3. 在「磁碟容量」中,選取要連結的本機 SSD 數量。如要瞭解每個執行個體可用的本機 SSD 磁碟數量上限,請參閱本機 SSD 的機器系列限制
  7. 選用:如要提高 g4-standard-384 執行個體的網路頻寬,請設定多個網路介面。您最多可以設定兩個網路介面。這項設定會建立具有雙重網路介面 (2 個 200 Gbps) 的 g4-standard-384執行個體。在「Networking」(網路) 區段中,完成下列步驟:

    1. 展開預設網路介面。
    2. 為第一個介面指定「網路」和「子網路」
    3. 在「網路介面卡」中,選取「gVNIC」
    4. 按一下「新增網路介面」,新增第二個介面。 設定第二個網路介面,步驟如下:

      1. 選取其他虛擬私有雲「網路」和「子網路」。 每個網路介面都必須位於不重複的虛擬私有雲網路。
      2. 在「網路介面卡」中,選取「gVNIC」
  8. 選用:設定其他佈建模式,降低費用。 在「Advanced options」(進階選項) 部分的「VM provisioning model」(VM 佈建模型) 下方, 選取下列任一選項:

    • (僅限 G2) 彈性啟動:適用於可容許彈性啟動時間的短時間工作負載。詳情請參閱「關於彈性啟動 VM」。

    • Spot:適用於可先占的容錯工作負載。詳情請參閱「Spot VM」。

  9. 選用:在「On VM termination」(VM 終止時) 清單中,選取 Compute Engine 先占 Spot VM 時,或彈性啟動 VM 達到執行時間上限時要採取的行動:

    • 如要在先佔期間停止 VM,請選取「停止」 (預設)。
    • 如要在搶占期間刪除 VM,請選取「刪除」
  10. 如要建立並啟動 VM,請按一下 [Create] (建立)

gcloud

如要建立並啟動執行個體,請使用 gcloud compute instances create 指令。下列指令包含必要旗標。

  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 \
      --restart-on-failure
取代下列項目:
  • VM_NAME:新執行個體的名稱
  • MACHINE_TYPE:您選取的機器類型。選擇下列其中一個選項:

    • G4 機型
    • G2 機型。 G2 機器類型也支援自訂記憶體。記憶體必須為 1024 MB 的倍數,且在支援的記憶體範圍內。舉例來說,如要建立具有 4 個 vCPU 和 19 GB 記憶體的執行個體,請指定 --machine-type=g2-custom-4-19456
  • ZONE:執行個體所在的區域。這個可用區必須支援您選取的 GPU 型號
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。指定開機磁碟大小,至少須有 40 GiB。
  • IMAGE:支援 GPU 的作業系統映像檔。如要使用映像檔系列中的最新映像檔,請將 --image 旗標替換為 --image-family 旗標,並將其值設為支援 GPU 的映像檔系列。例如:--image-family=rocky-linux-8-optimized-gcp
    您也可以指定自訂映像檔或 深度學習 VM 映像檔
  • IMAGE_PROJECT:OS 映像檔所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。

選用標記

如要進一步設定執行個體,以滿足工作負載或作業系統需求,請在執行 gcloud compute instances create 指令時,加入下列一或多個標記。

功能 說明
佈建模型 設定執行個體的佈建模式。 指定 SPOTFLEX_START。G4 執行個體不支援 FLEX_START。如未指定模型,系統會使用標準模型。 詳情請參閱 Compute Engine 執行個體佈建模型
--provisioning-model=PROVISIONING_MODEL
虛擬工作站 指定用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS)
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

更改下列內容:

  • 如果是 VWS_ACCELERATOR_TYPE,請選擇下列其中一項:
    • 如果是 G4 執行個體,請指定 nvidia-rtx-pro-6000-vws
    • 如果是 G2 執行個體,請指定 nvidia-l4-vws
  • VWS_ACCELERATOR_COUNT 替換成所需的虛擬 GPU 數量。
本機 SSD 將一或多個本機 SSD 連接至執行個體。本機 SSD 可做為快速暫存磁碟,或將資料饋送至 GPU,同時避免 I/O 瓶頸。
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
如要瞭解每個 VM 執行個體可連接的本機 SSD 磁碟數量上限,請參閱本機 SSD 限制
網路介面 將多個網路介面附加至執行個體。對於 g4-standard-384 執行個體,最多可附加兩個網路介面。您可以使用這個旗標建立具有雙網路介面 (2 個 200 Gbps) 的執行個體。每個網路介面都必須位於不重複的虛擬私有雲網路。

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

只有 g4-standard-384 機器類型支援雙重網路介面。

更改下列內容:

  • VPC_NAME虛擬私有雲網路的名稱。
  • SUBNET_NAME:屬於指定虛擬私有雲網路的子網路名稱。

REST

instances.insert 方法傳送 POST 要求。由於搭載 GPU 的執行個體無法即時遷移,因此您必須將 onHostMaintenance 參數設為 TERMINATE。下列指令包含必要旗標。

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

{
   "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks":[
      {
         "type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
         "initializeParams":{
            "diskSizeGb":"DISK_SIZE",
            "sourceImage":"SOURCE_IMAGE_URI"
         },
         "boot":true
      }
   ],
   "name":"VM_NAME",
   "networkInterfaces":[
      {
         "network":"projects/PROJECT_ID/global/networks/NETWORK"
      }
   ],
   "scheduling":{
      "onHostMaintenance":"terminate",
      "automaticRestart":true
   }
}
取代下列項目:
  • VM_NAME:新執行個體的名稱
  • PROJECT_ID:您的專案 ID。
  • ZONE:執行個體所在的區域。這個可用區必須支援您選取的 GPU 型號
  • MACHINE_TYPE:您選取的機器類型。選擇下列其中一個選項:
    • G4 機型
    • G2 機型。 G2 機器類型也支援自訂記憶體。記憶體必須為 1024 MB 的倍數,且在支援的記憶體範圍內。舉例來說,如果執行個體有 4 個 vCPU 和 19 GB 記憶體,機器類型名稱就會是 g2-custom-4-19456
  • SOURCE_IMAGE_URI:要使用的特定映像檔或映像檔系列的 URI。例如:
    • 特定圖片:"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • 映像檔系列:"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    指定映像檔系列時,Compute Engine 會使用該系列中未淘汰的最新 OS 映像檔建立執行個體。如要進一步瞭解何時該使用映像檔系列,請參閱映像檔系列最佳做法
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。指定至少 40 GiB 的開機磁碟大小。

選用標記

如要進一步設定執行個體,以滿足工作負載或作業系統需求,請在執行 instances.insert 方法時,加入一或多個下列標記。

功能 說明
佈建模型 如要降低費用,請在要求中的 scheduling 物件中新增 "provisioningModel": "PROVISIONING_MODEL" 欄位,指定其他佈建模型。如果您指定建立 Spot VM,系統會忽略 onHostMaintenanceautomaticRestart 欄位。詳情請參閱 Compute Engine 執行個體佈建模型
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

PROVISIONING_MODEL 替換為下列其中一個值:

  • STANDARD:(預設) 標準執行個體。
  • SPOT:Spot VM。
  • FLEX_START:彈性啟動 VM。彈性啟動 VM 最多會運作七天,可協助您以折扣價取得 GPU 等高需求資源。G4 執行個體不支援此佈建模式。
虛擬工作站 指定用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS)
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

更改下列內容:

  • 如果是 VWS_ACCELERATOR_TYPE,請選擇下列其中一項:
    • 如果是 G4 執行個體,請指定 nvidia-rtx-pro-6000-vws
    • 如果是 G2 執行個體,請指定 nvidia-l4-vws
  • VWS_ACCELERATOR_COUNT 替換成所需的虛擬 GPU 數量。
本機 SSD 將一或多個本機 SSD 連接至執行個體。本機 SSD 可做為快速暫存磁碟,或將資料饋送至 GPU,同時避免 I/O 瓶頸。
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
如要瞭解每個 VM 執行個體可連接的本機 SSD 磁碟數量上限,請參閱本機 SSD 限制
網路介面 將多個網路介面附加至執行個體。對於 g4-standard-384 執行個體,最多可附加兩個網路介面。這會建立具有雙重網路介面的執行個體 (2 個 200 Gbps)。每個網路介面都必須位於不重複的虛擬私有雲網路。

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

只有 g4-standard-384 機器類型支援雙重網路介面。

更改下列內容:

  • VPC_NAME虛擬私有雲網路的名稱。
  • SUBNET_NAME:屬於指定虛擬私有雲網路的子網路名稱。

安裝驅動程式

建立執行個體後,您必須安裝驅動程式,才能使用 GPU。您需要安裝的驅動程式取決於建立執行個體時,是否為圖形工作負載啟用 NVIDIA RTX 虛擬工作站 (vWS)

(選用) 多執行個體 GPU 模式 (僅限 G4)

多執行個體 GPU (MIG) 模式是可在支援的 NVIDIA GPU 上啟用的功能。

建立 G4 執行個體後,您可以在附加至機器的單一 NVIDIA RTX PRO 6000 GPU 上啟用多執行個體 GPU (MIG) 模式。啟用 MIG 模式後,單一 GPU 最多可分割為七個獨立的 GPU 執行個體。每個執行個體都會同時執行,且各自擁有記憶體、快取和串流多重處理器。接著,您就能在這些 GPU 執行個體上平行執行不同的工作負載。

如要進一步瞭解如何使用多例項 GPU,請參閱 NVIDIA 說明文件中的「開始使用 MIG」。

後續步驟