이 페이지에서는 AML AI 모델을 만들고 관리하는 방법을 보여줍니다. AML AI의 ML 학습 파이프라인을 시작할 모델을 만듭니다. 모델을 사용하여 다양한 데이터 세트에서 예측을 실행하거나 백테스트를 수행할 수 있습니다.
이 시점에서는 모델을 만들고 연관된 메타데이터 내보내기만 수행할 수 있습니다. 다른 모델 메서드는 완전성을 위해 제공됩니다.
시작하기 전에
-
엔진 모델을 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 금융 서비스 관리자(
financialservices.admin
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요. - 인스턴스 만들기
- 엔진 구성 만들기
- 데이터 세트 만들기
모델 만들기
일부 API 메서드는 장기 실행 작업(LRO)을 반환합니다. 이러한 메서드는 비동기적이며 작업 객체를 반환합니다. 자세한 내용은 REST 참조를 확인하세요. 메서드가 응답을 반환해도 작업이 완료되지 않았을 수 있습니다. 이러한 메서드의 경우 요청을 전송한 후 결과를 확인하세요. 일반적으로 모든 POST, PUT, UPDATE, DELETE 작업은 장기 실행됩니다.
요청 전송
모델을 만들려면 projects.locations.instances.models.create
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자MODEL_ID
: 모델의 사용자 정의 식별자ENGINE_CONFIG_ID
: 엔진 구성의 사용자 정의 식별자DATASET_ID
: 이 모델을 학습시키는 데 사용되는 기본 데이터 세트의 사용자 정의 식별자TRAINING_END_DATE
: 학습 특성을 생성하는 데 데이터가 사용되는 최신 시간. 이 날짜는 기본 데이터 세트의 종료 시간과 같거나 이전이어야 합니다. RFC3339 UTC 'Zulu' 형식을 사용합니다(예:2014-10-02T15:01:23Z
).
JSON 요청 본문:
{ "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE" }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
cat > request.json << 'EOF' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE" } EOF
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models?model_id=MODEL_ID"
PowerShell
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
@' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE" } '@ | Out-File -FilePath request.json -Encoding utf8
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
$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://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models?model_id=MODEL_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
결과 확인
모델이 생성되었는지 확인하려면 projects.locations.operations.get
메서드를 사용합니다. 응답에 "done": false
가 포함되어 있으면 응답에 "done": true
가 포함될 때까지 명령어를 반복합니다.
이 작업을 완료하는 데 몇 분에서 몇 시간까지 걸릴 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: 작업의 식별자
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "endTime": "2023-03-14T16:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.Model", "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineVersions/ENGINE_VERSION_ID", "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE", "lineOfBusiness": "RETAIL" } }
메타데이터 내보내기
모델의 메타데이터를 내보내려면 projects.locations.instances.models.exportMetadata
메서드를 사용합니다.
자세한 내용은 AML 출력 데이터 모델에서 내보낸 메타데이터를 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자MODEL_ID
: 모델의 사용자 정의 식별자BQ_OUTPUT_DATASET_NAME
: 모델의 구조화된 메타데이터를 설명하는 테이블을 내보낼 BigQuery 데이터 세트STRUCTURED_METADATA_TABLE
: 구조화된 메타데이터를 쓸 테이블WRITE_DISPOSITION
: 대상 테이블이 이미 있으면 발생하는 작업으로 다음 값 중 하나를 사용합니다.-
WRITE_EMPTY
: BigQuery 테이블이 비어 있는 경우에만 데이터를 내보냅니다. -
WRITE_TRUNCATE
: 테이블에 쓰기 전에 BigQuery 테이블에서 기존 데이터를 모두 삭제합니다.
-
JSON 요청 본문:
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } EOF
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID:exportMetadata"
PowerShell
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
$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://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID:exportMetadata" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
장기 실행 작업(LRO)의 결과를 가져오는 방법에 대한 자세한 내용은 결과 확인을 참조하세요.
모델 가져오기
모델을 가져오려면 projects.locations.instances.models.get
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자MODEL_ID
: 모델의 사용자 정의 식별자
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "createTime": "2023-03-14T15:52:55.358979323Z", "updateTime": "2023-03-15T15:52:55.358979323Z", "state": "ACTIVE", "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineVersions/ENGINE_VERSION_ID", "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE", "lineOfBusiness": "RETAIL" }
모델 업데이트
모델을 업데이트하려면 projects.locations.instances.models.patch
메서드를 사용합니다.
모델의 라벨 필드만 업데이트할 수 있습니다. 다음 예시에서는 모델과 연결된 이러한 키-값 쌍 사용자 라벨을 업데이트합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자MODEL_ID
: 모델의 사용자 정의 식별자KEY
: 모델을 구성하는 데 사용되는 키-값 쌍의 키 자세한 내용은labels
를 참조하세요.VALUE
: 모델을 구성하는 데 사용되는 키-값 쌍의 값입니다. 자세한 내용은labels
를 참조하세요.
JSON 요청 본문:
{ "labels": { "KEY": "VALUE" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID?updateMask=labels"
PowerShell
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID?updateMask=labels" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
장기 실행 작업(LRO)의 결과를 가져오는 방법에 대한 자세한 내용은 결과 확인을 참조하세요.
모델 나열
특정 인스턴스의 모델을 나열하려면 projects.locations.instances.models.list
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "models": [ { "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "createTime": "2023-03-14T15:52:55.358979323Z", "updateTime": "2023-03-15T15:52:55.358979323Z", "state": "ACTIVE", "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineVersions/ENGINE_VERSION_ID", "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "TRAINING_END_DATE", "lineOfBusiness": "RETAIL" } ] }
모델 삭제
모델을 삭제하려면 projects.locations.instances.models.delete
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 IDLOCATION
: 인스턴스의 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: 인스턴스의 사용자 정의 식별자MODEL_ID
: 모델의 사용자 정의 식별자
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
장기 실행 작업(LRO)의 결과를 가져오는 방법에 대한 자세한 내용은 결과 확인을 참조하세요.