tensorflow/data-validation

Library for exploring and validating machine learning data

TensorFlow Data Validation (TFDV)

무엇인가요 – TensorFlow 모델 학습에 사용되는 표 형식 데이터를 탐색, 이해, 검증하는 데 도움이 되는 Python 라이브러리입니다. TensorFlow Extended (TFX) 파이프라인에 직접 통합될 수 있지만, 별도 도구로도 사용할 수 있습니다.

핵심 기능

  • 스케일링 가능한 통계 – Apache Beam을 사용하여 대규모 데이터셋에서 특성별 요약 통계(평균, 최소/최대값, 히스토그램 등)를 계산합니다.
  • 스키마 추론 및 적용 – 예상되는 형식, 값 범위, 어휘, 필수 필드 등을 설명하는 TensorFlow Metadata 스키마를 자동 생성하고, 들어오는 데이터가 이 스키마에 부합하는지 검사합니다.
  • 이상 탐지 – 누락된 필드, 범위 밖의 값, 예기치 않은 형식 등 데이터 품질 문제를 탐지합니다.
  • 시각화 – Facets UI와 통합되어 통계, 스키마, 탐지된 이상을 위한 내장 뷰어를 제공합니다.
  • 분산 실행 – 소규모 작업은 로컬에서 실행 가능하며, 대규모 데이터 처리는 Cloud Dataflow 또는 다른 Beam 러너에서 실행할 수 있습니다.

일반적인 워크플로우

  1. 데이터 입력 (CSV, TFRecord, Parquet 등)을 Beam 파이프라인에 입력합니다.
  2. tfdv.generate_statistics_from_csv (또는 유사한 함수)로 통계를 생성합니다.
  3. tfdv.infer_schema를 사용하여 통계에서 스키마를 추론합니다.
  4. tfdv.validate_statistics를 통해 새로운 데이터를 스키마와 검증합니다.
  5. Facets UI에서 결과를 확인하거나 프로그래밍 방식으로 이상을 처리합니다.

설치

pip install tensorflow-data-validation   # 안정 버전
# 또는 최신 나이트리 빌드 사용:
export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation

Linux용 Docker 이미지도 제공되어 재현 가능한 빌드가 가능합니다.

의존성 – TensorFlow, Apache Beam(분산 처리용), Apache Arrow(효율적인 메모리 내 컬럼 형식 표현용)이 필요합니다.

누가 사용해야 하나요 – 대규모 TensorFlow 파이프라인을 다룰 때 모델 학습 또는 운영 모니터링의 일부로 신뢰할 수 있는 자동화된 데이터 품질 검사를 필요로 하는 데이터 엔지니어 및 ML 실무자.

추가 학습 – 시작 가이드, 예제 Colab 노트북, API 문서, 그리고 SysML’19 논문(기반 기술 설명)은 README에 링크되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch