Offcanvas

AI / 머신러닝|딥러닝 / 애플리케이션 / 오픈소스

기고 | 구글 '지파이프'와 MS '파이프드림' : 분산 AI 트레이닝의 혁신

2020.04.27 James Kobielus  |  InfoWorld
데이터 과학은 어려운 작업일지언정 신비한 마술이 아니다. AI 모델이 약속한 만큼의 성능을 발휘하는가는 훈련에 달려 있으며, AI 모델을 훈련하는 데 ‘일률적’ 접근법이란 없다

분산 AI 훈련(distributed AI training)이라는 필요악 
AI 모델을 훈련할 때 가장 까다로운 작업 중 하나는 스케일링이다. 모델이 한 컴퓨팅 플랫폼에서 처리될 수 없을 정도로 리소스를 과도하게 필요로 할 때 훈련이 특히 어려울 수 있다. 모델이 지나치게 커지면 하나의 컴퓨터가 가진 메모리 한계를 초과하거나 가속 기기를 위해 특별한 알고리즘이나 인프라를 개발해야 하기 때문이다. 훈련 데이터 세트가 거대해진다면 훈련은 과도하게 긴 시간이 걸리고 터무니없이 비싸질 수 있다. 

스케일링의 어려움은 모델에게 얼마나 우수함을 기대하느냐에 따라 달라진다. 추론 정확도 수준을 높일수록 훈련 프로세스는 시간이 길어지고 갈수록 많은 자원을 소비한다. 단순히 보다 강력한 하드웨어를 투입한다고 해서 문제가 해결되지 않는다. 수많은 애플리케이션 워크로드와 마찬가지로 AI 모델이 복잡해지면 고속 프로세서 하나만으로 선형 스케일링을 유지할 수 없다. 

이에 따라 분산 훈련이 필요할 것이다. 훈련 모델의 요소를 분할해 병렬 프로세싱에 최적화된 노드로 분산시키는 것이다. 그렇다면 모델을 훈련하는 데 필요한 시간이 크게 줄어든다. 그러나 병렬화는 자체적으로 위험할 수 있다. 통계 모델은 손상되기 쉬운 구조이기 때문이다. 

모델은 사소해 보이는 변화, 예컨대 레이어, 노드, 접속, 가중치, 하이퍼파라미터 등이 모델의 정확한 추론에 지장을 주는 경우 참담하게 실패할 수 있다. 이를 그대로 유지한 채 모델을 분산 요소로 분할하더라도 결과를 일관성 있게 재결합해야 하는 문제가 남는다. 

만약 제대로 주의를 기울이지 않는다면 재결합된 모델은 지정된 작업을 이행할 때 편향을 일으킬 수 있다. 

분산 AI 훈련을 위한 새로운 업계 프레임워크 
데이터 과학 업종 전반에 걸쳐 AI 모델 훈련에서 계속 혁신이 일어나고 있다. 대개 멀티 클라우드, 여타 분산 환경에서 훈련을 효율적으로 수행하는데 초점을 맞춘 혁신들이다.

최근 구글과 마이크로소프트는 딥러닝 모델의 훈련을 위한 새로운 프레임워크를 발표했다. 구글의 지파이프(GPipe)와 마이크로소프트의 파이프드림(PipeDream)이다. 이들 프레임워크는 비슷한 스케일링 원리를 추종한다. 다른 점이 없지는 않지만, 지파이프와 파이프드림은 아래와 같이 분산 AI 모델 훈련에 관한 비전을 공유하고 있다.

- 하드웨어 배치를 감안해 특정 모델의 분할 방식을 결정해야 하는 것으로부터 AI 개발자를 해방 

- 어떠한 크기, 유형, 구조의 모델이든 어떠한 규모와 형태의 데이터 세트든지 소화할 수 있음. 의도한 추론 작업이 무엇인가를 따지지 않음

- 병렬 훈련이 주제 지식을 왜곡하지 않도록 모델을 분할 (예를 들어 얼굴 인식)

- 분산된 표적 환경의 지형을 따지지 않는 형식으로 훈련을 병렬화 

- 복합적인 분산 훈련 파이프라인에서 모델과 데이터를 병렬화 

- 다양한 훈련 워크로드를 위해 GPU 연산 속도를 증가 

- 훈련 프로세스에서 하드웨어 자원을 효율적으로 이용 

- 클라우드 인프라에서 훈련 시 통신 비용 절감 

모델 및 네트워크가 극도로 복잡할 때의 스케일링 
이 두 프레임워크를 구별하는 요소는 순차적 레이어를 가진 모델에 대해 (이는 병렬화하기가 언제나 더 어렵다) 한층 복합적인 표적 환경에서 최적화된 훈련 워크플로우 수행을 지원하는 정도이다. 예를 들어 멀티 클라우드, 메시, 클라우드-투-에지 환경 등이다. 

구글의 지파이프는 다수의 순차적 레이어를 통합한 딥 신경망의 고속 병렬 훈련에 적합하다. 이는 아래의 사항을 자동으로 수행한다. 

- 모델을 분할하고, 분할된 모델을 여러 가속 장치, 예를 들어 GPU, TPU 등으로 이동시킨다. 이들은 여러 종류의 훈련 워크로드를 위해 최적화된 특수 하드웨어를 가지고 있다.  

- 훈련 실례의 미니-배치(mini-batch)를 더 작은 마이크로-배치(micro-batches)로 분할해 가속 장치에서 병렬로 처리한다 

- 분산 머신러닝 라이브러리에 걸쳐 SSGD(Synchronous Stochastic Gradient Descent)와 파이프라인 병렬 처리를 이용해 인터모드 분산 학습을 지원한다. 

마이크로소프트의 파이프드림 역시 모델 및 데이터 병렬 처리를 이용한다. 그러나 이는 분산 환경에서 복합적인 AI 훈련 워크플로우의 속도를 높이는데 보다 치중한다. 마이크로소프트 리서치의 프로젝트 피들 이니셔티브의 AI 훈련 프로젝트 가운데 하나인 파이프드림은 아래와 같은 배경으로 이를 자동으로 달성한다. 

- 인터모드 연산 및 커뮤니케이션을 분리해 분산 AI 훈련에서 데이터와 모델의 병렬 처리를 더 용이하게 만듦.

- AI 모델을 연속 레이어 세트로 구성된 단계들로 분할. 

- 각 단계를 개별 GPU로 매핑하고, 해당 단계 안의 모든 레이어에 대해 전방 및 후방 전달 신경망 함수를 수행. 

- 한 GPU 상에서 실행된 프로파일링 런을 바탕으로 모델 분할 방식을 결정. 

- 심지어 훈련 환경의 분산 지형이 매우 복잡한 경우라도, 각 모델 파티션 및 노드 사이의 연산 로드의 균형을 맞춤. 

- 다양한 파티션을 취급하는 분산 워커 노드 사이의 통신을 최소화. 각 워커는 하나의 다른 워커와만 통신하고, 전체 모델의 그라디언트 및 아웃풋 활성 함수의 부분 데이터 만을 전송한다. 

각 프레임워크에 관한 자세한 정보는 지파이프파이프드림 각 프레임워크의 연구 자료를 참조한다. 

컨센서스와 확장성의 니즈 
훈련은 성공적인 AI에 결정적인 요소다. 그리고 훈련 워크플로우는 멀티클라우드, 메시, 엣지에 걸쳐 분산되는 추세이다. 

나아가, 구글과 마이크로소프트는 분산 AI 훈련에 관해 업계가 동의하는 방식으로 자신의 프레임워크를 정렬시켜야 한다. 이 점에 있어서 이들은 우버를 고려할 수 있다. 승차 공유 회사인 우버는 이미 분산 훈련 프레임워크에서 가장 먼저 시장에 진출한 독보적 존재이다. 

우버는 3년 전 호로보드(Horovod) 프로젝트를 오픈소스화 했다. 이 프로젝트는 리눅스 재단의 AI 재단이 운영하고, 일류 AI 모델링 환경, 예를 들어 텐서플로우, 파이토치(PyTorch), 케라스(Keras), 아파치 MX넷(Apache MXNet) 등에 통합됐다. 

확장성은 모든 프레임워크가 고민하는 문제이다. 현재, 호로보드가 몇 가지 유용한 기능을 가지고 있긴 하지만, 구글과 마이크로소프트가 구축한 예리한 스케일링 초점이 결여되어 있다. 확장성 측면에서, 호로보드는 단일 또는 다중 GPU 상에서 실행될 수 있고, 심지어 코드 변화 없이 여러 분산 호스트 상에서 실행될 수 있다. 이는 작은 작업을 일괄 처리할 수 있고, 분산 튜닝을 자동화할 수 있고, 커뮤니케이션 및 연산 파이프라인을 인터리빙할 수 있다. 

확장성 문제는 훈련 시나리오마다 차이가 있다. 어떤 프레임워크가 지배적이 되는가에 관계 없이 – 지파이프, 파이프드림, 호로보드, 여타 프레임워크 – 아래의 특수한 훈련 시나리오의 분산 전개를 위한 표준 워크플로우가 개발되는 것을 지켜보는 것이 좋을 것이다.  

반-지도 학습: 소량의 라벨링 데이터를 이용해 예를 들어 IoT 기기의 카메라, 마이크, 환경 센서 등에서 수집된 대량의 비-라벨링 데이터 세트에서 패턴 식별을 가속한다. 

강화 학습: 이는 AI 모듈의 구축이 관여한다. 예를 들어 산업용 로봇에서 전개되는 모듈 같은 것이다. 이는 ‘실측 정보’ 훈련 데이터가 없거나 거의 없이 자율적으로 학습할 수 있다. 그러나 인간의 개입이 필요할 수 있다. 

협업 학습: 분산 AI 모듈 집단이 최적의 하이퍼파라미터를 집단적으로 탐색하고 교환하고 이용한다. 예를 들어 일단의 드론 같은 것이다. 따라서 모든 모듈이 학습 속도 및 정확성에 있어서 최고의 취사 선택으로 역동적으로 수렴한다. 

진화 학습: 예를 들어 모바일 및 IoT 엔드포인트 등 일단의 AI 주도형 개체를 자신에게 이로운 결정의 집합으로부터 학습하는 절차를 통해 훈련시킨다. 이는 개체 수준의 지식 및 다양한 수준의 개체간 모델-파라미터 공유를 기반으로 한다. 

전이 학습: 기존 모델의 훈련 데이터, 특징 표상, 신경 노드 아키텍처, 하이퍼파라미터, 여타 특성을 재사용한다. 

온-디바이스 훈련: 새롭게 감지된 로컬 데이터를 수집해 디바이스 내에 존재하는 특정 AI 모델을 신속히 갱신한다. 

로봇 탐지 학습: 미가공 센서 데이터로 작업하고, 환경 내 정규성을 활용하고, 소량의 훈련 데이터만을 필요로 한다. 

여기서는 미래에 보편화될 다양한 분산 AI 훈련 워크플로우는 언급조차 하지 않았다. 2020년에 나와 있는 표준적인 참조 프레임워크들은 데이터 과학자가 모든 방향에서 AI 혁명을 진전시키는 강력한 기반이 되어줄 것이다. 

* James Kobielus는 퓨처럼 리서치의 리서치 디렉터이자 리드 애널리스트다. ciokr@idg.co.kr
 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.