목록MLOPS (12)
rueki
1. 모델 배포 모델 배포에는 세 가지 종류의 배포 방식이 있다. - Client-side : 로컬 검퓨터에서 모델을 올려 동작하는 방식 (ex. 임베디드 시스템) - Server-side : 모델을 서버단에 올려서 배포하는 방식 재사용성이 좋지만, 모델의 유지보수 및 서버와의 호환성과 같은 문제로 다루기 어려운 점들이 있다.- 모델이 큰 경우에는 서버 리소스까지 잡아먹을 수가 있다. - Database : 데이터베이스에 직접적으로 연결해서 데이터를 다루기엔 용이함. 상대적으로 input이 작을 때 사용하기 적절함. Model-as-service : Server side에서 연장된 개념으로, 서버 안에 모델을 관리하는 것이 아니라 분리해서 독립적으로 관리하게 된다. 그렇게 되면 클라이언트, 서버 둘다 모..
2주차 내용은 Select and Train a Model에 관한 내용이다. 내용을 요약하자면 전반적으로 모델 훈련을 어떤 측면에서 고려하며 진행을 하고 관리하는 프로세스에 대해서 배운다. Ai 시스템과 다른 소프트웨어 시스템과의 차이라함은 데이터의 존재 유무이다. code로만 실행하고, 다루는 것을 일반적인 소프트웨어 시스템이라 하면, Ai 시스템은 Code + data로 볼 수가 있다. 다만 data에 대해서는 flexibility를 강조했는데, 이 의미는 특정 데이터에 대해서만 모델이 잘 동작하는 것보다 보다 범용적으로 잘 되어야 AI system으로 나아갈 수 있다는 점인 것 같다. 머신러닝 모델은 Model, Data, Hyper parameters 이렇게 3개로 구성되어 있다고 볼 수가 있는데..
Data 관리는 프로젝트의 목적, 기업환경, 프로그램 환경 등 다양한 이유에 따라서 체계가 다 다르다. 그러나, 목적 및 방향이 어떻든간에, 데이터는 머신 러닝 프로젝트의 성능에 가장 중요한 부분이고, 그에 따라서 그만큼 시간을 더 할애해야 한다. 대부분의 머신러닝 프로젝트에 사용하는 데이터들은 라벨링 된 많은 양의 데이터이다. 그러나 오픈 데이터 셋으로는 프로젝트 진행의 목적을 달성하기 어렵기 때문에, 대다수가 라벨링하는 것에 시간을 많이 투자한다. 이러한 한계점 때문에, semi-supervised learning, data augmentaion과 같은 다양한 기법들을 통해서 부족한 데이터 양을 보충하며 학습을 진행하기도 한다. - Data Storage File systems Storage의 기본 ..
딥러닝 모델을 훈련하면서, 실질적으로 모델이 잘 학습되는 경우는 드물다. 원하는 task를 해결하기 위해서 결국 에러를 한번쯤은 직면할 수 밖에 없는데, 이번 주차에서는 우리의 모델을 어떻게 피드백을 해야하는지에 대한 내용이다. 모델 구성에 있어서 구현하는 부분은 20프로 정도밖에 차지하지 않는다고 한다. 그 외적인 부분은 전부 디버깅하고 튜닝하는데 투자를 한다. 그렇다면 논문에서 소개되는 성능과 다르게 왜 우리의 모델 성능은 나쁜가에 대해서 알아보아야한다. 첫 번째로 언급할 2가지 이슈는 구현 문제와 파라메터 선택이 있다. 구현 문제는 쉽게 얘기하면 코드 작성 오류로 볼 수가 있다. 오픈 소스 및 모델을 가지고 와서 보통 사용을 하게 될텐데, 가지고온 모듈 및 패키지에 추가로 작성한 우리의 코드가 맞물..