구성
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를 사용하면 경로와 태그 세트가 지정된 기본 인스턴스를 생성할 수 있습니다.