AI 시스템 구축: 도구 – TFX
ㅁ 도구
ㅇ 정의:
머신러닝 모델의 학습부터 배포까지 전 과정을 자동화하고 관리하기 위한 엔드투엔드 파이프라인 프레임워크로, 구글에서 개발한 오픈소스 도구.
ㅇ 특징:
– 데이터 검증, 전처리, 학습, 평가, 배포를 표준화된 컴포넌트로 제공.
– Apache Beam 기반으로 대규모 데이터 처리 가능.
– TensorFlow와 긴밀하게 통합되며, 모델 서빙을 위한 TensorFlow Serving과 연계 용이.
– 재현성과 추적성을 위해 메타데이터 관리 기능 제공.
ㅇ 적합한 경우:
– 대규모 데이터셋을 사용하여 반복적인 모델 학습·배포가 필요한 경우.
– ML 워크플로우의 자동화와 표준화가 필요한 기업 환경.
– 데이터 품질 검증 및 모델 성능 모니터링이 중요한 프로젝트.
ㅇ 시험 함정:
– TFX는 TensorFlow 전용으로만 사용된다고 오해할 수 있으나, 일부 컴포넌트는 다른 프레임워크와도 연계 가능.
– 단순한 모델 학습 스크립트와 달리, 파이프라인 전체를 관리하는 도구임을 간과.
– Apache Airflow나 Kubeflow와의 관계를 혼동할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “TFX는 데이터 검증, 전처리, 학습, 평가, 배포를 표준화된 컴포넌트로 제공한다.”
X: “TFX는 모델 학습 단계만을 지원하는 경량화 라이브러리이다.”
ㅁ 추가 학습 내용
TFX 주요 컴포넌트와 역할 및 동작 순서
1. ExampleGen: 원천 데이터를 수집하고 TFX 파이프라인에서 사용할 표준 형식으로 변환하여 저장한다.
2. StatisticsGen: 수집된 데이터에 대한 통계 정보를 생성한다.
3. SchemaGen: 데이터 통계를 기반으로 데이터 스키마를 자동으로 생성하거나 기존 스키마를 업데이트한다.
4. ExampleValidator: 생성된 스키마와 통계를 비교하여 이상치, 누락값, 데이터 드리프트, 스키마 변경 등을 검증한다.
5. Transform: 데이터 전처리 및 특징 공학을 수행하며, TensorFlow Transform을 이용해 학습·서빙 시 일관된 변환을 적용한다.
6. Trainer: 전처리된 데이터를 사용하여 모델을 학습한다.
7. Evaluator: TensorFlow Model Analysis(TFMA)를 활용하여 학습된 모델의 품질을 평가하고 기준을 충족하는지 확인한다.
8. Pusher: 평가를 통과한 모델을 서빙 환경에 배포한다.
TFX 파이프라인 실행 환경
TFX는 Apache Beam, Apache Airflow, Kubeflow Pipelines 등 다양한 오케스트레이션 환경에서 실행 가능하며, 각 환경에 맞게 파이프라인 컴포넌트를 스케줄링하고 실행 흐름을 관리한다.
ML Metadata(MLMD)
파이프라인 실행 이력, 각 단계에서 생성된 아티팩트, 파라미터, 실행 상태 등을 메타데이터로 저장·관리하여 재현성과 추적성을 제공한다.
TensorFlow Model Analysis(TFMA)
대규모 데이터셋에 대한 모델 성능 분석 및 시각화를 지원하며, 다양한 메트릭과 슬라이스 단위 평가를 통해 모델 품질을 검증한다.
데이터 검증 기능
TFX는 ExampleValidator를 통해 데이터 드리프트, 스키마 변경, 이상치 등을 탐지하여 모델 학습 및 서빙의 안정성을 확보한다.