구체적으로는 아래 세가지를 제공한다고 함
파이프라인의 일부 혹은 모델 학습 스크립트에 일부로 사용될 수 있는 표준 구성요소의 집합
즉, ml pipeline을 구현하는 일련의 구성요소 자체들(모델링, 학습, 추론 제공 및 배포 관리가 포함됨)
여러가지가 있지만 이것들중 일부는 kubernetes에서만 지원한다거나 tfx 전체를 써야만 이용 가능하다거나 한 게 있어서 주의해야한다.
ExampleGen : 입력 데이터 세트를 수집하고 선택적으로 분할하는 파이프라인의 초기 입력 구성요소 (즉, 데이터 입력 부분)
TFRecord
, Avro, Parquet 및 BigQuery와 같은 외부 데이터 소스의 데이터 / 출력: 페이로드 형식에 따라 tf.Example
레코드, tf.SequenceExample
레코드 또는 proto 형식https://www.tensorflow.org/tfx/guide/examplegen#%ED%8C%8C%EC%9D%BC_%EA%B8%B0%EB%B0%98_examplegen
)StatisticsGen : 데이터 세트의 통계를 계산
SchemaGen : 통계를 검사하고 데이터 스키마를 생성
ExampleValidator : 데이터 세트에서 이상치 및 누락된 값을 찾는다.
Transform : feature 추출
Tuner : 모델 hyperparameter 조정
Evaluator : 학습 결과를 분석(auc등 도출)해서 이전 모델과 비교하여 현재 모델이내보낼 모델을 검증하여 프로덕션에 푸시할 수 있을 정도로 '좋은' 상태인지 확인
InfraValidator: 모델이 인프라에서 실제로 제공 가능한지 확인, 잘못된 모델이 푸시되지 않도록 한다.
Pusher: 인프라에 모델 배포
아래의 라이브러리들은 tfx구성을 다 쓰지 않더라도 독립형 라이브러리로 제공한다.
TensorFlow Data Validation(TFDV): 머신러닝 데이터를 분석하고 검증하기 위한 라이브러리. 확장성이 뛰어나고 TensorFlow 및 TFX와 원활하게 연동되도록 설계됐다.
TensorFlow Transform(TFT): TensorFlow를 사용하여 데이터를 전처리하기 위한 라이브러리.
TensorFlow: TFX를 통한 모델 학습에 사용됩니다. 학습 데이터 및 모델링 코드를 수집하며 SavedModel 결과를 생성. 또한 입력 데이터 사전 처리를 위해 TensorFlow Transform에서 생성한 특성 추출 파이프라인을 통합한다.
TensorFlow Model Analysis(TFMA): 모델을 평가하기 위한 라이브러리. TensorFlow와 함께 사용되어 EvalSavedModel을 생성하며, EvalSavedModel은 분석의 기초가 됩니다. TFMA를 통해 사용자는 트레이너에 정의된 것과 동일한 측정항목을 사용하여 분산된 방식으로 대량의 데이터에서 모델을 평가한다. 이러한 측정항목은 다양한 데이터 슬라이스에 걸쳐 계산되어 Jupyter 메모장에서 시각화될 수 있다.
TensorFlow Metadata(TFMD): TensorFlow를 사용하여 머신러닝 모델을 학습시킬 때 유용한 메타데이터의 표준 표현을 제공. 메타데이터는 입력 데이터 분석 중에 수동으로 또는 자동으로 생성될 수 있으며, 데이터 유효성 검사, 탐색 분석 및 변환에 사용된다. 메타데이터 직렬화 형식에는 아래 두가지가 포함된다.
ML Metadata(MLMD): ML 개발자 및 데이터 과학자 워크플로와 관련된 메타데이터를 기록하고 검색하기 위한 라이브러리. 대체로 메타데이터는 위에서 말한 TFMD 표현을 사용한다.. MLMD는 SQL-Lite, MySQL 및 기타 유사한 데이터 저장소를 사용하여 지속성을 관리한다.