ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 분산 머신러닝 및 프라이버시 머신러닝 개념 정리 (2)
    bookstory 2024. 1. 21. 21:47
    728x90

     

     

    확장성 지향 분산 머신러닝 기법

    규모가 큰 딥러닝 모델에 대응하기 위한 방법

     

    데이터 병렬처리 : 데이터 병렬처리는 여러 조각으로 (Shard, 샤드)으로 나뉜 훈련 데이터를 다른 여러 컴퓨팅 장치를 써서 동일한 모델의 여러 복제본을 통해 모델 정보를 주기적으로 주고받으며 처리하는 것을 의미함

    (참고 : jia et al 2019, Das, 2019, Wang, 2016)

    이 방식은 데이터의 증가에 따른 확장성이 가능하지만 모델의 복제본을 단일 장치에 두어야 하므로 메모리공간을 많이 차지하는 ML모델을 처리하기 어려움

     

    일반적인 데이터 병럴 처리 기반 분산 훈련 방식에 대해 동기식, 비동기식의 접근방법이 있음

    동기식 : 컴퓨팅 개체들이 동일한 복제본 모델을 훈련 데이터의 각기 다른 조각에 대해 동기화하면서 훈련, 훈련 단계가 끝날 때마다 개체들이 산출한 가중치를 집계

    비동기식 : 동일한 모델의 복제본을 독립적으로 훈련 데이터의 부분집합에 대해 훈련, 가중치를 비동기식으로 업데이트

    (참고 : 동기식 훈련은 올리듀스(AllReduce 아키텍처 : Apache mapreduce,2019, Fukuda, 2019), 비동기식 훈련은 파라미터 서버 아키텍처(li et al., 2014)에서 지원함

     

    모델 병렬 처리

    딥러닝 모델이 커질수록 단일 컴퓨팅 개체 메모리에 로딩하지 못하는 문제가 발생

    BERT 모델이 그 예로, (Devlin et al., 2019), 에서는 모델을 분할해 모델 일부를 다른 개체에 넣어야 함

    모델 병럴 처리는 모델을 분할, 여러 컴퓨팅 장치에 배치하는 경우를 의미함

    모델 병렬 처리 예로는 AMPnet(Gaunt et al., 2018)이 있고 이는 멀티코어 cpu를 활용, OptCNN(Jia et al., 2018)은 계층별 병렬 처리 방식을 사용, 통신비용, 정확도 이점이 있음, Dean et al., 2012, 에서는 구글 다운푸어 SGD(downpour SGD라는 비동기 분산 구현 발표, 이는 데이터 병렬처리와 모델 병렬 처리를 결함해 훈련용 샘플을 서로 다른 머신으로 나누고 머신은 전체/부분 네트워크의 고유한 사본을 갖는 방식임.

    DeepSpark, 2019(Kim et al., 2016)은 실무자들이 대규모 병렬 및 분산 딥러닝 작업을 쉽고 직관적으로 배포할 수 있음

     

    그래프 병렬 처리

    그래프 기반 머신러닝의 발전에 따라 그래프 병렬 처리 기반 분산 머신러닝도 많은 연구가 진행되고 있음(그래프 기반 머신러닝, Zhang et al., 2018), 그래프랩(GraphLab, Low et al., 2010) 은 맵리듀스와 같은 추상화를 개선한 것으로 데이터의 정합성을 보장하면서 희소한 계산 종속성을 갖는 비동기 반복 알고리즘 구현, 최근에는 TUX라는 분산 그래프 엔진 제안(Xiao at al., 2017) 이는 분산 머신러닝용으로 최적화됨

     

     

    참고문헌 : 

    연합학습

     
     
    치앙 양 , 양 리우 , 용 청 , 옌 캉 , 텐젠 첸 , 한 유 저자(글) · 이태휘 번역
    에이콘출판 · 2022년 08월 22일
    반응형
Designed by Tistory.