반응형

Tensorflow.org의 링크 내용을 정리함.


What-if Tool Dashboard로 모델 이해하기


    What-if Tool(WIT)는 블랙박스인 분류와 회귀 ML모델의 이해를 확장하기 위한 사용하기 쉬운 인터페이스를 제공한다. 플러그인(plugin)으로, 대량의 예제에서 추론할 수 있고 즉시 다양한 방법으로 결과를 시각화할 수 있다. 게다가, 예제는 수작업 또는 프로그램적으로 수정할 수 있고 변화에 대한 결과를 보기 위해 모델을 통해 재실행 할 수 있다. 또한 모델 성능과 데이터의 서브셋에 대한 공정성을 조사하기 위한 도구를 포함한다.

    이 도구의 목적은 사용자에게 전혀 코드가 필요없는 시각적인 인터페이스를 통해 훈련된 ML 모델을 탐험하고 조사하기 위한 간단하고 직관적이며 강력한 방법을 제공하는 것이다.

    이 도구는 텐서보드 또는 직접 Jupyter 또는 Colab notebook을 통해 접근할 수 있다. 좀 더 자세한 내용, 데모, 검토 그리고 notebook mode에서 WIT를 사용하기위한 자세한 정보는 What-If Tool website를 참조하자. (블로그의 다음 글로 다룰 생각이다.)


Requirements

    텐서보드에서 WIT를 사용하려면 두가지가 필요하다.

  • 탐색을 원하는 모델은 반드시 분류, 회귀 또는 예측 API를 사용하여 Tensorflow Serving을 사용하여 제공되어야 한다.
  • 모델로 예측하는 데이터셋은 반드시 텐서플로 웹서버가 접근 가능한 TFRecord 파일이어야 한다.

사용법

    텐서보드에서 WIT dashboard를 열면, 모델 서버에 제공한 hots와 포트, 모델의 이름, 모델 타입 그리고 로드하기 위한 TFRecord 파일의 경로를 위한 설정화면을 보게 될 것이다. 이 정보를 모두 채우고 'Accept'를 누르면, WIT는 데이터셋을 로드하고 모델로 추론을 실행한다. 그리고 결과를 보여준다.

    WIT의 다른 특징과 어떻게 모델 이해와 공정성 조사에 도움이 되는지에 대한 자세한 내뇽은, Tensorflow Serving의 'walkthrough'를 보자.


Demo model and dataset

    사전훈련된 모델로 텐서보드에서 WIT를 테스트해 보려면, 이곳에서 사전훈련된 모델과 데이터셋을 다운로드하고 압축을 푼다. 모델은 사람들이 일년에 $50k달러보다 더 많이 버는지를 예측하기 위해 UCI Census데이터셋을 사용하는 이진 분류 모델이다. 이 데이터셋과 예측 작업은 ML 모델링과 공정정 조사에 자주 사용된다.

    환경변수 MODEL_PATH에 작업하고 있는 Pc의 결과를 저장하는 모델 디렉토리의 위치를 설정한다.

    official documentation을 따라 docker와 TensorFlow Serving을 설치한다.

    docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving로 docker를 사용하여 모델을 제공한다. 여기서 작업 PC의 docker 설정에 따라 관리자(root)로 명령을 수행해야 할 수도 있다.

    이제 텐서보드를 실행하고 WIT를 사용하기 위해 대쉬보드 드롭다운을 사용하자.

    설정 화면에서, 추론 주소를 'localhost:8500'으로 설정하고 모델 이름은 'uci_income' 그리고 경로는 examples에 다운로드된 'adult.tfrecord'파일의 전체경로를 설정하고 'Accept'를 누른다.


    이번 데모에서 WIT로 시도하는 몇가지는 아래를 포함한다.

  • 단일 데이터포인트를 수정하고 추론에서 결과 변화를 확인
  • 데이터셋내 개별 특징과 부분적인 의존 도표를 통한 모델의 추론 결과 사이의 관계 탐색
  • 테이터셋을 서브셋으로 나누고 이들 분할간 성능을 비교

    WIT 특징에 대한 상세한 것은 Waht-If Tool walkthrough를 확인하자.

    이 모델이 예측하기 위해 시도하는 데이터셋에서 실측 특정(ground truth feature)은 'Target'으로 불린다. 그러면 'Performance & Fariness'탭을 이용할 때, 'Target'은 ground truth feature 드롭다운에서 표시하기 바라는 것이 된다.


이번 글에 대한 실습은 진행하지 못했다. 우선 공식 홈페이지인 [What-If Tool website]https://pair-code.github.io/what-if-tool의 내용을 좀 더 보고 실습과 함께 진행해 볼 예정이다.

반응형

+ Recent posts