목록MLOPS/full stack deep learning review (9)
rueki
1. Unsupervised Learning Supervised learning은 학습방법 중에 지금까지 학습이 제일 잘 되는 방법이지만, 그에 따라 레이블이 된 데이터가 많이 필요하기에 레이블이 안 되있는 경우 적용할 수 없으며 레이블링 하는 데에도 비용이 많이 든다. 이를 해결해보고자 Semi-supervised learning과 Unsupervised learning이 나왔다. - Semi-supervised 레이블링이 되어있지 않은 데이터에 대해서 레이블링을 해보자라는 개념에서 나온 것으로서, 임의의 데이터가 라벨링 된 데이터와 유사하다면 같은 레이블로 가정하는 것이다. 다양한 방법론 중에 하나인 Noisy-student를 설명한다. 1) 레이블된 이미지로 teacher 모델을 학습 2) 레이블되..
Model Monitoring 모델을 배포하고 나면 다 끝난 줄 알았는데, 더 중요한 작업이 있었다. Monitoring인데 이것을 왜 해줘야 할까? 이유는 배포하고도 배포할 당시의 성능을 계속 유지하기 위해서이다. 배포하고나서 성능이 계속 떨어지는 경우가 있는데 이에 대한 예시가 아래의 그림에 설명이 자세히 되어 있다. - Data drift : upstream process의 변경과 같이 모델 성능 저하를 일으키는 입력 데이터의 변경. - Model drift : 모델의 변화로 인한 입출력 사이의 관계가 변화하게 됨. - Concept drift : 모델링 대상의 통계적 특성이 바뀌는 현상. - Domain shift : 데이터 셋 분포와 훈련 데이터 셋 간의 변화. Data drift의 종류 - I..
1. 모델 배포 모델 배포에는 세 가지 종류의 배포 방식이 있다. - Client-side : 로컬 검퓨터에서 모델을 올려 동작하는 방식 (ex. 임베디드 시스템) - Server-side : 모델을 서버단에 올려서 배포하는 방식 재사용성이 좋지만, 모델의 유지보수 및 서버와의 호환성과 같은 문제로 다루기 어려운 점들이 있다.- 모델이 큰 경우에는 서버 리소스까지 잡아먹을 수가 있다. - Database : 데이터베이스에 직접적으로 연결해서 데이터를 다루기엔 용이함. 상대적으로 input이 작을 때 사용하기 적절함. Model-as-service : Server side에서 연장된 개념으로, 서버 안에 모델을 관리하는 것이 아니라 분리해서 독립적으로 관리하게 된다. 그렇게 되면 클라이언트, 서버 둘다 모..

Data 관리는 프로젝트의 목적, 기업환경, 프로그램 환경 등 다양한 이유에 따라서 체계가 다 다르다. 그러나, 목적 및 방향이 어떻든간에, 데이터는 머신 러닝 프로젝트의 성능에 가장 중요한 부분이고, 그에 따라서 그만큼 시간을 더 할애해야 한다. 대부분의 머신러닝 프로젝트에 사용하는 데이터들은 라벨링 된 많은 양의 데이터이다. 그러나 오픈 데이터 셋으로는 프로젝트 진행의 목적을 달성하기 어렵기 때문에, 대다수가 라벨링하는 것에 시간을 많이 투자한다. 이러한 한계점 때문에, semi-supervised learning, data augmentaion과 같은 다양한 기법들을 통해서 부족한 데이터 양을 보충하며 학습을 진행하기도 한다. - Data Storage File systems Storage의 기본 ..