์ด ํ์ด์ง์์๋ Google Cloud ์ฝ์ ๋๋ Vertex AI API๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ๋ถ๋ฅ ๋ชจ๋ธ์์ ์จ๋ผ์ธ (์ค์๊ฐ) ์์ธก๊ณผ ์ผ๊ด ์์ธก์ ์ป๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์จ๋ผ์ธ ์์ธก๊ณผ ์ผ๊ด ์์ธก ๊ฐ์ ์ฐจ์ด์
์จ๋ผ์ธ ์์ธก์ ๋ชจ๋ธ ์๋ํฌ์ธํธ์ ์ํ๋๋ ๋๊ธฐ์ ์์ฒญ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ฅ์ ๋ํ ์๋ต์ผ๋ก ์์ฒญํ๊ฑฐ๋ ์ ์์ ์ถ๋ก ์ด ํ์ํ ์ํฉ์์ ์์ฒญํ๋ ๊ฒฝ์ฐ์๋ ์จ๋ผ์ธ ์์ธก์ ์ฌ์ฉํฉ๋๋ค.
์ผ๊ด ์์ธก์ ๋น๋๊ธฐ์ ์์ฒญ์ ๋๋ค. ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํ ํ์ ์์ด ๋ชจ๋ธ ๋ฆฌ์์ค์์ ์ง์ ์ผ๊ด ์์ธก์ ์์ฒญํฉ๋๋ค. ํ ์คํธ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ์ฆ๊ฐ์ ์ธ ์๋ต์ด ํ์ํ์ง ์๊ณ ๋จ์ผ ์์ฒญ์ ์ฌ์ฉํ์ฌ ๋์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ผ๊ด ์์ธก์ ์ฌ์ฉํ์ธ์.
์จ๋ผ์ธ ์์ธก ์ํ
์๋ํฌ์ธํธ์ ๋ชจ๋ธ ๋ฐฐํฌ
๋ชจ๋ธ์ ์จ๋ผ์ธ ์์ธก์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํด์ผ ํฉ๋๋ค. ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ฉด ๋ฌผ๋ฆฌ์ ๋ฆฌ์์ค๊ฐ ๋ชจ๋ธ๊ณผ ์ฐ๊ฒฐ๋๋ฏ๋ก ์งง์ ์ง์ฐ ์๊ฐ์ผ๋ก ์จ๋ผ์ธ ์์ธก์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์๋ํฌ์ธํธ 1๊ฐ์ ๋ชจ๋ธ์ 2๊ฐ ์ด์ ๋ฐฐํฌํ ์ ์๊ณ 2๊ฐ ์ด์์ ์๋ํฌ์ธํธ์ ๋ชจ๋ธ 1๊ฐ๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ชจ๋ธ ๋ฐฐํฌ ์ต์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ชจ๋ธ ๋ฐฐํฌ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๋ฐฐํฌํฉ๋๋ค.
Google Cloud ์ฝ์
Google Cloud ์ฝ์์ Vertex AI ์น์ ์์ ๋ชจ๋ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ฐฐํฌํ๋ ค๋ ๋ชจ๋ธ์ ์ด๋ฆ์ ํด๋ฆญํ์ฌ ์ธ๋ถ์ ๋ณด ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ฐฐํฌ ๋ฐ ํ ์คํธ ํญ์ ์ ํํฉ๋๋ค.
์ด๋ฏธ ์๋ํฌ์ธํธ์ ๋ฐฐํฌ๋ ๋ชจ๋ธ์ ๋ชจ๋ธ ๋ฐฐํฌ ์น์ ์ ๋์ด๋ฉ๋๋ค.
์๋ํฌ์ธํธ์ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ชจ๋ธ์ ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํ๋ ค๋ฉด
์ ์๋ํฌ์ธํธ ๋ง๋ค๊ธฐ๋ฅผ ์ ํํ๊ณ ์ ์๋ํฌ์ธํธ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ๊ธฐ์กด ์๋ํฌ์ธํธ์ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ค๋ฉด ๊ธฐ์กด ์๋ํฌ์ธํธ์ ์ถ๊ฐ๋ฅผ ์ ํํ๊ณ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ์๋ํฌ์ธํธ๋ฅผ ์ ํํฉ๋๋ค.์๋ํฌ์ธํธ 1๊ฐ์ ๋ชจ๋ธ์ 2๊ฐ ์ด์ ์ถ๊ฐํ ์ ์๊ณ 2๊ฐ ์ด์์ ์๋ํฌ์ธํธ์ ๋ชจ๋ธ 1๊ฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์ธํ ์์๋ณด์ธ์.
๋ชจ๋ธ ํ๋ ์ด์์ด ๋ฐฐํฌ๋ ๊ธฐ์กด ์๋ํฌ์ธํธ์ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ๋น์จ์ ๋ชจ๋ ํฉํ๋ฉด 100%๊ฐ ๋๋๋ก ๋ฐฐํฌ ์ค์ธ ๋ชจ๋ธ๊ณผ ์ด๋ฏธ ๋ฐฐํฌ๋ ๋ชจ๋ธ์ ํธ๋ํฝ ๋ถํ ๋น์จ์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
AutoML Text๋ฅผ ์ ํํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํฉ๋๋ค.
๋ชจ๋ธ์ ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ํธ๋ํฝ ๋ถํ ๊ฐ์ผ๋ก 100์ ํ์ฉํฉ๋๋ค. ์๋๋ฉด ๋ชจ๋ ํฉํ์ฌ 100์ด ๋๋๋ก ์๋ํฌ์ธํธ์ ๋ชจ๋ ๋ชจ๋ธ์ ๋ํ ํธ๋ํฝ ๋ถํ ๊ฐ์ ์กฐ์ ํฉ๋๋ค.
๋ชจ๋ธ์์ ์๋ฃ๋ฅผ ํด๋ฆญํ๊ณ ๋ชจ๋ ํธ๋ํฝ ๋ถํ ๋น์จ์ด ์ฌ๋ฐ๋ฅด๋ฉด ๊ณ์์ ํด๋ฆญํฉ๋๋ค.
๋ชจ๋ธ์ด ๋ฐฐํฌ๋๋ ๋ฆฌ์ ์ด ํ์๋ฉ๋๋ค. ์ด ๋ฆฌ์ ์ ๋ชจ๋ธ์ ๋ง๋ ๋ฆฌ์ ์ด์ด์ผ ํฉ๋๋ค.
๋ฐฐํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํฉ๋๋ค.
API
Vertex AI API๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
- ํ์ํ ๊ฒฝ์ฐ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ญ๋๋ค.
- ์๋ํฌ์ธํธ ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํฉ๋๋ค.
์๋ํฌ์ธํธ ๋ง๋ค๊ธฐ
๊ธฐ์กด ์๋ํฌ์ธํธ์ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
gcloud
๋ค์ ์์์์๋ gcloud ai endpoints create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
- ENDPOINT_NAME: ์๋ํฌ์ธํธ์ ํ์ ์ด๋ฆ
Google Cloud CLI ๋๊ตฌ๊ฐ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋๋ ๋ฐ ๋ช ์ด ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- ENDPOINT_NAME: ์๋ํฌ์ธํธ์ ํ์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "display_name": "ENDPOINT_NAME" }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
๊ฐ ํฌํจ๋ ๋๊น์ง ์์
์ํ๋ฅผ ํด๋งํ ์ ์์ต๋๋ค.
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Vertex AI SDK for Python์ ์ค์นํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ Vertex AI SDK for Python ์ค์น๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ํฌ์ธํธ ID ๊ฒ์
๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ค๋ฉด ์๋ํฌ์ธํธ ID๊ฐ ํ์ํฉ๋๋ค.
gcloud
๋ค์ ์์์์๋ gcloud ai endpoints list
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
- ENDPOINT_NAME: ์๋ํฌ์ธํธ์ ํ์ ์ด๋ฆ
ENDPOINT_ID
์ด์ ํ์๋๋ ๋ฒํธ๋ฅผ ํ์ธํฉ๋๋ค. ๋ค์ ๋จ๊ณ์์ ์ด ID๋ฅผ ์ฌ์ฉํฉ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
- PROJECT_ID: .
- ENDPOINT_NAME: ์๋ํฌ์ธํธ์ ํ์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
๋ชจ๋ธ ๋ฐฐํฌ
์๋์์ ์ธ์ด ๋๋ ํ๊ฒฝ์ ๋ํ ํญ์ ์ ํํ์ธ์.
gcloud
๋ค์ ์์์์๋ gcloud ai endpoints deploy-model
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ค์ ์์์์๋ ์ฌ๋ฌ DeployedModel
๋ฆฌ์์ค ๊ฐ์ ํธ๋ํฝ์ ๋ถํ ํ์ง ์๊ณ Model
์ Endpoint
์ ๋ฐฐํฌํฉ๋๋ค.
์๋์ ๋ช ๋ น์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- ENDPOINT_ID: ์๋ํฌ์ธํธ์ ID
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
- MODEL_ID: ๋ฐฐํฌํ ๋ชจ๋ธ์ ID
-
DEPLOYED_MODEL_NAME:
DeployedModel
์ ์ด๋ฆ์ ๋๋ค.DeployedModel
์Model
ํ์ ์ด๋ฆ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. - MIN_REPLICA_COUNT: ์ด ๋ฐฐํฌ์ ์ต์ ๋ ธ๋ ์. ์ถ๋ก ๋ก๋ ์ ํ์์ ๋ฐ๋ผ ๋ ธ๋ ์๋ฅผ ์ต๋ ๋ ธ๋ ์๊น์ง ๋๋ฆฌ๊ฑฐ๋ ์ด ๋ ธ๋ ์๊น์ง ์ค์ผ ์ ์์ต๋๋ค.
-
MAX_REPLICA_COUNT: ์ด ๋ฐฐํฌ์ ์ต๋ ๋
ธ๋ ์.
์ถ๋ก ๋ก๋ ์ ํ์์ ๋ฐ๋ผ ์ด ๋
ธ๋ ์๋ฅผ ๋
ธ๋ ์๊น์ง ๋๋ฆฌ๊ฑฐ๋ ์ต์ ๋
ธ๋ ์๊น์ง ์ค์ผ ์ ์์ต๋๋ค.
--max-replica-count
ํ๋๊ทธ๋ฅผ ์๋ตํ๋ฉด ์ต๋ ๋ ธ๋ ์๊ฐ--min-replica-count
๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค.
gcloud ai endpoints deploy-model ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Linux, macOS ๋๋ Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --traffic-split=0=100
ํธ๋ํฝ ๋ถํ
์์ ์์์์ --traffic-split=0=100
ํ๋๊ทธ๋ Endpoint
๊ฐ ์์ ํ๋ ์์ธก ํธ๋ํฝ์ 100%๋ฅผ ์ DeployedModel
๋ก ์ ์กํ๋ฉฐ ์์ ID๋ 0
์ผ๋ก ํํ๋ฉ๋๋ค. Endpoint
์ ์ด๋ฏธ ๋ค๋ฅธ DeployedModel
๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ์ DeployedModel
๋ฐ ์ด์ ๋ชจ๋ธ ๊ฐ์ ํธ๋ํฝ์ ๋ถํ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ํธ๋ํฝ์ 20%๋ฅผ ์ DeployedModel
๋ก, 80%๋ฅผ ์ด์ ๋ชจ๋ธ๋ก ์ ์กํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
์๋์ ๋ช ๋ น์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- OLD_DEPLOYED_MODEL_ID: ๊ธฐ์กด
DeployedModel
์ ID
gcloud ai endpoints deploy-model ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Linux, macOS ๋๋ Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
๋ชจ๋ธ ๋ฐฐํฌ
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
- PROJECT_ID: .
- ENDPOINT_ID: ์๋ํฌ์ธํธ์ ID
- MODEL_ID: ๋ฐฐํฌํ ๋ชจ๋ธ์ ID์ ๋๋ค.
-
DEPLOYED_MODEL_NAME:
DeployedModel
์ ์ด๋ฆ์ ๋๋ค.DeployedModel
์Model
ํ์ ์ด๋ฆ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. - TRAFFIC_SPLIT_THIS_MODEL: ์ด ์์ ๊ณผ ํจ๊ป ๋ฐฐํฌ๋๋ ๋ชจ๋ธ๋ก ๋ผ์ฐํ ๋ ์ด ์๋ํฌ์ธํธ์ ๋ํ ์์ธก ํธ๋ํฝ ๋น์จ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 100์ ๋๋ค. ๋ชจ๋ ํธ๋ํฝ ๋น์จ์ ํฉ์ 100์ด ๋์ด์ผ ํฉ๋๋ค. ํธ๋ํฝ ๋ถํ ์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
- DEPLOYED_MODEL_ID_N: ์ ํ์ฌํญ. ๋ค๋ฅธ ๋ชจ๋ธ์ด ์ด ์๋ํฌ์ธํธ์ ๋ฐฐํฌ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋น์จ์ ํฉ์ด 100์ด ๋๋๋ก ํธ๋ํฝ ๋ถํ ๋น์จ์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
- TRAFFIC_SPLIT_MODEL_N: ๋ฐฐํฌ๋ ๋ชจ๋ธ ID ํค์ ํธ๋ํฝ ๋ถํ ๋น์จ ๊ฐ
- PROJECT_NUMBER: ํ๋ก์ ํธ์ ์๋์ผ๋ก ์์ฑ๋ ํ๋ก์ ํธ ๋ฒํธ
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "deployedModel": { "model": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Vertex AI SDK for Python์ ์ค์นํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ Vertex AI SDK for Python ์ค์น๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ ์ํ ๊ฐ์ ธ์ค๊ธฐ
์ผ๋ถ ์์ฒญ์ ์๋ฃํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์ฅ๊ธฐ ์คํ ์์ ์ ์์ํฉ๋๋ค. ์ด๋ฌํ ์์ฒญ์ ์์ ์ํ๋ฅผ ๋ณด๊ฑฐ๋ ์์ ์ ์ทจ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค. Vertex AI๋ ์ฅ๊ธฐ ์คํ ์์ ์ ํธ์ถํ๋ ๋์ฐ๋ฏธ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฅ๊ธฐ ์คํ ์์ ๋ค๋ฃจ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฐฐํฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ ์์ธก ์ํ
์จ๋ผ์ธ ์์ธก์ ์ํํ๋ ค๋ฉด ๋ถ์์ ์ํด ํ๋ ์ด์์ ํ ์คํธ ํญ๋ชฉ์ ๋ชจ๋ธ์ ์ ์ถํ๋ฉด ๋ชจ๋ธ์ด ๋ชจ๋ธ์ ๋ชฉํ์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. ์์ธก ๊ฒฐ๊ณผ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฒฐ๊ณผ ํด์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ ์์ธก์ ์์ฒญํฉ๋๋ค. ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
Google Cloud ์ฝ์์ Vertex AI ์น์ ์์ ๋ชจ๋ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ชจ๋ธ ๋ชฉ๋ก์์ ์์ธก์ ์์ฒญํ ๋ชจ๋ธ์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
๋ฐฐํฌ ๋ฐ ํ ์คํธ ํญ์ ์ ํํฉ๋๋ค.
๋ชจ๋ธ ํ ์คํธ ์น์ ์์ ํ ์คํธ ํญ๋ชฉ์ ์ถ๊ฐํ์ฌ ์์ธก์ ์์ฒญํฉ๋๋ค.
ํ ์คํธ ๋ชฉํ์ ๋ํ AutoML ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด ํ ์คํธ ์ ๋ ฅ๋์ ์ฝํ ์ธ ๋ฅผ ์ ๋ ฅํ๊ณ ์์ธก์ ํด๋ฆญํด์ผ ํฉ๋๋ค.
๋ก์ปฌ ํน์ฑ ์ค์๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ค๋ช ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ธก์ด ์๋ฃ๋๋ฉด Vertex AI๊ฐ ์ฝ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
API
Vertex AI API๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ ์์ธก์ ์์ฒญํฉ๋๋ค. ๋ชจ๋ธ์ ์๋ํฌ์ธํธ์ ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
gcloud
๋ค์ ์ฝํ ์ธ ๋ก
request.json
๋ผ๋ ํ์ผ์ ๋ง๋ญ๋๋ค.{ "instances": [{ "mimeType": "text/plain", "content": "CONTENT" }] }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- CONTENT: ์์ธก์ ์ฌ์ฉ๋๋ ํ ์คํธ ์ค๋ํซ์ ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- ENDPOINT_ID: ์๋ํฌ์ธํธ์ ID
- LOCATION_ID: Vertex AI๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ์๋ํฌ์ธํธ๊ฐ ์๋ ๋ฆฌ์ . ์๋ฅผ ๋ค๋ฉด
us-central1
์ ๋๋ค. - PROJECT_ID:
- ENDPOINT_ID: ์๋ํฌ์ธํธ์ ID์ ๋๋ค.
- CONTENT: ์์ธก์ ์ฌ์ฉ๋๋ ํ ์คํธ ์ค๋ํซ์ ๋๋ค.
- DEPLOYED_MODEL_ID: ์์ธก์ ์ํด ์ฌ์ฉ๋ ๋ฐฐํฌ๋ ๋ชจ๋ธ์ ID์ ๋๋ค.
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "instances": [{ "mimeType": "text/plain", "content": "CONTENT" }] }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "predictions": [ { "ids": [ "1234567890123456789", "2234567890123456789", "3234567890123456789" ], "displayNames": [ "GreatService", "Suggestion", "InfoRequest" ], "confidences": [ 0.8986392080783844, 0.81984345316886902, 0.7722353458404541 ] } ], "deployedModelId": "0123456789012345678" }
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Vertex AI SDK for Python์ ์ค์นํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ Vertex AI SDK for Python ์ค์น๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ผ๊ด ์์ธก ๊ฐ์ ธ์ค๊ธฐ
์ผ๊ด ์์ธก ์์ฒญ์ ์ํํ๋ ค๋ฉด Vertex AI๊ฐ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ์ ๋ ฅ ์์ค์ ์ถ๋ ฅ ํ์์ ์ง์ ํฉ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ
์ผ๊ด ์์ฒญ์ ์ ๋ ฅ์ ์์ธก์ ์ํด ๋ชจ๋ธ์ ๋ณด๋ผ ํญ๋ชฉ์ ์ง์ ํฉ๋๋ค. ํ ์คํธ ๋ถ๋ฅ ๋ชจ๋ธ์ ๊ฒฝ์ฐ JSON Lines ํ์ผ์ ์ฌ์ฉํ์ฌ ์์ธก์ ์ํํ ๋ฌธ์ ๋ชฉ๋ก์ ์ง์ ํ ๋ค์ JSON Lines ํ์ผ์ Cloud Storage ๋ฒํท์ ์ ์ฅํ ์ ์์ต๋๋ค. ๋ค์ ์ํ์์๋ ์ ๋ ฅ JSON Lines ํ์ผ์ ๋จ์ผ ์ค์ ๋ณด์ฌ์ค๋๋ค.
{"content": "gs://sourcebucket/datasets/texts/source_text.txt", "mimeType": "text/plain"}
๋ฐฐ์น ์์ธก ์์ฒญ
์ผ๊ด ์์ธก ์์ฒญ์ ๊ฒฝ์ฐ Google Cloud ์ฝ์ ๋๋ Vertex AI API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ์ถํ ์ ๋ ฅ ํญ๋ชฉ ์์ ๋ฐ๋ผ ์ผ๊ด ์์ธก ํ์คํฌ๋ฅผ ์๋ฃํ๋ ๋ฐ ๋ค์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
Google Cloud ์ฝ์
Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ ์ผ๊ด ์์ธก์ ์์ฒญํฉ๋๋ค.
Google Cloud ์ฝ์์ Vertex AI ์น์ ์์ ์ผ๊ด ์์ธก ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ ์ผ๊ด ์์ธก ์ฐฝ์ ์ด๊ณ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
- ์ผ๊ด ์์ธก์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- ๋ชจ๋ธ ์ด๋ฆ์์ ์ด ์ผ๊ด ์์ธก์ ์ฌ์ฉํ ๋ชจ๋ธ์ ์ด๋ฆ์ ์ ํํฉ๋๋ค.
- ์์ค ๊ฒฝ๋ก์์ JSON Lines ์ ๋ ฅ ํ์ผ์ด ์๋ Cloud Storage ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
- ๋์ ๊ฒฝ๋ก์์ ์ผ๊ด ์์ธก ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋๋ Cloud Storage ์์น๋ฅผ ์ง์ ํฉ๋๋ค. ์ถ๋ ฅ ํ์์ ๋ชจ๋ธ์ ๋ชฉํ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ํ ์คํธ ๋ชฉํ์ AutoML ๋ชจ๋ธ์ JSON Lines ํ์ผ์ ์ถ๋ ฅํฉ๋๋ค.
API
Vertex AI API๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๊ด ์์ธก ์์ฒญ์ ์ ์กํฉ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_IS: ๋ชจ๋ธ์ด ์ ์ฅ๋๊ณ ์ผ๊ด ์์ธก ์์
์ด ์คํ๋๋ ๋ฆฌ์ . ์๋ฅผ ๋ค๋ฉด
us-central1
์ ๋๋ค. - PROJECT_ID:
- BATCH_JOB_NAME: ์ผ๊ด ์์ ์ ํ์ ์ด๋ฆ
- MODEL_ID: ์์ธก์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ๋ชจ๋ธ์ ID
- URI: ์ ๋ ฅ JSON Lines ํ์ผ์ด ์๋ Cloud Storage URI
- BUCKET: Cloud Storage ๋ฒํท
- PROJECT_NUMBER: ํ๋ก์ ํธ์ ์๋์ผ๋ก ์์ฑ๋ ํ๋ก์ ํธ ๋ฒํธ
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "displayName": "BATCH_JOB_NAME", "model": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris": ["URI"] } }, "outputConfig": { "predictionsFormat": "jsonl", "gcsDestination": { "outputUriPrefix": "OUTPUT_BUCKET" } } }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID", "displayName": "BATCH_JOB_NAME", "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris": [ "CONTENT" ] } }, "outputConfig": { "predictionsFormat": "jsonl", "gcsDestination": { "outputUriPrefix": "BUCKET" } }, "state": "JOB_STATE_PENDING", "completionStats": { "incompleteCount": "-1" }, "createTime": "2022-12-19T20:33:48.906074Z", "updateTime": "2022-12-19T20:33:48.906074Z", "modelVersionId": "1" }
์์
state
๊ฐ JOB_STATE_SUCCEEDED
๊ฐ ๋ ๋๊น์ง BATCH_JOB_ID๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๊ด ์์
์ ์ํ๋ฅผ ํด๋งํ ์ ์์ต๋๋ค.
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Vertex AI ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Vertex AI Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Vertex AI์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Vertex AI SDK for Python์ ์ค์นํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ Vertex AI SDK for Python ์ค์น๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ผ๊ด ์์ธก ๊ฒฐ๊ณผ ๊ฒ์
์ผ๊ด ์์ธก ์์ ์ด ์๋ฃ๋๋ฉด ์์ฒญ์ ์ง์ ํ Cloud Storage ๋ฒํท์ ์์ธก ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
์ผ๊ด ์์ธก ๊ฒฐ๊ณผ ์์
๋ค์์ ํ ์คํธ ๋ถ๋ฅ ๋ชจ๋ธ์ ์ผ๊ด ์์ธก ๊ฒฐ๊ณผ ์์์ ๋๋ค.
{ "instance": {"content": "gs://bucket/text.txt", "mimeType": "text/plain"}, "predictions": [ { "ids": [ "1234567890123456789", "2234567890123456789", "3234567890123456789" ], "displayNames": [ "GreatService", "Suggestion", "InfoRequest" ], "confidences": [ 0.8986392080783844, 0.81984345316886902, 0.7722353458404541 ] } ] }