메모장 환경 내에서 What-If 도구(WIT)를 사용하여 대화형 대시보드를 통해 AI Platform Prediction 모델을 검사할 수 있습니다. What-If 도구는 텐서보드, Jupyter 메모장, Colab 메모장, JupyterHub와 통합됩니다. Vertex AI Workbench 사용자 관리 노트북 TensorFlow 인스턴스에도 사전 설치되어 있습니다.
이 페이지에서는 AI Platform에 미리 배포되어 있는 학습 모델에서 What-If 도구를 사용하는 방법을 설명합니다. 모델 배포 방법을 알아보세요.
What-If 도구 설치
다양한 메모장 환경에서 witwidget
을 설치하는 방법을 보여줍니다.
사용자 관리 노트북
witwidget
은 이미 사용자 관리 노트북 인스턴스에 설치되어 있습니다.
WIT 가이드 저장소를 인스턴스에 클론하여 메모장 인스턴스에 What-If 도구 가이드를 로드할 수 있습니다. GitHub 저장소를 사용자 관리 노트북 인스턴스에 클론하는 방법을 참조하세요.
Jupyter 메모장
다음 명령어를 통해 Jupyter용 WIT를 설치하고 사용 설정합니다.
pip install witwidget
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
GPU 지원과 함께 TensorFlow를 사용하려면(tensorflow-gpu
) GPU와 호환되는 witwidget 버전을 설치합니다.
pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
이러한 설치 명령어는 Jupyter 환경에서 한 번만 실행하면 됩니다. 이후에는 Jupyter 커널을 실행할 때마다 What-If 도구를 사용할 수 있습니다.
Colab 메모장
다음을 포함해서 셀을 실행하여 메모장 커널의 런타임에 위젯을 설치합니다.
!pip install witwidget
GPU 지원과 함께 TensorFlow를 사용하려면(tensorflow-gpu
) GPU와 호환되는 witwidget 버전을 설치합니다.
!pip install witwidget-gpu
JupyterLab
사용자 관리 노트북 외부의 JupyterLab은 다음 안내를 따르세요.
다음을 포함한 셀을 실행하여 JupyterLab용 WIT를 설치하고 사용 설정합니다.
!pip install witwidget
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
TensorFlow GPU 지원을 위해서는 witwidget-gpu
패키지를 사용합니다.
!pip install witwidget-gpu
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
메모장 설정에 따라 !sudo jupyter labextension ...
명령어를 실행해야 할 수도 있습니다.
What-If 도구를 위한 예측 결과 조정
결과가 What-If 도구에 필요한 것과 일치하지 않는 모델의 경우, 코드에 예측 조정 함수를 정의해야 합니다.
What-If 도구는 다음과 같은 입력 형식이 필요합니다.
- 분류 모델: 클래스 점수 목록
- 회귀 모델: 회귀 점수
예를 들어 XGBoost 이진 분류 모델은 양수 클래스의 점수만 반환합니다. What-If 도구에는 각 클래스의 점수가 필요하므로, 다음 예측 조정 함수를 사용하여 음수 및 양수 점수가 모두 포함된 목록을 얻을 수 있습니다.
def adjust_prediction(pred):
return [1 - pred, pred]
What-If 도구를 구성하기 전, 메모장 코드 셀 내에서 예측 조정 함수를 정의합니다.
What-If 도구 구성
What-If 도구를 사용하여 하나의 모델을 검사하거나 두 모델을 비교할 수 있습니다.
WitConfigBuilder
에서 자체 Google Cloud 프로젝트, AI Platform Prediction 모델 및 버전에 적절한 값을 채우고 모델에 따라 기타 필요한 값을 채웁니다.
witwidget
가져오기:import witwidget
WitConfigBuilder
를 만들어 모델 및 AI Platform Prediction 프로젝트에 대한 여러 매개변수를 What-If 도구에 전달합니다. What-If 도구를 사용하여 하나의 모델을 검사하거나 두 모델을 비교할 수 있습니다. 자체 Google Cloud 프로젝트, AI Platform Prediction 모델 및 버전에 적절한 값을 채우고 모델에 따라 기타 필요한 값을 채웁니다.모델 검사
이 구성 빌더는 What-If 도구를 사용하여 하나의 모델을 검사하는 방법을 보여줍니다. 배포된 XGBoost 모델이 포함된 전체 예시 메모장을 참조하세요.
각 메서드에 대한 자세한 내용은
WitConfigBuilder
코드를 참조하세요.PROJECT_ID = 'YOUR_PROJECT_ID' MODEL_NAME = 'YOUR_MODEL_NAME' VERSION_NAME = 'YOUR_VERSION_NAME' TARGET_FEATURE = 'mortgage_status' LABEL_VOCAB = ['denied', 'approved'] config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + ['mortgage_status']) .set_ai_platform_model(PROJECT_ID, MODEL_NAME, VERSION_NAME, adjust_prediction=adjust_prediction) .set_target_feature(TARGET_FEATURE) .set_label_vocab(LABEL_VOCAB))
모델 비교
이 구성 빌더는 What-If 도구를 사용하여 두 모델을 검사하고 비교하는 방법을 보여줍니다. 배포된 Keras 및 scikit-learn 모델을 비교하는 전체 예시 메모장을 참조하세요.
각 메서드에 대한 자세한 내용은
WitConfigBuilder
코드를 참조하세요.PROJECT_ID = 'YOUR_PROJECT_ID' KERAS_MODEL_NAME = 'YOUR_KERAS_MODEL_NAME' KERAS_VERSION_NAME = 'VERSION_NAME_OF_YOUR_KERAS_MODEL' SKLEARN_MODEL_NAME = 'YOUR_SKLEARN_MODEL_NAME' SKLEARN_VERSION_NAME = 'VERSION_NAME_OF_YOUR_SKLEARN_MODEL' TARGET_FEATURE = 'quality' config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + [TARGET_FEATURE]) .set_ai_platform_model(PROJECT_ID, KERAS_MODEL_NAME, KERAS_VERSION_NAME) .set_predict_output_tensor('sequential').set_uses_predict_api(True) .set_target_feature(TARGET_FEATURE) .set_model_type('regression') .set_compare_ai_platform_model(PROJECT_ID, SKLEARN_MODEL_NAME, SKLEARN_VERSION_NAME))
구성 빌더를 WitWidget에 전달하고 화면 높이를 설정합니다. What-If 도구가 메모장 내에 대화형 시각화로 표시됩니다.
WitWidget(config_builder, height=800)
다음 단계
- 모델 탐색 방법을 알아보려면 What-If 도구 데모 및 둘러보기를 참조하세요.
- 모델에서 What-If 도구를 사용하여 AI Fairness를 최적화하는 방법 알아보기