머신러닝 파이프라인 (TensorFlow Extended) 스터디 1주차 진행

이영빈·2023년 9월 3일
0

TensorFlow Extended

목록 보기
1/2
post-thumbnail

스터디 개요

8월 27일 일요일부터 모두의연구소 아이펠에서 E2E 서비스를 공부하기 위해서 TFX 스터디를 개설했습니다. 이번 스터디의 경우 크게 3가지로 구성할 예정입니다.

  1. 살아 움직이는 머신러닝 파이프라인 설계 빠르게 보기
  2. TFX 프로젝트 레포를 참고해서 E2E로 구현하기
  3. 나만의 E2E 서비스를 만들어서 배포하기
  4. 이전까지 공부했던 내용을 기반으로 위키독스 만들기

오늘 정리할 포스팅은 1번으로 진행하고 있는 내용입니다. 살아 움직이는 머신러닝 파이프라인 설계는 송호연님께서 번역한 책이며 유일하게 TensorFlow Extended를 다루고 있는 도서입니다. 해당 책의 경우 TensorFlow Extended 1.2.0을 활용하고 있지만 2023년 9월 기준 현재 TensorFlow Extended는 1.13.0이기 때문에 실제 코드는 잘 작동하지 않지만 컴포넌트에 대한 이해도를 높이기 충분하다는 생각이 들어 먼저 이 책을 선정했다.

TensorFlow Extended?

TensorFlow Extended는 구글이 인공지능을 연구하고 실제 산업에 적용하면서 나온 문제점들을 해소하기 위해 만든 프레임워크입니다. 구글은 2015년 Hidden Technical Debt in Machine Learning Systems이라는 논문으로 자신들이 실제 제품단계에서 마주친 내용들을 공개했습니다. 관련으로 자세한 내용은 현재 제가 재직하고 있는 모두의연구소 사내 블로그를 통해서 작성했습니다!

그렇다면 이번 스터디에서 왜 많은 머신러닝 파이프라인 프레임워크중에서 TensorFlow Extended를 선택했을까요? 여러가지 이유가 있었지만 TensorFlow Extended가 갖고 있는 강점에 주목했습니다.

현재 많은 MLOps 프레임워크는 아직까지 특정 프레임워크가 지배력을 갖고 있지 않습니다. 이와중에 TensorFlow Extended의 강점은 다른 프레임워크와 달리 한가지 프레임워크로 End-to-End 구현이 가능하다는 점입니다.

또한 현재 모두의연구소 아이펠에서는 TensorFlow를 활용해서 인공지능 교육을 진행하고 있어 호환성이 좋습니다.

TensorFlow Extended 구조

TensorFlow Extended는 데이터수집부터 배포까지 전부 하나의 통일된 프레임워크로 진행할 수 있습니다. TensorFlow Extended는 컴포넌트 단위로 관리하며 컴포넌트의 입출력을 프로토콜 버퍼(protocol buffer)로 관리합니다. 데이터 수집을 진행할 때는 ExampleGen을 사용하며 데이터를 검증할 때 StatisticsGen과 ExampleValidator를 사용합니다. 데이터 전처리의 경우 TensorFlow Transform을 사용합니다. 모델 학습의 경우 Trainer를 사용하며 하이퍼 파라미터 튜닝은 Tuner로 관리합니다. 모델 분석과 검증은 Evaluator, infravalidator로 검증합니다. 마지막으로 Pusher로 프로덕션에 배포하며 tfserving으로 모델을 API 혹은 gRPC 형식으로 배포합니다.

각 내용들은 시리즈 연재로 풀어나갈 예정입니다.

회고

이번 스터디를 기획하면서 잘해낼 수 있을까라는 고민이 들었습니다. 또한 스터디원들이 잘 따라올 수 있을까라는 걱정이 앞섰습니다. 그러나 2번의 스터디를 진행했을 때 느낀점은 스터디원들은 내 예상보다 훨씬 잘 따라오고 있으며 즐겁게 공부하고 있습니다. 이번 스터디를 통해서 아이펠에서 마지막으로 서비스를 만들 때 활용했으면 좋겠다는 생각이 들었고 추후에 아이펠이 끝나고 구현한 서비스를 더 갖고 있으면 더욱 성장하는 엔지니어가 될것이라는 생각이 들었습니다.

앞으로도 화이팅!

profile
모두의연구소에서 재직하고 있는 리서치콘텐츠팀 이영빈입니다.

0개의 댓글