설명 보기

이 가이드에서는 Vertex AI의 Model 리소스에서 설명을 확인하는 방법을 설명합니다. 다음 두 가지 방법으로 설명을 확인할 수 있습니다.

  • 온라인 설명: Vertex AI API에 대한 동기식 요청으로, 특징 기여 분석이 포함된 예측을 반환하는 온라인 예측과 유사합니다.

  • 일괄 설명: 특성 추출을 통해 예측을 반환하는 Vertex AI API에 대한 비동기식 요청입니다. 일괄 설명은 일괄 예측 요청의 선택사항 부분입니다.

시작하기 전에

설명을 보기 전에 다음을 수행해야 합니다.

  1. 이 단계는 사용하는 머신러닝 모델의 유형에 따라 달라집니다.

  2. 온라인 설명을 확인하려면 이전 단계에서 만든 ModelEndpoint 리소스에 배포합니다.

온라인 설명 보기

온라인 설명을 확인하려면 온라인 예측을 수행하는 것과 동일한 단계의 대부분을 실행합니다. 하지만 Vertex AI API에 projects.locations.endpoints.predict 요청을 전송하는 대신 projects.locations.endpoints.explain 요청을 전송합니다.

다음 가이드에서는 온라인 설명 요청 준비 및 전송에 대한 자세한 안내를 제공합니다.

일괄 설명 보기

일괄 설명을 확인하려면 일괄 예측 작업을 만들 때 generateExplanation 필드true로 설정합니다.

일괄 예측 작업 준비 및 만들기에 대한 자세한 안내는 일괄 예측 보기를 참조하세요.

Notebooks에서 로컬로 설명 보기

Notebooks에서는 설명을 확인하기 위해 Vertex AI에 모델을 배포할 필요 없이 노트북의 로컬 커널 또는 런타임 내에서 Explainable AI를 실행하여 커스텀 학습 모델에 대한 설명을 생성할 수 있습니다. 로컬 설명을 사용하면 변경사항마다 Vertex AI 모델 배포를 조정하지 않고도 다양한 Explainable AI 설정을 사용해 볼 수 있습니다. 덕분에 다양한 기준을 사용하거나 설명에 다른 시각화 설정을 사용해 보거나 알고리즘에 사용되는 단계 또는 경로 수를 조정할 때의 영향을 쉽고 빠르게 평가할 수 있습니다.

로컬 설명은 Notebooks 내에서만 사용할 수 있으므로 이 특성은 Notebooks 인스턴스 외부에서 실행되는 Jupyter 노트북에서는 작동하지 않습니다.

Notebooks 인스턴스에서 로컬로 설명을 생성하려면 다음 안내를 따르세요.

  • Notebooks 인스턴스 만들기
  • Notebooks 인스턴스에서 JupyterLab 환경을 시작한 후 노트북을 만들거나 가져옵니다.
  • 모델 아티팩트를 노트북의 로컬 환경 또는 Cloud Storage 버킷에 저장합니다.
  • 메타데이터를 생성 및 저장하여 모델을 설명하고 설명 요청을 구성합니다.

Notebooks에서 Explainable AI SDK 사용

Explainable AI SDK는 Notebooks 인스턴스에 사전 설치되어 있습니다. 노트북 내에서 Explainable AI SDK를 사용하여 모델 아티팩트를 저장하고 설명 요청의 모델 입력 및 출력에 대한 메타데이터를 자동으로 식별할 수 있습니다. 다른 매개변수를 지정하여 설명 요청을 구성한 후 설명 결과를 시각화할 수도 있습니다.

노트북의 로컬 환경이나 Cloud Storage 버킷에 모델과 메타데이터를 저장할 수 있습니다. TensorFlow를 사용하는 경우 save_model_with_metadata() 메서드를 사용하여 모델의 입력과 출력을 추론하고 이 설명 메타데이터를 모델과 함께 저장할 수 있습니다.

다음으로 load_model_from_local_path()를 사용하여 Explainable AI SDK에 모델을 로드합니다. 필요한 경우 특정 Vertex Explainable AI 알고리즘의 구성을 조정할 수 있습니다. 예를 들어 샘플링된 Shapley에 사용할 경로 수 또는 통합 경사나 XRAI에 사용할 단계 수를 변경할 수 있습니다.

마지막으로 데이터의 인스턴스를 사용해 explain()을 호출하고 특성 기여 분석을 시각화합니다.

다음 예시 코드를 사용하면 Notebooks 인스턴스 내의 TensorFlow 2 모델에 대한 로컬 설명을 확인할 수 있습니다.

# This sample code only works within a Notebooks instance.
import explainable_ai_sdk
from explainable_ai_sdk.metadata.tf.v2 import SavedModelMetadataBuilder

metadata_and_model_builder = SavedModelMetadataBuilder('LOCAL_PATH_TO_MODEL')
metadata_and_model_builder.save_model_with_metadata('LOCAL_PATH_TO_SAVED_MODEL_ARTIFACT')

# Load the model and adjust the configuration for Explainable AI parameters
num_paths = 20
model_artifact_with_metadata = explainable_ai_sdk.load_model_from_local_path(
    'LOCAL_PATH_TO_SAVED_MODEL_ARTIFACT',
    explainable_ai_sdk.SampledShapleyConfig(num_paths))

# Explainable AI supports generating explanations for multiple predictions
instances = [{feature_a: 10, feature_2: 100,...}, ... ]
explanations = model_artifact_with_metadata.explain(instances)
explanations[0].visualize_attributions()

다양한 구성 및 매개변수를 포함해 Explainable AI SDK에 대해 자세히 알아보세요. Notebooks에 대해 자세히 알아보세요.

다음 단계