rueki

week6. Infrastructure & Tooling 본문

MLOPS/full stack deep learning review

week6. Infrastructure & Tooling

륵기 2021. 10. 11. 17:18
728x90
반응형

현실 ML System의 과정은 위와 같이 구성되어 있다. 

1. 데이터 수집, 정제 및 라벨링

2. 코드 작성 및 디버깅

3. 자원공급

4. 실험 진행 및 결과 리뷰

5. 모델 배포

6. 예측 결과 모니터링 후 피드백 진행

 

 

 

 

테슬라의 자율주행 시스템 설계에 대한 프로세스인데, data가 훈련 중에도 계속 수집되어 좋은 성능을 inference하는 것이 목표지만, 아직은 데이터 수집 후 훈련을 진행하는 절자를 계속 걸쳐야한다.

 

ML Production을 제공하기까지 크게 3가지 부분으로 볼 수 있는데, Data // Train, Evaluation // Deployment 이렇게 볼 수가 있다. Data는 훈련을 위한 수집 및 전처리를 통해 데이터 셋을 구축하는 과정, Training 및 Evaluation은 수집한 데이터를 가지고 모델을 만들어 훈련시키는 과정, Deployment는 학습한 모델을 실제로 배포시키는 과정으로 볼 수가 있다.

 

머신러닝이 하드웨어와 소프트웨어 resource에 따라 성능 영향을 많이 받기 때문에, 효율적인 관리가 필요하다. 그래서 Resource management로 대표적으로 도커와 쿠버네티스가 있는데, 도커는 모든 dependency를 패키지화함으로써 os를 실행하지 않고도 모든 프로세스에 대한 컨테이너를 실행할 수가 있다. 그리고 하나의 서버에 다수의 컨테이너를 실행할 수 있음에 따라 하드웨어 자원을 절감할 수가 있다.

쿠버네티스는 컨테이너 운영환경을 관리하는 툴 중에 하나인데, 컨테이너가 소수라면 직접 하나하나 관리를 할 수 있지만, 하드웨어 자원도 늘어나고, 컨테이너도 늘어나게 되면 전체적으로 효율적이게 관리 및 할당이 필요하게 된다.

그래서 다수의 컨테이너를 관리하고 운영할 수 있는 쿠버네티스를 활용하여 다수의 인스턴스를 관리 할 수가 있다.

 

 

분산 학습 방법은 1개의 gpu에 많은 데이터들을 전부 할당해서 학습하기 어려운 점을 개선하기 위한 학습 방법으로, 다수의 gpu에 분산시켜서 병렬적으로 학습시키는 방법이다.

X개의 sample이 있다면 이를 N개의 gpu에 각각 할당해서 1개의 gpu에 X/N 만큼의 sample만 훈련을 할 수 있게 된다.

 

이러한 학습 방법적인 측면과 자원 관리 외에도 training에 영향을 끼치는 hyperparmater tuning도 성능에 큰 영향을 끼치게된다. 그래서 최적화를 해주어야하는데, 기존에는 일일히 테스트해보는 방식으로 찾았다면, 요즘은 이것도 해주는 tool이 많이 나오고 있다고 한다.

 

weights&biases의 tutorial에 따르면 사전에 hyperparameter 리스트를 선언해주어서 다양한 search 방법으로 학습 최적화를 이끌어준다.

https://github.com/wonkicho/weights-bias/blob/main/hyperparameter%20sweeps.ipynb

 

GitHub - wonkicho/weights-bias

Contribute to wonkicho/weights-bias development by creating an account on GitHub.

github.com

 

다른 tool들은 하드웨어 자원이 필요한 반면에 W&B는 필요가 없어서 사용이 편한 것 같다.

 

728x90
반응형

'MLOPS > full stack deep learning review' 카테고리의 다른 글

Week 8. Data Management  (0) 2021.10.28
Week 7. Troubleshooting Deep Neural Networks  (0) 2021.10.21
Self-Attention, Transformer  (0) 2021.09.29
Week2. CNN  (0) 2021.09.25
Week 3. RNN(Recurrent neural network)  (0) 2021.09.22
Comments