GPU 4

6. Pytorch - 대규모 분산학습에서 고려할 사항

대규모 분산 학습에서 고려할 사항조대협 (http://bcho.tistory.com) 그러면 실제로 분산 학습은 어떻게 이루어질까, 하나의 머신에서 여러 GPU를 사용하는 멀티 GPU의 경우에는 코드만 싱글 GPU 코드와 다르지 다른 설정은 다르지 않다. 그러나 멀티 머신 학습의 경우에는 각 머신에서 학습 코드를 실행해줘야 하고, 같은 데이터 소스로 부터 데이터를 각 머신에서 읽어와야 한다. 그렇다면 동시에 여러 머신에 학습 코드를 어떻게 실행할까?스케쥴러수동으로, 특정 서버에서 각각 학습 코드를 실행할 수 도 있지만, 보통 수십,수백개의 머신에서 하나의 학습만을 돌리는 일은 드물다. 중간 중간 실험을 위해서 작은 모델을 학습하기도 하고, 전체 머신들에서 하나의 거대 모델들을 돌리기도 한다.  만약 50..

파이토치 4 - 쿠버네티스에서 학습하기

파이토치 모델을 학습을 하는데 여러 사람이 동시에 작업을 하거나 또는 학습이 멀티 GPU, 멀티 노드를 사용할 경우에는 한정된 GPU 자원을 어떻게 배치할지에 대한 어려움이 생긴다. 또한 파이토치 작업이 학습도중에 중단되거나 했을때 자동으로 학습을 재시작하는 것과 같은 자동화된 관리가 필요한데, 이런 문제를 해결하기 위해서 가장 보편적으로 사용되는 접근 방법이 쿠버네티스나 Slurm등이 될 수 있다.  향후에 멀티 머신 기반의 학습이나 Fault Torelent 아키텍처를 기반으로한 분산 모델 학습 방법에도 설명하겠지만, 이 글에서는 간단하게 모델을 쿠버네티스에서 학습할 수 있는 방법에 대해서 알아본다.  아래 코드는 파이토치 라이트닝을 이용하여 Fashion Mnist 데이터를 학습하는 간단한 DNN ..

얼굴 인식 모델을 만들어보자 #4 -클라우드를 이용하여 학습 시키기

얼굴 인식 모델을 만들어보자 #4 클라우드를 이용하여 학습 시키기(머신러닝 학습 및 예측 시스템의 운영환경화) 조대협 (http://bcho.tistory.com) 앞에서 모델을 만들고 학습도 다했다. 이제, 이 모델을 실제 운영 환경에서 운영할 수 있는 스케일로 포팅을 하고자 한다. 로컬 환경 대비 실제 운영 환경으로 확장할때 고려해야 하는 사항은 대규모 학습 데이타를 저장할 수 있는 공간대규모 학습 데이타를 전처리하기 위한 병렬 처리 환경 이 내용은 이미 http://bcho.tistory.com/1177에서 다루었다. 대규모 학습 데이타를 빠르게 학습 시킬 수 있는 컴퓨팅 파워학습된 데이타를 이용한 대규모 예측 서비스를 할 수 있는 기능 위의 요건을 만족하면서 텐서플로우로 환경을 올리는 방법은 여러..