O`REILLY Building Machine Learning Pipelines
2. TFX - 텐서플로 익스텐디드
- TFX
머신러닝 파이프라인은 매우 복잡해서 작업 의존성을 관리하는데 많은 시간과 노력이 필요합니다.
파이프 라인에는 데이터 검증, 전처리, 모델 학습 등 다양한 작업이 포함되어 있으며, 업무 간 연결성이 취약(관계가 약함)합니다.
연결성이 취약하므로, 프로덕션 모델을 자주 업데이트가 난해하고, 검증 또한어렵기 때문에 관리하기가 어려웠습니다. 이런 문제를 해결하고자 구글 내부에서 머신러닝 파이프라인 프레임워크의 오픈 소스 버전 TFX가 개발되었습니다.
- TFX 컴포넌트 종류
- ExampleGen: 데이터 수집
- StatisticsGen, SchemaGen, ExampleValicator: 데이터 검증
- Transform: 데이터 전처리
- Trainer: 모델 학습
- ResolverNode: 이전에 학습한 모델 확인
- Evaluator: 모델 분석 및 검증
- Pusher: 모델 배포
- TFX 설치
$ pip install tfx
- ML 메타데이터(MLMD)
TFX 컴포넌트는 메타데이터로 의사소통
, 파이프라인에 있는 컴포넌트들은 서로 직접 아티팩트(컴포넌트의 입력/추력) 주고 받는 대신 파이프라인에서 만들어지는 아티팩트 값을 메타데이터 스토어에 저장 후 저장된 값으로 아티팩트(소통)합니다.
컴포넌트 실행 시 MLMD(Machine Learning Metadata)라이브러리를 이용하여 컴포넌트 메타데이터 스토어 값을 백엔드의 스토리지에 저장(SQLLite를 이용한 메모리 데이터베이스, SQLLite, MySQL)
- TFX 대체 솔루션
TFX의 대안
- 에어비엔비- 에어로솔프: https://github.com/airbnb/aerosolve
- 스트라이프 - 레일야드: https://stripe.com/blog/railyard-training-models
- 스포티파이 - 루이지: https://github.com/spotify/luigi
- 우버 - 미켈란젤로: https://www.uber.com/blog/michelangelo-machine-learning-platform/
- 넷플릭스 - 메타플로: https://metaflow.org/
아파치 빔
다양한 TFX 컴포넌트와 라이브러리는 아파치 빔을 사용하여 파이프라인 데이터를 효율적으로 처리,
아파치 빔은 제작자나 공급자에 구애받지 않고 다양한 화경에서 실행할 수 있는 데이터 처리 단계를 설명하는 오픈 소스 방식을 제공, 아파치 빔은 배치 프로세스, 스트리밍 작업, 데이터 파이프라인으로 사용
$ pip install apache-beam
참고
'FullStack > 50. ML' 카테고리의 다른 글
[BOOK] 처음 배우는 딥러닝 챗봇 #2 임베딩 (0) | 2023.01.25 |
---|---|
[BOOK] 처음 배우는 딥러닝 챗봇 #1 (0) | 2023.01.23 |
[BOOK] Building Machine Learning Pipelines #4 데이터 검증 (0) | 2023.01.12 |
[BOOK] Building Machine Learning Pipelines #3 데이터 수집 (0) | 2023.01.12 |
[BOOK] Building Machine Learning Pipelines #1 머신러닝 파이프라인 (0) | 2023.01.09 |