본문 바로가기

practical AI/TFX

[TFX 스터디 1주차] TFX 프레임워크를 활용한 머신러닝 워크플로우 개요

[TFX 스터디 1주차] 살아 움직이는 머신러닝 파이프라인 설계 CH1~4

 

스터디 참여 계기

그동안 머신러닝을 책으로 배웠는데 실전 서비스 등에서 사용되는 머신러닝의 경우 책에서 배운 것과 차이가 있다는 것을 느꼈다. 예를 들어, 하나의 ipynb 파일에 전체적 프로세스를 작성하도록 하게 하는데, 실전에서 모델을 제작할 경우 새로운 데이터가 추가됨에 따라 모델의 재학습이 필요하고 이러한 재학습을 위해서는 기존에 배웠던 내용만으로는 부족함이 있다. 그리고 이번 학기 캡스톤 디자인 과목을 수강하면서 AI 기반 웹서비스를 제작하려고 하는데 현재 지식만으로는 부족함이 있다고 느껴 TFX 스터디에 참여하게 되었다.

 

TFX

TFX는 Tensorflow Extended의 약자로, 텐서플로우 기반의 머신러닝 파이프라인 구축/관리 프레임워크이다.

TFX는 머신러닝 모델의 생명주기 관리 및 배포를 단순화하고 효율적으로 수행할 수 있도록 도와준다.

 

머신러닝 파이프라인?

머신러닝 파이프라인이란 머신러닝 모델 및 개발, 배포 과정을 자동화하고 단계적으로 처리하기 위한 일련의 workflow이다. 머신러닝 파이프라인을 사용함으로서 모델의 유지보수, 버전 관리 문서화, 버그 예방, 표준화 등 다양한 방면에서의 이점을 얻을 수 있다. 머신러닝 파이프라인은 모든 데이터 과학 프로젝트에 필요한 건 아니고, 프로젝트 수가 많을때, 모델에 사용자가 존재할 때 유용하게 사용할 수 있다. 

 

머신러닝 파이프라인은 보통 아래와 같은 단계로 구성된다.

 

1. 데이터 수집 및 버전 관리

2. 새 데이터 통계 확인을 통한 데이터 검증

3 데이터 전처리

4. 모델 학습 및 튜닝

5. 여러 지표를 기준으로 한 모델 분석

6. 모델 버전 관리

7. 모델 배포. 주로 API 형태로 주는 걸 가장 선호

8. 모델 분석, 피드백 루프 제작을 통한 모델 성능 정보 측정

 

TFX 컴포넌트

위에서 말한 머신러닝 파이프라인 단계를 수행할 수 있는 모든 구성 요소를 제공하는 것이 TFX 라이브러리이다. TFX는 각 단계마다 파이프라인 컴포넌트를 제공하며 이를 사용해 파이프라인을 구축할 수 있다.

 

TFX 컴포넌트 및 라이브러리

 

이렇게 TFX는 각 파이프라인 단계마다 각기 다른 컴포넌트들을 제공한다. 그러나 이러한 각 컴포넌트는 항상 순차적으로 동작하지 않기 때문에 각 단계를 연결하는 glue code를 작성하는 것은 쉽지 않다. 따라서 TFX에서는 Apache Beam, Apache Airflow, Kuberflow 등의 파이프라인 오케스트레이션을 통해 파이프라인의 각 과정을 관리하고 표준화된 도구를 통해 glue code로 인해 발생할 수 있는 버그를 예방한다.

 

구체적인 컴포넌트 내용들의 경우 좀 더 공부하고 작성할 예정!