Tensorflow 모델 분석 설정

구성

TFMA는 JSON으로 직렬화된 proto 에 구성을 저장합니다. 이 프로토타입은 입력 데이터, 출력 데이터, 모델 사양, 메트릭 사양 및 슬라이싱 사양에 필요한 구성을 통합합니다.

모든 TFMA 파이프라인은 기준(기본) 모델 및 0개 이상의 후보(보조) 모델과 연결됩니다. 기준 모델과 후보 모델은 파이프라인 시작 시 사용자가 정의하며 각각 고유한 이름이 필요합니다. 다음은 사용자가 사용할 수 있는 일반적인 구성 설정의 예입니다.

  • 단일 모델 평가:
    • 해당 없음(예: 이름 없음)
  • 검증 기반 평가:
    • baseline
    • candidate
  • 모델 비교 평가:
    • my_model_a
    • my_model_b

모델 사양

모델 사양은 tfma.ModelSpec 유형이며 모델의 위치와 기타 모델별 매개변수를 정의하는 데 사용됩니다. 예를 들어 다음은 평가를 실행하기 전에 구성해야 하는 일반적인 설정입니다.

  • name - 모델 이름(여러 모델을 사용하는 경우)
  • signature_name - 예측에 사용되는 서명의 이름입니다(기본값은 serving_default ). EvalSavedModel을 사용하는 경우 eval 사용하세요.
  • label_key - 라벨과 관련된 기능의 이름입니다.
  • example_weight_key - 예제 가중치와 연관된 기능의 이름입니다.

측정항목 사양

지표 사양은 tfma.MetricsSpec 유형이며 평가의 일부로 계산될 지표를 구성하는 데 사용됩니다. 다양한 기계 학습 문제는 다양한 유형의 측정항목을 사용하며 TFMA는 계산되는 측정항목을 구성하고 사용자 지정하기 위한 다양한 옵션을 제공합니다. 메트릭은 TFMA에서 매우 큰 부분을 차지하므로 메트릭 에서 별도로 자세히 설명합니다.

슬라이싱 사양

슬라이싱 사양은 tfma.SlicingSpec 유형이며 평가 중에 사용될 슬라이스 기준을 구성하는 데 사용됩니다. 슬라이싱은 feature_keys , feature_values ​​또는 둘 다를 통해 수행될 수 있습니다. 슬라이싱 사양의 몇 가지 예는 다음과 같습니다.

  • {}
    • 전체 데이터로 구성된 슬라이스입니다.
  • { feature_keys: ["country"] }
    • 특성 "국가"의 모든 값에 대한 조각입니다. 예를 들어 "country:us", "country:jp" 등의 조각을 얻을 수 있습니다.
  • { feature_values: [{key: "country", value: "us"}] }
    • '국가:우리'로 구성된 슬라이스입니다.
  • { feature_keys: ["country", "city"] }
    • "국가" 특성의 모든 값에 대한 조각이 "도시" 특성의 모든 값과 교차됩니다(비용이 많이 들 수 있음).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • "age:20" 값과 교차된 특성 "국가"의 모든 값에 대한 조각

기능 키는 변환된 기능이거나 원시 입력 기능일 수 있습니다. 자세한 내용은 tfma.SlicingSpec 참조하세요.

평가 공유 모델

구성 설정 외에도 TFMA에서는 동일한 프로세스의 여러 스레드 간에 모델을 공유하기 위해 tfma.EvalSharedModel 의 인스턴스를 생성해야 합니다. 공유 모델 인스턴스에는 모델 유형(keras 등)에 대한 정보와 디스크의 저장된 위치(예: 태그 등)에서 모델을 로드하고 구성하는 방법이 포함됩니다. tfma.default_eval_shared_model API를 사용하면 경로와 태그 세트가 지정된 기본 인스턴스를 생성할 수 있습니다.