Hello world!

MLOps 11

TFX + airflow 연동

Airflow란? 2015년도 Airbnb에서 배포. (language: Python) airflow는 복잡한(ex.DAG) workflow의 스케쥴링 및 실행을 관리하는 솔루션 ex) User Interface를 통하여 schedule과 모니터링을 할 수 있음. airflow는 현재 가장 인기 있는 orchestration, 기준(github stars) 4. DAG(Directed Acyclic Graph) Airflow는 파이프라인을 DAG 형태로 관리 할 수 있다. 즉, 복잡한 workflow도 관리할 수 있다. 5.Batch processing(o), streaming (x) 메시지 애플리케이션 같은 streaming process에는 적합하지 않다. 오히려 kafka(low latency)에 ..

MLOps 2022.07.27

tf.Example과 TFRecord

TFX에서 ExampleGen에 대해 공부하다가 tf.Example 과 TFRecord 개념이 나타난다. ExampleGen의 그림을 다시 한번 보도록 하자. input으로는 TFRecord가 들어가고, output으로는 tf.Example record가 return 된다. 그러면 TFRecord가 무엇이고 tf.Example record가 무엇인지 알아보도록 하자. TFRecord TFRecord는 일련의 레코드를 가지고 있다. 각 레코드는 byte-string이다. 다시 말하면, TFRecord에는 byte string으로 serialized 된 데이터가 저장되어있다. tf.Example(= tf.train.Example) 이름에서 예상할 수 있듯이, 보통 클래스 네임은 대문자로 시작한다. 즉, Ex..

MLOps 2022.07.27

TFX components

#TFX 장점: 파이프라인을 실행하기 위해 코드 작성이 필요 없다(예외: feature engineering, modeling) 파이프라인을 위한 components가 모두 미리 구현 되어있다. Components 설명 TFX 파이프라인의 10가지 components들의 기능을 설명하고자 한다. ExampleGen: 데이터를 TFX 파이프라인의 component가 읽을 수 있도록 변환해준다. StatisticsGen: 데이터셋의 통계 분석 SchemaGen: 데이터 셋의 통계를 통해 스키마 자동 생성 (추후에 사용자가 수정) ExampleValidator: 새로운 데이터가 들어왔을 때 StatisticsGen의 결과를 이용하여 데이터 검증(이상치, skewness, 등 파악) How?: 아직은 잘모르겠다..

MLOps 2022.07.27

TFX ML Metadata

ML Metadata란? workflow에 관한 것들을 기록 및 트래킹 해주는 라이브러리이다. 따라서, 예시로 아래와 같은 질문을 Metadata로 부터 얻을 수 있다. Which dataset did the model train on? What were the hyperparameters used to train the model? Which pipeline run...... 그림을 더 자세히 설명해보자. 1. TFX pipeline(workflow)가 실행되면 각 components 별 Input/Ouput/meta 정보 들이 나오게 되는데, 이를 MLMD library를 통해서 데이터베이스(MetadataStore)에 저장되게 된다. 2. 그림1에서 볼 수 있듯이 Metadata Store에는 Co..

MLOps 2022.05.03

Protocol Buffers, Protobuf

protobuf(library) 개념에 대해 알아보자 공식 문서: https://developers.google.com/protocol-buffers protobuf(protocol buffers) 란? •프로토콜 버퍼는 구조화된 데이터를 직렬화 하는 방식이며 라이브러리이다. •구글에서 개발했으며, 15년 정도 개발 과정을 겪었다. •버전은 2가지로 존재한다.proto2, proto3(더많은 언어 지원) 장단점 •장점: •크기(용량)가 작으며 JSON 보다 빠르다. •Native language binding을 제공한다 •Native language: 컴퓨터가 이해할 수 있는 언어 ex.Binary는 컴퓨터가 이해할 수 있는 언어이다 •Language binding: 두개의 프로그램 언어의 연결(bind..

MLOps 2022.04.28

TFX Guide Local pipeline example

TFX guide에 있는 예시를 간단히 진행해보려 한다. 이를 통해서 TFX의 컴포넌트의 I/O를 간략히 살펴볼 수 있다. https://www.tensorflow.org/tfx/guide/build_local_pipeline 로컬에서 TFX 파이프라인 구축 | TensorFlow TFX에 새로운 것을 추가하는 전 세계 개발자 커뮤니티에 참여하세요! TFX 애드온 가입 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 로컬에서 TFX 파이프라인 구축 TFX를 사용 www.tensorflow.org 해당 링크를 차근 차근 따라서 구성을 파악해보자. tfx template copy --model='taxi' --pipeline_name='taxi_tu..

MLOps 2022.04.25

Practitioners guide to MLOps

2021년도에 구글에서 발표한 MLOps 구축 가이드라인 백서 Practitioners guide to MLOps: A framework for continuous delivery and automation of machine learning. 에 대해 정리하도록 하겠다. 내용을 간략히 정리하자면, MLOps를 구축하기 위해서는 lifecycle에 대해 신경을 써야한다. MLOps는 End-to-End process이기 때문에 이를 관리하는 입장에서는 매우 신경을 기울여야 한다. 중요한 점은 어떻게 신경을 쓸 것인가이다. 해당 가이드라인 백서는 신경써야할 부분을 쪼개서 관리할 수 있도록 잘 구축을 해두었다. 따라서, 필자는 해당 백서를 통해 지금 나의 업무가 "어떤 위치"에 있고 그 업무에 관한 guid..

MLOps 2022.04.25

Kubernetes 자격증(CKAD) 준비

CKAD(Certified Kubernetes Application Developer) 자격증을 준비하려 한다. Kubernetes 자격증은 여러가지가 있다. 각 자격증에 대한 소개는 한국 유튜버 분께서 아주 자세히 설명해주는 영상이 있다. https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f 필자는 Kubernetes의 자격증인 CKAD를 따려고 한다. 준비하기 앞서서 해당 블로그 2개와 유튜브를 참고하며 공부 방향을 정했다. 1. https://developer-itspjc.tistory.com/31 2. https://lifeoncloud.kr/k8s/cka/ 3. https://www.youtube.c..

MLOps 2022.04.19

ML pipeline 이란?

머신러닝과 딥러닝에서 가장 중요한 지표는 "성능"이라는 것은 누구도 반박할 수 없을 것이다. 그렇다면 모델의 성능만 높이면 머신러닝 프로젝트는 끝났다고 할 수 있을 것인가? 그렇지 않다. 머신러닝 프로젝트에서 "성능"은 필수 구성품중 하나이지 모든 것을 커버하지 않는다. 이 말은 머신러닝 프로젝트에는 Data load, Preprocessing, EDA, Data Split, Model training, Model validation, Model serving, API service, Monitoring, etc .. 등 굉장히 많은 작업들이 필요하다. 심지어 시스템의 보안, 안전성, lag 처리, 빅데이터 관리 등 수 많은 요소들이 존재한다. 즉, 모델을 학습시키는 일련의 과정(pipeline)의 중요..

MLOps 2022.04.18