Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์˜ˆ์•ฝ ์‚ฌ์šฉ

์ด ๋ฌธ์„œ์—์„œ๋Š” Compute Engine ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜์—ฌ Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์‹คํ–‰์— ํ•„์š”ํ•œ ๊ฐ€์ƒ ๋จธ์‹ (VM) ๋ฆฌ์†Œ์Šค๊ฐ€ ์ถฉ๋ถ„ํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์•ฝ์€ Compute Engine ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋™์ผํ•œ ํ•˜๋“œ์›จ์–ด(๋ฉ”๋ชจ๋ฆฌ ๋ฐ vCPU)์™€ ์„ ํƒ์  ๋ฆฌ์†Œ์Šค(GPU ๋ฐ ๋กœ์ปฌ SSD ๋””์Šคํฌ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VM์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์•ฝ์„ ๋งŒ๋“ค ๋•Œ Compute Engine์€ ์ง€์ •๋œ ์˜์—ญ์—์„œ ์š”์ฒญ๋œ ์šฉ๋Ÿ‰์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด Compute Engine์ด ๋ฆฌ์†Œ์Šค๋ฅผ ์˜ˆ์•ฝํ•˜๊ณ , ์˜ˆ์•ฝ์„ ๋งŒ๋“  ํ›„ ๋‹ค์Œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์•ฝ๋œ ๋ฆฌ์†Œ์Šค๋Š” ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ์•ฝ์„ ์‚ญ์ œํ•  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์•ฝ๋œ ๋ฆฌ์†Œ์Šค๋Š” ์˜ˆ์•ฝ์ด ์‚ญ์ œ๋  ๋•Œ๊นŒ์ง€ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ• ์ธ์„ ํฌํ•จํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ VM๊ณผ ๋™์ผํ•œ ์ฃผ๋ฌธํ˜• ๊ฐ€๊ฒฉ์œผ๋กœ ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์•ฝ์—๋Š” ์˜ˆ์•ฝ๋œ ๋ฆฌ์†Œ์Šค ๋น„์šฉ์ด ์ด๋ฏธ ์ฒญ๊ตฌ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ VM์— ์ค‘๋ณต ๋ฆฌ์†Œ์Šค ์š”๊ธˆ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Compute Engine ์˜์—ญ๋ณ„ ๋ฆฌ์†Œ์Šค ์˜ˆ์•ฝ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ

Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์˜ˆ์•ฝ์ด ์‚ฌ์šฉ๋  ๋•Œ๋Š” Compute Engine ์˜ˆ์•ฝ์˜ ๋ชจ๋“  ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์˜ˆ์•ฝ ์ž‘๋™ ๋ฐฉ์‹์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋˜ํ•œ Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์•ฝ์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • Vertex AI Workbench ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • Vertex AI Workbench ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์™€ ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์˜ˆ์•ฝ์˜ VM ์†์„ฑ์ด Vertex AI Workbench ์ธ์Šคํ„ด์Šค์™€ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์•ฝ์— e2-standard-8 ๋จธ์‹  ์œ ํ˜•์ด ์ง€์ •๋œ ๊ฒฝ์šฐ์—๋Š” e2-standard-8 ๋จธ์‹  ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ Vertex AI Workbench ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•ด๋‹น ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ ์ฐธ์กฐ.

  • Vertex AI Workbench์— ์˜ˆ์•ฝ ์‚ฌ์šฉ์€ Notebooks API๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•ด์„œ Vertex AI Workbench์— ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. ์˜ˆ์•ฝ์€ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ์ œํ•œ์‚ฌํ•ญ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  2. ๊ณต์œ  ์˜ˆ์•ฝ์€ ํ• ๋‹น๋Ÿ‰ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ์ œํ•œ์‚ฌํ•ญ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  3. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Compute Engine and Notebooks APIs.

    Enable the APIs

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

    Go to project selector

  7. Enable the Compute Engine and Notebooks APIs.

    Enable the APIs

  8. ํ•„์š”ํ•œ ์—ญํ• 

    Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋‹ค์Œ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์„ธ์š”.

    ์—ญํ•  ๋ถ€์—ฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ์ ํŠธ, ํด๋”, ์กฐ์ง์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์ปค์Šคํ…€ ์—ญํ• ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ํ†ตํ•ด ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์˜ˆ์•ฝ ๋งŒ๋“ค๊ธฐ

    Compute Engine ์˜ˆ์•ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์˜ˆ์•ฝ์€ ๋‹จ์ผ ํ”„๋กœ์ ํŠธ ์˜ˆ์•ฝ ๋˜๋Š” ๊ณต์œ  ์˜ˆ์•ฝ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์˜ˆ์•ฝ์—๋Š” GPU ๊ฐ€์†๊ธฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ƒˆ ์ธ์Šคํ„ด์Šค์— ์˜ˆ์•ฝ ์‚ฌ์šฉ

    REST API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ Vertex AI Workbench ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ์˜ˆ์•ฝ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • LOCATION: ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค.
    • INSTANCE_NAME: ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
    • MACHINE_TYPE: ์ธ์Šคํ„ด์Šค์˜ ๋จธ์‹  ์œ ํ˜•์ž…๋‹ˆ๋‹ค.
    • RESERVATION_TYPE: ์˜ˆ์•ฝ ์œ ํ˜•์ด๋ฉฐ RESERVATION_ANY ๋˜๋Š” RESERVATION_SPECIFIC์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • RESERVATION_NAME: RESERVATION_SPECIFIC ์œ ํ˜•์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์˜ˆ์•ฝ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
      • ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ์•ฝ์˜ ๊ฒฝ์šฐ ์˜ˆ์•ฝ ID๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ์•ฝ์˜ ๊ฒฝ์šฐ ์ „์ฒด ์˜ˆ์•ฝ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    HTTP ๋ฉ”์„œ๋“œ ๋ฐ URL:

    POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME

    JSON ์š”์ฒญ ๋ณธ๋ฌธ:

    {
      "gce_setup": {
        "machine_type": "MACHINE_TYPE",
        "reservation_affinity": {
          "consume_reservation_type": "RESERVATION_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": ["RESERVATION_NAME"]
        }
      }
    }
    

    ์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    curl

    ์š”์ฒญ ๋ณธ๋ฌธ์„ request.json ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME"

    PowerShell

    ์š”์ฒญ ๋ณธ๋ฌธ์„ request.json ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME" | Select-Object -Expand Content
    ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด ์‘๋‹ต ๋ณธ๋ฌธ์— Operation์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

    ์˜ˆ์•ฝ ์‚ฌ์šฉ ์ค‘์ง€

    ์˜ˆ์•ฝ ์‚ฌ์šฉ์„ ์ค‘์ง€ํ•˜๋ ค๋ฉด ์˜ˆ์•ฝ์„ ์‚ญ์ œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์— ์˜ˆ์•ฝ์„ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ ๊ธฐ์กด Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ๊ฒฐ์ œ

    Compute Engine ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค.

    • Compute Engine ๊ฐ€๊ฒฉ ์ฑ…์ •์˜ Compute Engine ๋ฆฌ์†Œ์Šค(ํ•ด๋‹นํ•˜๋Š” ์•ฝ์ • ์‚ฌ์šฉ ํ• ์ธ(CUD) ํฌํ•จ). ์ด๋Ÿฌํ•œ ์ฒญ๊ตฌ์—๋Š” SKU์— goog-vertex-ai-product: workbench-instances ๋ผ๋ฒจ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Compute Engine ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    • ์ธํ”„๋ผ ์‚ฌ์šฉ๋Ÿ‰ ์™ธ์—๋„ Vertex AI Workbench ๊ด€๋ฆฌ ์ˆ˜์ˆ˜๋ฃŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Vertex AI Workbench ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ๋ฌธ์ œ ํ•ด๊ฒฐ

    Vertex AI Workbench ์ธ์Šคํ„ด์Šค์—์„œ ์˜ˆ์•ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฅ˜๋ฅผ ์ง„๋‹จํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Vertex AI Workbench ์ธ์Šคํ„ด์Šค ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ๋‹ค์Œ ๋‹จ๊ณ„