모델 평가 구성요소

모델 평가 구성요소는 정답과 일괄 예측 결과를 입력으로 사용하고 평가 측정항목을 생성합니다. 정답 데이터는 사람이 결정한 대로 '올바르게 라벨이 지정'된 데이터이며 일반적으로 모델을 학습시키는 데 사용한 테스트 데이터 세트의 타겟 필드로 제공됩니다. 자세한 내용은 Vertex AI의 모델 평가를 참조하세요.

Vertex AI는 다음과 같은 모델 평가 구성요소를 제공합니다.

모델 유형 지원

다음 표에서는 각 모델 평가 구성요소에 지원되는 모델 유형을 보여줍니다.

모델 평가 구성요소 지원되는 모델 유형
ModelEvaluationClassificationOp
  • AutoML 테이블 형식, 이미지, 텍스트, 동영상
  • 커스텀 테이블 형식
  • ModelEvaluationRegressionOp
  • AutoML 테이블 형식
  • 커스텀 테이블 형식
  • ModelEvaluationForecastingOp
  • AutoML 테이블 형식
  • 대상 필드 삭제

    일부 모델 유형의 경우 BatchPredictionJob 구성요소를 사용하려면 데이터 세트에서 타겟 열(정답)을 제외해야 합니다.

    테이블 형식 데이터 세트의 슬라이스 구성 및 형식 지정

    슬라이스는 지정된 특성이 있는 테이블 형식 데이터의 하위 집합입니다. 슬라이스 측정항목은 AutoML 테이블 형식 및 커스텀 학습 분류 모델에 보다 세부적인 평가 측정항목을 제공합니다.

    예를 들어 일주일 내로 반려동물을 입양할지 여부를 예측하도록 모델을 학습시킨 애완동물 입양 데이터 세트를 살펴보겠습니다. 전체 데이터 세트의 측정항목을 살펴보는 것이 유용하지만 반려동물의 종과 나이와 관련된 측정항목에 관심이 있을 수 있습니다. 즉, 다음 데이터 세트 하위 집합에 관심이 있습니다.

    특성
    age (in years) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
    species "dog", "cat", "rabbit"

    이러한 세분화된 분석은 모델이 오류 발생 가능성이 가장 높은 위치를 식별하거나 중요한 데이터 하위 집합에서 모델이 잘 작동하는지 확인하는 데 유용할 수 있습니다.

    슬라이스 구성

    슬라이스를 구성하려면 다음 구성을 사용하여 JSON 파일을 만듭니다.

    {
      "FEATURE": {
        "KIND": {
          CONFIG
        }
      }
    }
    

    각 항목의 의미는 다음과 같습니다.

    • FEATURE는 슬라이스를 만들 특성입니다. 예를 들면 age입니다.

    • KIND는 다음 중 하나입니다.

      • value

        value는 특성의 단일 값에 대한 단일 슬라이스를 만듭니다. 키가 float_value 또는 string_value인 키-값 쌍으로 CONFIG를 지정합니다. 예를 들면 "float_value": 1.0입니다.

        다음 구성 예시에서는 1age를 포함하는 단일 슬라이스 포함 데이터를 만듭니다.

        {
          "age": {
            "value": {
              "float_value": 1.0
            }
          }
        }
      • range

        range는 지정된 범위 내의 데이터를 포함하는 단일 슬라이스를 만듭니다. 키가 lowhigh인 두 개의 키-값 쌍으로 CONFIG를 지정합니다.

        다음 예시 구성은 age13 사이의 값인 단일 슬라이스를 만듭니다.

        {
          "age": {
            "range": {
              "low": 1,
              "high": 3
            }
          }
        }
      • all_values

        all_values는 특성의 가능한 각 라벨별로 슬라이스를 만듭니다. CONFIG"value": true로 지정합니다.

        다음 구성 예시에서는 "dog", "cat", "rabbit"에 각각 하나씩 3개의 슬라이스를 만듭니다.

        {
          "species": {
            "all_values": {
              "value": true
            }
          }
        }

    여러 특성을 사용하여 슬라이스를 하나 이상 만들 수도 있습니다.

    다음 구성에서는 age13 사이이고 species"dog"인 단일 슬라이스 포함 데이터를 만듭니다.

    {
      "age": {
        "range": {
          "low": 1,
          "high": 3
        }
      },
      "species": {
        "value": {
          "string_value": "dog"
        }
      }
    }
    

    다음 구성에서는 데이터 세트의 각 고유 종마다 하나씩 여러 개의 슬라이스를 만듭니다. 여기서 age1입니다.

    {
      "species": {
        "all_values": {
          "value": true
        }
      },
      "age": {
        "value": {
          "float_value": 1.0
        }
      }
    }
    

    결과 슬라이스에는 예시 데이터 세트의 다음 데이터가 포함됩니다.

    • 슬라이스 1: age:1species:"dog"

    • 슬라이스 2: age:1species:"cat"

    • 슬라이스 3: age:1species:"rabbit"

    슬라이스 형식 지정

    ModelEvaluationClassificationOp 구성요소의 슬라이스 형식을 지정하려면 다음을 수행합니다.

    1. slicing_spec를 만듭니다. 예를 들면 다음과 같습니다.

      from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice import SliceSpec
      from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice.SliceSpec import SliceConfig
      
      slicing_spec = SliceSpec(configs={ 'feature_a': SliceConfig(SliceSpec.Value(string_value='label_a') ) })
    2. 슬라이스 구성을 저장할 목록을 만듭니다. 예를 들면 다음과 같습니다.

      slicing_specs = []
    3. slicing_spec의 형식을 JSON 또는 사전으로 지정합니다. 예를 들면 다음과 같습니다.

      slicing_spec_json = json_format.MessageToJson(slicing_spec)
      
      slicing_spec_dict = json_format.MessageToDict(slicing_spec)
    4. slicing_spec를 목록으로 결합합니다. 예를 들면 다음과 같습니다.

      slicing_specs.append(slicing_spec_json)
    5. slicing_specs를 매개변수로 ModelEvaluationClassificationOp 구성요소에 전달합니다. 예를 들면 다음과 같습니다.

      ModelEvaluationClassificationOp(slicing_specs=slicing_specs)

    공정성 측정항목 구성 슬라이스의 형식 지정

    모델의 공정성을 평가하려면 다음 구성요소를 사용하세요.

    DetectDataBiasOpDetectModelBiasOp 구성요소의 슬라이스 형식을 지정하려면 다음을 수행합니다.

    1. BiasConfig를 만듭니다. 예를 들면 다음과 같습니다.

      from google.cloud.aiplatform_v1.types.ModelEvaluation import BiasConfig
      from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice import SliceSpec
      from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice.SliceSpec import SliceConfig
      
      bias_config = BiasConfig(bias_slices=SliceSpec(configs={ 'feature_a': SliceConfig(SliceSpec.Value(string_value='label_a') ) }))
    2. 편향 구성을 저장할 목록을 만듭니다. 예를 들면 다음과 같습니다.

      bias_configs = []
    3. bias_config의 형식을 JSON 또는 사전으로 지정합니다. 예를 들면 다음과 같습니다.

      bias_config_json = json_format.MessageToJson(bias_config)
      
      bias_config_dict = json_format.MessageToDict(bias_config)
    4. bias_config를 목록으로 결합합니다. 예를 들면 다음과 같습니다.

      bias_configs.append(bias_config_json)
    5. bias_configs를 매개변수로 DetectDataBiasOp 또는 DetectModelBiasOp 구성요소에 전달합니다. 예를 들면 다음과 같습니다.

      DetectDataBiasOp(bias_configs=bias_configs)
      
      DetectModelBiasOp(bias_configs=bias_configs)

    필수 입력 매개변수

    모델 평가 구성요소의 필수 입력 매개변수는 평가하는 모델 유형에 따라 다릅니다.

    AutoML 모델

    AutoML 모델을 학습시킬 때 Vertex AI는 기본 스키마를 사용합니다. 모델 평가 구성요소의 일부 입력 매개변수는 기본이 아닌 스키마를 사용하여 모델을 학습시키는 경우에만 필요합니다.

    다음 Cloud Storage 위치에서 스키마 파일을 보고 다운로드할 수 있습니다.
    gs://google-cloud-aiplatform/schema/modelevaluation/

    다음 탭에서는 일괄 예측 출력 파일의 예시와 각 모델 유형의 필수 입력 매개변수를 보여줍니다.

    테이블 형식

    분류

    기본 스키마에는 다음 필드가 포함됩니다.

    • scores: 배열
    • classes: 배열

    다음은 male의 타겟 열이 있는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": {
        "male": "1",
        "age": "49",
        "heartRate": "67",
        "education": "medium_high",
        "totChol": "282",
        "diaBP": "79",
        "BPMeds": "0",
        "currentSmoker": "current_high",
        "cigsPerDay": "25",
        "prevalentStroke": "stroke_0",
        "prevalentHyp": "hyp_0",
        "TenYearCHD": "FALSE",
        "diabetes": "0",
        "sysBP": "134",
        "BMI": "26.87",
        "glucose": "78"
        },
      "prediction": {
          "scores": [0.3666940927505493, 0.6333059072494507],
          "classes": ["0", "1"]
        }
    }
              

    다음 표에서는 테이블 형식 모델을 사용하는 ModelEvaluationClassificationOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 prediction.classes을 사용합니다.
    prediction_score_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 prediction.scores을 사용합니다.
    evaluation_class_labels 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 ["0","1"]를 사용합니다.

    회귀

    기본 스키마에는 다음 필드가 포함됩니다.

    • value: 부동 소수점
    • lower_bound: 부동 소수점
    • upper_bound: 부동 소수점

    다음은 age의 타겟 열이 있는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": {
        "BPMeds": "0",
        "diabetes": "0",
        "diaBP": "65",
        "cigsPerDay": "45",
        "prevalentHyp": "hyp_0",
        "age": "46",
        "male": "1",
        "sysBP": "112.5",
        "glucose": "78",
        "BMI": "27.48",
        "TenYearCHD": "FALSE",
        "totChol": "209",
        "education": "high",
        "prevalentStroke": "stroke_0",
        "heartRate": "75",
        "currentSmoker": "current_high"
      },
      "prediction": {
        "value": 44.96103286743164,
        "lower_bound": 44.61349868774414,
        "upper_bound": 44.590206146240234
      }
    }
              

    다음 표에서는 테이블 형식 모델을 사용하는 ModelEvaluationRegressionOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 회귀 모델에서는 필요하지 않습니다.
    prediction_score_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 prediction.value를 사용합니다.
    evaluation_class_labels 회귀 모델에서는 필요하지 않습니다.

    예측

    테이블 형식 예측 모델의 경우 BatchPredictionJob 구성요소를 사용하려면 데이터 세트에서 대상 열(정답)을 제외해야 합니다.

    기본 스키마에는 다음 필드가 포함됩니다.

    • id: 문자열
    • displayNames: 문자열
    • type: 열거형
    • timeSegmentStart: 문자열
    • timeSegmentEnd: 문자열
    • confidence: 부동 소수점

    다음은 sale_dollars가 타겟 열로 포함된 CSV 파일의 예시입니다.

    date,store_name,city,zip_code,county,sale_dollars
    2020-03-17,Thriftway,,,,774.08999999999992
    2020-03-10,Thriftway,,,,1160.67
    2020-03-03,Thriftway,,,,2247.24
    2020-06-08,New Star / Fort Dodge,,,,753.98
    2020-06-01,New Star / Fort Dodge,,,,967.73
    2020-01-10,Casey's General Store #1280 / Fort Dodge,,,,1040.92
    2020-10-30,KUM & GO #76 / ADAIR,Adair,50002,ADAIR,1387.02
              

    TargetFieldDataRemoverOp 구성요소는 파일을 BatchPredictionJob 구성요소로 보내기 전에 타겟 열을 삭제합니다.

    date,store_name,city,zip_code,county
    2020-03-17,Thriftway,nan,nan,nan
    2020-03-10,Thriftway,nan,nan,nan
    2020-03-03,Thriftway,nan,nan,nan
    2020-06-08,New Star / Fort Dodge,nan,nan,nan
    2020-06-01,New Star / Fort Dodge,nan,nan,nan
    2020-01-10,Casey's General Store #1280 / Fort Dodge,nan,nan,nan
    2020-10-30,KUM & GO #76 / ADAIR,Adair,50002.0,ADAIR
              

    다음은 sale_dollars의 타겟 열이 없는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": {
        "content": "gs://kbn-us-central1-test/datasets/text/happy_11556.txt",
        "mimeType":"text/plain"
      },
      "prediction": {
        "ids":    ["7903916851837534208","3292230833410146304","986387824196452352","2139309328803299328","5598073842623840256","6750995347230687232","4559431178561519616"],
        "displayNames": ["affection","bonding","achievement","exercise","nature","enjoy_the_moment","leisure"],
        "confidences": [0.99483216,0.005162797,4.1117933E-6,3.9997E-7,2.4624453E-7,1.9969502E-7,1.16997434E-7]
      }
    }
              

    다음 표에서는 테이블 형식 모델을 사용하는 ModelEvaluationForecastingOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 예측 모델에서는 필요하지 않습니다.
    prediction_score_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 "prediction.value"을 사용합니다.
    evaluation_class_labels 예측 모델에서는 필요하지 않습니다.
    ground_truth_gcs_source 예: 타겟 열이 있는 원본 데이터 세트에 대한 Cloud Storage 링크
    ground_truth_format 예: 원본 데이터 세트의 형식. 예를 들면 "jsonl", "csv" 또는 "bigquery"입니다.

    텍스트

    분류

    텍스트 분류 모델의 경우 BatchPredictionJob 구성요소를 사용하려면 데이터 세트에서 타겟 열(정답)을 제외해야 합니다. 더욱 효율적인 워크플로를 위해 TargetFieldDataRemoverOp 구성요소를 사용할 수 있습니다.

    기본 스키마에는 다음 필드가 포함됩니다.

    • ids: 문자열 배열
    • displayName: 문자열 배열
    • confidence: 부동 소수점 배열

    다음은 label이 타겟 열로 포함된 데이터 세트의 예시입니다.

    {
      "content": "gs://kbn-us-central1-test/datasets/text/happy_0.txt",
      "mimeType": "text/plain",
      "label": "affection"
    }
              

    TargetFieldDataRemoverOp 구성요소는 파일을 BatchPredictionJob 구성요소로 보내기 전에 타겟 열을 삭제합니다.

    {
      "content": "gs://kbn-us-central1-test/datasets/text/happy_0.txt",
      "mimeType": "text/plain"
    }
              

    다음은 label의 타겟 열이 없는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": {
        "content": "gs://kbn-us-central1-test/datasets/text/happy_11556.txt",
        "mimeType":"text/plain"
      },
      "prediction": {
        "ids":    ["7903916851837534208","3292230833410146304","986387824196452352","2139309328803299328","5598073842623840256","6750995347230687232","4559431178561519616"],
        "displayNames": ["affection","bonding","achievement","exercise","nature","enjoy_the_moment","leisure"],
        "confidences": [0.99483216,0.005162797,4.1117933E-6,3.9997E-7,2.4624453E-7,1.9969502E-7,1.16997434E-7]
      }
    }
              

    다음 표에서는 텍스트 모델을 사용하는 ModelEvaluationClassificationOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 "prediction.displayNames"을 사용합니다.
    prediction_score_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 "prediction.confidences"를 사용합니다.
    evaluation_class_labels 기본 스키마에 또는 prediction_label_column를 제공할 때에는 필요하지 않습니다.
    ground_truth_gcs_source 예: 타겟 열이 있는 원본 데이터 세트에 대한 Cloud Storage 링크
    ground_truth_format 예: 원본 데이터 세트의 형식. 예를 들면 "jsonl", "csv" 또는 "bigquery"입니다.

    동영상

    분류

    동영상 분류 모델의 경우 BatchPredictionJob 구성요소를 사용하려면 데이터 세트에서 타겟 열(정답)을 제외해야 합니다. 더욱 효율적인 워크플로를 위해 TargetFieldDataRemoverOp 구성요소를 사용할 수 있습니다.

    기본 스키마에는 다음 필드가 포함됩니다.

    • id: 문자열
    • displayName: 문자열
    • type: 열거형
    • timeSegmentStart: 문자열
    • timeSegmentEnd: 문자열
    • confidence: 부동 소수점

    다음은 ground_truth이 타겟 열로 포함된 데이터 세트의 예시입니다.

    {
      "content": "gs://automl-video-demo-data/hmdb51/Aerial_Cartwheel_Tutorial_By_Jujimufu_cartwheel_f_nm_np1_ri_med_0.avi",
      "ground_truth": "cartwheel",
      "timeSegmentStart": "0.0",
      "timeSegmentEnd": "inf"
    }
              

    TargetFieldDataRemoverOp 구성요소는 파일을 BatchPredictionJob 구성요소로 보내기 전에 타겟 열을 삭제합니다.

    {
      "content": "gs://automl-video-demo-data/hmdb51/Aerial_Cartwheel_Tutorial_By_Jujimufu_cartwheel_f_nm_np1_ri_med_0.avi",
      "timeSegmentStart": "0.0",
      "timeSegmentEnd": "inf"
    }
              

    다음은 label의 타겟 열이 없는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": {
        "content": "gs://automl-video-demo-data/hmdb51/20_Marine_Corps_Pull_Ups___JimmyDShea_pullup_f_cm_np1_ba_bad_3.avi"
        "mimeType": "video/avi",
        "timeSegmentStart": "0.0",
        "timeSegmentEnd": "inf"
      },
      "prediction": [
        {
          "id":"5015420640832782336",
          "displayName":"pullup",
          "type":"segment-classification",
          "timeSegmentStart":"0s",
          "timeSegmentEnd":"2.600s",
          "confidence":0.98152995
        },
        {
          "id":"2709577631619088384",
          "displayName":"cartwheel",
          "type":"segment-classification",
          "timeSegmentStart":"0s",
          "timeSegmentEnd":"2.600s",
          "confidence":0.0047166348
        },
        {
          "id":"403734622405394432",
          "displayName":"golf",
          "type":"segment-classification",
          "timeSegmentStart":"0s",
          "timeSegmentEnd":"2.600s",
          "confidence":0.0046260506
        },
        {
          "id":"1556656127012241408",
          "displayName":"ride_horse",
          "type":"segment-classification",
          "timeSegmentStart":"0s",
          "timeSegmentEnd":"2.600s",
          "confidence":0.004590442
        },
        {
          "id":"7321263650046476288",
          "displayName":"kick_ball",
          "type":"segment-classification",
          "timeSegmentStart":"0s",
          "timeSegmentEnd":"2.600s",
          "confidence":0.004536863
        }
      ]
    }
              

    다음 표에서는 동영상 모델을 사용하는 ModelEvaluationClassificationOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 "prediction.displayName"을 사용합니다.
    prediction_score_column 기본 스키마에서는 필요하지 않습니다.
    기본이 아닌 스키마에는 "prediction.confidence"를 사용합니다.
    evaluation_class_labels 기본 스키마가 사용되거나 prediction_label_column이 제공되는 경우에는 필요하지 않습니다.
    ground_truth_gcs_source 예: 타겟 열이 있는 원본 데이터 세트에 대한 Cloud Storage 링크
    ground_truth_format 예: 원본 데이터 세트의 형식. 예를 들면 "jsonl", "csv" 또는 "bigquery"입니다.

    커스텀 학습 모델

    커스텀 학습 모델의 경우 BatchPredictionJob 구성요소를 사용하려면 데이터 세트에서 타겟 열(정답)을 제외해야 합니다. 더욱 효율적인 워크플로를 위해 TargetFieldDataRemoverOp 구성요소를 사용할 수 있습니다.

    다음 예시에서는 커스텀 학습 테이블 형식 분류 모델의 일괄 예측 출력 파일과 필수 입력 매개변수를 보여줍니다.

    테이블 형식

    분류

    일반적인 스키마에는 다음 필드가 포함됩니다.

    • instance: 모델 학습 데이터 세트 열과 순서가 동일한 입력 데이터 배열
    • prediction: 모델 학습 데이터 세트 열과 순서가 동일한 입력 데이터 배열

    다음은 species가 타겟 열로 포함된 CSV 데이터 세트의 예시입니다.

    petal_length,petal_width,sepal_length,sepal_width,species
    6.4,2.8,5.6,2.2,2
    5.0,2.3,3.3,1.0,1
    4.9,2.5,4.5,1.7,2
    4.9,3.1,1.5,0.1,0
              

    TargetFieldDataRemoverOp 구성요소는 파일을 일괄 예측 구성요소로 보내기 전에 타겟 열을 삭제합니다.

    petal_length,petal_width,sepal_length,sepal_width
    6.4,2.8,5.6,2.2
    5.0,2.3,3.3,1.0
    4.9,2.5,4.5,1.7
    4.9,3.1,1.5,0.1
              

    다음은 species의 타겟 열이 없는 일괄 예측 출력 파일의 예시입니다.

    {
      "instance": [5.6, 2.5, 3.9, 1.1],
      "prediction": [0.0005816521588712931, 0.9989032745361328, 0.0005150380893610418]
    }
    {
      "instance": [5.0, 3.6, 1.4, 0.2],
      "prediction": [0.999255359172821, 0.000527293945197016, 0.00021737271163146943]
    }
    {
      "instance": [6.0, 2.9, 4.5, 1.5],
      "prediction": [0.00025063654175028205, 0.9994204044342041, 0.00032893591560423374]
    }
              

    다음 표에서는 동영상 모델을 사용하는 ModelEvaluationClassificationOp 구성요소에 필요한 매개변수를 설명합니다.

    평가 구성요소 매개변수 필수
    target_field_name
    prediction_label_column 비어 있어야 합니다. 이 열은 커스텀 학습 모델에 존재하지 않습니다.
    prediction_score_column 기본 스키마에는 필요하지 않지만 JSONL, CSV 또는 BIGQUERY 형식에는 자동으로 설정됩니다.
    evaluation_class_labels 예. 출력 예측 배열과 길이가 같아야 합니다.
    ground_truth_gcs_source 예: 타겟 열이 있는 원본 데이터 세트에 대한 Cloud Storage 링크
    ground_truth_format 예: 원본 데이터 세트의 형식. 예를 들면 "jsonl", "csv" 또는 "bigquery"입니다.

    Vertex AI에서 생성된 일괄 예측이 없는 모델 평가

    Vertex AI에서 생성하지 않은 일괄 예측에 모델 평가 파이프라인 구성요소를 사용할 수 있습니다. 하지만 모델 평가 파이프라인 구성요소의 입력은 다음 프리픽스와 일치하는 파일이 포함된 일괄 예측 디렉터리여야 합니다.

    • prediction.results-

    • explanation.results-

    • predictions_

    API 참조

    버전 기록 및 출시 노트

    Google Cloud 파이프라인 구성요소 SDK의 버전 기록 및 변경사항을 자세히 알아보려면 Google Cloud 파이프라인 구성요소 SDK 출시 노트를 참조하세요.