본문 바로가기
  • AI 개발자가 될래요
논문 리뷰

HET: Scaling out Huge Embedding Model Training via Cache-enabled Distributed Framework 논문 리뷰

by 꿀개 2023. 5. 17.

빅데이터 분산 학습 프레임워크에 대한 논문이다.

빅데이터 과제의 일환으로 작성됨.

아카이브 링크: https://arxiv.org/abs/2112.07221

 

HET: Scaling out Huge Embedding Model Training via Cache-enabled Distributed Framework

Embedding models have been an effective learning paradigm for high-dimensional data. However, one open issue of embedding models is that their representations (latent factors) often result in large parameter space. We observe that existing distributed trai

arxiv.org

 

1. Abstract

임베딩 모델은 *고차원 데이터(high-dimensional data)에 효과적인 러닝 기법이다.

*고차원 데이터(high-dimensional data): 데이터셋이 많은 특성 혹은 변수를 가지고 있는 경우를 의미. 
고차원 데이터는 데이터 분석과 머신 러닝에서 다루기 어려울 수 있다. 
이는 데이터가 희소해질 수 있고, 특성 간의 관계를 파악하거나 모델링하기가 어렵기 때문이다. 
고차원 데이터를 다룰 때는 차원 축소 기법이 자주 활용된다. 
차원 축소는 고차원 공간에 존재하는 데이터를 저차원의 공간으로 변환하여 
데이터의 구조를 유지하면서 분석이나 모델링을 수행하는 기법. 
이를 통해 데이터를 효율적으로 다룰 수 있고, 시각화와 특성 선택, 모델 성능 개선 등에 활용될 수 있다.

 

하지만 임베딩 모델은 *latent factor들이 종종 큰 매개변수 공간을 생성한다는 문제점이 있다.

*latent factor들이 종종 큰 매개변수 공간을 생성하는 것이 왜 문제냐?

임베딩 모델은 고차원 데이터를 저차원의 latent space로 투영하는 모델. 
데이터의 특성을 찾기 위해 많은 latent factor들을 사용한다. 
이는 모델의 매개변수로 표현되며, latent factor 개수가 모델의 매개변수 수를 결정한다.
latent factor의 수가 많아지면, 매개변수 공간도 커지게 되고 이는 모델의 복잡성을 증가시키고 
더 많은 리소스를 요구하기 때문이다.

 

현존하는 분산 트레이닝 프레임워크들은 확장성(Scalability) 문제에 직면하고 있다. 왜냐하면 서버에서 공유되는 임베딩 매개변수를 업데이트하고 검색하는 것이 일반적으로 훈련 주기를 지배하기 때문이다. , 임베딩 모델의 훈련 주기에서는 공유된 임베딩 매개변수를 서버로부터 업데이트하고 가져오는 작업이 주요한 시간을 차지한다. 이로 인해 분산 훈련의 성능과 확장성에 제한이 생길 있다.

이 논문에서는 거대한 임베딩 모델의 확장성을 개선한 새로운 시스템 프레임워크인 HET를 제안한다. 임베딩의 편향된 인기 분포(skewed popularity distributions)를 성능 개선의 기회로 받아들이고, 임베딩 캐시(embedding cache)를 활용하여 통신 병목 현상을 해결하였다. 캐시들 간의 일관성을 보장하기 위해 임베딩 단위로 세분화된 일관성을 제공하는 새로운 일관성 모델을 HET 안에 넣었다.

이전 연구들은 읽기(read) 작업에만 *지연(staleness) 허용하는 반면, HET은 쓰기(write) 작성에도 지연을 활용한다.

*지연(staleness): 고차원 데이터를 분산 환경에서 임베딩 모델로 훈련할 때, 
일반적으로 여러 서버 간에 데이터를 동기화하는 작업이 필요하다. 
이때 각 서버에서의 데이터 갱신은 일정한 시간이 걸리며, 
이로 인해 서버 간의 데이터의 일관성에 지연이 발생할 수 있다.

 

HET 6개의 대표적인 작업에 대한 평가에서 SOTA에 비해 최대 88%의 임베딩 통신 감소와 최대 20.68배의 성능 향상을 달성한다.

 

2. Introduction

- 텍스트 말뭉치(corputs of text) 또는 user-item 상호작용 데이터와 같은 고차원 데이터를 모델에 학습시키기 위해 일반적으로 임베딩 모델을 사용함.

- 임베딩 모델은 희소한(sparse) 고차원 특성 공간(feature space)을 연속적인 저차원 임베딩 공간으로 변환.

- 페이스북(Facebook), 구글(Google), 텐센트(Tencent) 와 같은 현대 웹 기업에서 흔히 사용되며, 추천과 같은 하위(downstream) 작업에 유용한 정보를 추출하는 데 효과적인 학습 패러다임.

- 특성(feature)은 임베딩 세트(, latent vectors)로 표현되어야 하기 때문에, 많은 임베딩 모델은 거대한 규모임. 따라서 매번 작업자에게 복사하거나 단일 호스트의 RAM에 저장하기에 너무 큼.

- 예를 들어, 구글(Google)real-world document 임베딩 모델의 매개변수는 수 테라바이트를 차지하며, 바이두(Baidu)의 산업용 click-through rate 예측 모델은 1011

개의 입력 sparse features 10 TB의 매개변수가 필요하다. 이러한 이유로 인해 수백만 또는 수십억 개의 매개변수를 학습해야 하는 대규모 사용 사례로 임베딩 모델을 확장하는 것은 어려운 일이다.

- 현대 분산 ML 시스템(: TensorFlow)은 일반적으로 모델의 확장을 위해 parameter server framework를 채택. 서버는 작업자들의 업데이트를 집계(aggregating)하고 전역 매개변수를 업데이트하여 전역으로 공유된 매개변수를 유지. 작업자들은 서버 노드와만 통신하며 공유된 매개변수를 업데이트하고 검색(retrieving).

- 기존의 ML 시스템은 일반적으로 데이터 병렬 처리를 지원. 분산 학습에는 주로 Bulk Synchronous Parallel(BSP) 또는 Asynchronous Parallel(ASP)가 모델 매개변수를 업데이트하기 위해 사용.

- 그러나 이러한 설정은 대규모 임베딩 모델의 확장성 문제가 있음.

- 공유된 특성 임베딩 매개변수(shared feature embedding parameters)의 업데이트와 검색이 제한된 대역폭 링크를 통해 이루어지는 것은 비효율적임. 예를 들어, TensorFlow ASP를 사용하면 학습 시간의 최대 86%가 임베딩 검색과 업데이트에 소요되어 학습 주기를 지배함. 임베딩 모델이 대용량 임베딩 데이터에 비해 계산 복잡도가 낮은 심층 신경망을 사용하기 때문. 또한, 가속기(accelerators)와 네트워크 대역폭의 발전 격차가 커지면, 임베딩 통신 병목 현상은 더욱 심화될 것.

- 본 논문에서는 HET라는 새로운 분산 시스템 프레임워크를 제안한다.

  • 거대한 임베딩 모델 훈련(Huge Embedding model Training)을 확장하기 위해 효율적인 임베딩 캐시 기반 아키텍처를 활용하는 것이 핵심 아이디어.
  • 임베딩 모델의 중요한 특성인 인기 편향성(popularity skewness)과 지연 허용성(staleness tolerant)에서 영감을 얻음.
  • 특히, 임베딩의 인기 분포(popularity distribution of embeddings)는 종종 고도로 편향되어 있으며, 일반적으로 멱법칙 분포(power-law distributions)를 따른다. 이를 통해 각 작업자마다 작은 캐시에 핫한 임베딩(small cache of hot embedding)을 저장함으로써 네트워크 대역폭을 효과적으로 절약하면서 작업자 수에 따라 훈련 처리량을 확장할 수 있다.

- 공유된 임베딩 데이터를 여러 캐시에 복제하는 것은 쓰기 작업이 있는 경우 일관성 문제를 일으키지만, 임베딩 모델은 훈련 중에 발생하는 일부 지연 오류는 허용된다. 임베딩 모델은 어느정도 불일치에 대해 견고하며 일관성 보장을 적절하게 완화함으로써 시스템을 개선시킬 수 있다.

- 그러나 Stale Synchronous Parallel (SSP)와 같은 전통적인 일관성 모델은 *편향된 액세스(skew access)의 존재를 인식하지 못하며, 각 작업자가 전체 매개변수 집합을 보유할 수 있어야 한다. 또한, 이러한 모델들은 주로 통신 오버헤드에는 초점을 두지 않는다. 임베딩 모델의 대규모와 통신 비용을 고려할 때, 위 문제들은 훈련의 확장에 있어 중요한 제한 요소가 된다.

*편향된 액세스(skew access): 액세스 패턴의 한 형태로, 
특정 데이터 또는 리소스에 대한 액세스가 불균형하게 분포되는 것을 의미. 
일반적으로, skew access는 일부 데이터 또는 리소스가 다른 데이터 
또는 리소스보다 훨씬 더 자주 액세스되는 상황을 가리킨다. 
예를 들어, 일부 단어가 다른 단어보다 더 자주 사용되는 자연어 처리 모델에서는 
해당 단어의 임베딩이 더 자주 액세스되는 skew access가 발생할 수 있다.

 

- 위 문제들에 대응하기 위해, HET에 새로운 일관성 모델을 도입. 기존의 전통적인 모델과 두 가지 측면에서 다름.

  • 첫째, 세밀한 단위(fine-grained)로 캐싱과 일관성을 가능하게 함으로써, 임베딩별 보장을 제공.
  • 둘째, 읽기 작업에만 지연을 허용한 이전 작업들과 비교해, 쓰기 작업에도 지연을 활용. 이는 캐시에 저장된 임베딩에 쓰기 작업을 수행해도 해당 임베딩이 캐시에서 무효화되거나 제거될 때까지 전역 모델을 업데이트하지 않는다는 것을 의미. 이 기능은 통신 부하를 줄이는 데 중요.

 

- HET는 10^12개 매개변수 규모의 임베딩 모델 훈련을 지원하며, SOTA에 비해 6.37~20.68배의 가속화와 최대 88%의 임베딩 통신 감소를 달성함.

 

3. Preliminary

3.1. Distributed Training

Distributed machine learning

- 분산 기계 학습 시스템은 ML을 대용량 데이터와 큰 모델로 확장하기 위해 연구됨.

- 파라미터 서버(PS)는 트렌디한 데이터 병렬 아키텍처로, TensorFlow, PS2 등에 사용됨.

- All-Reduce와 최근 몇 가지 시스템(PyTorch, Horovod)*NCCL의 도움을 받아 PS보다 우수한 성능을 보여주고 특히 *밀집(dense) 모델에 적합.

*NCCL(NVIDIA Collective Communications Library)
: NVIDIA에서 개발한 병렬 커뮤니케이션 라이브러리
*밀집(dense) 모델: 모든 입력과 출력 사이에 밀집된(연속적인) 연결이 있는 모델을 의미. 
각 뉴런이 이전 레이어의 모든 뉴런과 연결되어 있는 fully connected 레이어(또는 밀집 레이어)로 구성된 신경망.

 

Parallel training paradigms

- 대부분의 데이터 병렬화(parallelism) 연구는 미니 배치 SGD와 비슷한 모델 성능.

- Bulk Synchronous Parallel (BSP)은 모든 N개의 워커가 완전히 동기화되어 있고 다음과 같은 업데이트 규칙을 수행한다고 가정:

 

 

- 그러나 SSP는 각 워커 내에서 전체 모델의 복제본을 저장해야 하므로 대규모 모델에는 비실용적.

 

3.2. Embedding Models

- 다양한 종류의 임베딩 모델은 인터넷 기업들에게 중요한 서비스인 추천 시스템에서 성공.

- Figure 1은 일반적인 임베딩 모델의 구조.

 

3.3. Problems and Opportunities

Communication cost

- 대규모 임베딩 모델은 밀집한 매개변수와 희소한 매개변수 사이 통신 병목 현상에 시달린다.

- PS(파라미터 서버)는 조회(lookup) 작업에 기반한 희소(sparse) 통신에 적합.

- AllReduce GPU 간의 밀집 통신에 최적화(: NCCL), 희소 통신에 대해서는 비효율적.

- 모델 매개변수의 희소성 차이를 고려하여 Parallax PS AllReduce를 결합한 하이브리드 통신 아키텍처를 제안.

- Kraken은 하이브리드 아키텍처를 따르며 임베딩 메모리 사용량을 최적화.

- HugeCTR NVIDIA의 고효율 GPU 프레임워크로, 다중 GPU에서 추천 시스템을 위해 설계되었지만 모든 임베딩 매개변수를 GPU 내에서 유지해야 하기 때문에 메모리 제한이 있음.

- Figure 2는 임베딩 모델과 데이터셋에 대한 데이터 전송 시간과 매개변수 수를 요약한 것. 모든 모델과 데이터셋에서 통신이 계산보다 훨씬 더 오랜 시간이 걸린다는 것을 알 수 있음.

 

Skewness

- Figure 3은 클릭 click-through rate prediction (Criteo), citation network (ogbnmag), product co-purchasing network (Amazon)에서의 임베딩 업데이트 빈도의 비대칭 분포를 보여줌.

- Criteo의 상위 10% 인기 임베딩은 총 업데이트 수의 90%를 차지.

한정된 로컬 메모리에 자주 업데이트되는 임베딩을 캐시하여 통신을 줄일 동기를 제공.

 

Robustness

- 캐시를 도입하면 쓰기 작업 시 일관성 문제 발생.

- 기존의 임베딩 모델은 반복 수렴 알고리즘의 범주에 속하며, 무작위로 선택된 초기점에서 시작하여 일련의 절차를 반복함으로써 최적점으로 수렴함.

- 이러한 반복 수렴 과정은 일정 수준의 일관성 부족에 대해 견고하며 여전히 올바르게 수렴.

- 이 속성은 프레임워크가 캐시 일관성 모델을 완화하고 로컬 (오래된) 캐시에서 읽음으로써 시스템 성능을 향상시킬 수 있게 한다.

 

4. HET Design

- Figure 4: 시스템 개요

 

- 훈련 데이터를 여러 개의 워커로 분산 각 워커는 모델 매개변수의 복제본을 보유, 훈련 중 그래디언트 동기화를 위해 AllReduce를 사용 HET은 공유 임베딩 매개변수를 테이블로 구성 전체 임베딩 매개변수는 HET 서버의 전역 임베딩 테이블에 저장 클라이언트는 로컬 캐시의 관리 담당, 로컬과 전역 임베딩 테이블 간의 일관성을 제어하기 위해 서버와 통신

 

4.1. Cache Management

- 임베딩은 임베딩 테이블의 일련의 행으로 구성.

- 각 임베딩은 고유한 키 𝑘로 표시되는 희소한 특성(sparse feature) ID를 나타낸다.

 

 

4.2. Read/write Protocols

- 알고리즘 1: HET 클라이언트의 작업 흐름

 

- 각 워커는 모델 파라미터를 초기화한 후, 미니 배치 SGD 알고리즘을 기반으로 반복적인 학습을 수행하여 임베딩 모델을 훈련한다.

- 클라이언트는 미니 배치 데이터에서 고유한 키(feature ID)를 추출하고 해당하는 임베딩을 읽는다.

- DL 실행기(DL executor)는 이러한 모델 파라미터와 입력 데이터를 사용하여 순방향 및 역방향 계산을 수행한다.

- 밀집 모델 파라미터와 희소 임베딩을 각각 업데이트.

 

(1)    Het.Read(keys): 요청된 키를 기반으로 일련의 임베딩 벡터를 읽는다.

 

- 각 키 𝑘에 대해 클라이언트는 먼저 캐시 임베딩 테이블에서 𝑘의 존재 여부를 확인 (line 3에서 Het.Cache.Find(key)를 확인).

  • 존재하지 않는 경우

클라이언트는 서버에서 가장 최신 버전의 임베딩을 가져와서 일시적으로 로컬 캐시 임베딩 테이블에 추가 (line 8)

  •  존재하는 경우

클라이언트는 캐싱된 임베딩이 유효한지 확인하고 (line 4)

동기화를 통해 서버와 캐시를 맞추려고 시도 (line 5)

유효 기간 내의 임베딩에 대해서는 클라이언트가 직접 로컬 임베딩 테이블에서 읽을 수 있다(Het.Cache.Get(key)).

 

(2)    Het.Write(keys, gradients): 임베딩 그래디언트를 기록

- 캐시 임베딩 테이블은 클라이언트와 서버 간의 통신 비용을 줄이기 위해 stale-writes를 허용.

- 순방향 및 역방향 계산 이전에 모든 키를 가진 임베딩이 캐시 임베딩 테이블에 로드되었기 때문에 그래디언트를 직접 해당 키의 행에 누적하여 로컬로 기록할 수 있다 (line 2에서 Het.Cache.Update(key, grad)).

- 이는 "read-my-updates" 속성을 강제화하여 클라이언트가 읽은 데이터에는 자신의 모든 업데이트가 포함되도록 한다.

- 캐시 임베딩은 현재 클럭을 1씩 증가해야 한다 (line 3).

- 이러한 누적 업데이트는 나중에 캐시 배출 작업을 통해 서버로만 기록될 수 있으며, 전역 임베딩 테이블과 비교했을 때 "오래된(stale)" 상태가 된다.

 

4.3. Cache Consistency Guarantee

- per-임베딩 관점에서, 각 임베딩은 학습 중에 여러 개의 캐시 임베딩 테이블에 존재할 수 있음.

- 따라서 캐시 일관성 보장은 최종 모델 품질에 매우 중요하다.

 

- 다른 워커의 임베딩 복제본 간에 clock 일관성에 대한 보조 정리(lemma)는 다음과 같다.

 

- Lemma 1과 the per-embedding clock bounded consistency는 관측 가능한 임베딩에 대해서만 설 명한다.

- 만약 워커가 어떤 키를 가져와서 업데이트를 수행하고, 그 키를 다시 볼 수 없는 상황이 발생한 다면, 다른 워커들은 여전히 그 키를 볼 수 있다.

- 워커의 캐시 용량이 가득 찰 때 해당 임베딩은 제거되고, 업데이트는 서버로 다시 기록된다.

 

4.4. Convergence Analysis

- 전통적인 SSP와 다음과 같은 측면에서 차이가 있다.

(1)    SSP는 편중된 액세스(skew access)의 존재를 인식하지 못하고

        워커 클럭으로 측정되는 제한된 상태(bounded staleness)를 제공하는 반면,

         HET은 개별 임베딩 클럭에서 제한된 상태(bounded staleness)를 제공한다.

(2)    SSP는 서버가 최신 상태로 유지되는 write-through 캐시를 가정하지만,

        HET는 쓰기 성능을 향상시키기 위해 write-back-with-stale 서버를 채택.

 

5. HET Implementation

- HET의 구현은 Hetu라는 DL 시스템을 기반, 이는 C/C++/CUDA로 구성된 14.5K LOC Python 데이터플로우 프론트엔드 (20.7K LOC)로 이루어져 있음.

- 다른 DL 시스템에도 쉽게 HET의 캐시 임베딩 메커니즘을 확장 가능, 이를 위해 DL 런타임 (: TensorFlow, PyTorch, MXNet)을 대체함으로써 구현할 수 있음.

- TensorFlow를 예로 들면, 기존의 TF 파라미터 서버를 HET 서버로 대체하여 전역 임베딩 테이블을 저장할 수 있음. HET 클라이언트 인터페이스를 사용하여 lookup/update 작업을 캡슐화하는 임베딩 변수를 TF로 구현할 수 있음.

- 하이브리드 통신 아키텍처에서 AllReduce*MPI NCCL을 사용하여 구현.

*MPI(Message Passing Interface): 병렬 컴퓨팅 환경에서 프로세스 간 메시지 전달을 위한 표준 인터페이스. 
여러 프로세스 간 통신을 가능하게 하여 대규모 병렬 컴퓨팅 작업을 처리하는 데 사용된다. 
MPI는 메시지 전달, 동기화, 데이터 교환 등 다양한 통신 패턴을 지원하며, 
다중 노드 또는 다중 프로세서 시스템에서 효율적인 작업 분할과 통신을 가능하게 한다. 
따라서 HET의 구현에서는 MPI를 사용하여 AllReduce와 같은 통신 작업을 수행한다.

 

- HET 클라이언트와 서버와 같은 주요 구성 요소는 PS 인터페이스의 경량 구현인 PS-Lite을 기반으로 개발.

- C++로 임베딩 테이블을 구현하고 실험에서는 각 워커의 제한된 DRAM에 캐시 임베딩 테이블을 저장.

 

5.1. Asynchronous Communication Invocation

- HET에서는 TensorFlow와 유사하게 정적 계산 그래프 추상화(static computation graph abstraction)를 사용하여 모든 작업을 구성한다.

- 비동기적으로 통신 요청을 시작하고 해당 이벤트를 기록하여, 다음 iteration에서 업데이트된 매개변수를 사용해야 하는 시점에 동기화.

 

5.2. Message Fusion

- 파라미터 서버 아키텍처에서 Pull(모델 매개변수) Push(모델 그래디언트) 작업을 결합하는 것은 성능 향상을 위한 일반적인 기술이다.

- 이는 전통적인 밀집(dense) 매개변수에 대해 쉽게 구현할 수 있으나, 임베딩 테이블을 비롯한 희소(sparse) 매개변수의 경우 구현이 어렵다.

- 캐시 방출(eviction) 및 가져오기(fetching)를 결합하기 위해서는 미리 다음 미니배치 데이터를 사전에 가져와 임베딩 인덱스에 알려야 한다.

 

5.3. Cache Strategies

- HET의 캐시 전략 목표는 제한된 메모리 양 내에서 임베딩 조회 성공 비율(embedding lookup hit rate)를 최대화하는 것. (캐시된 임베딩이 많이 사용되어 자주 조회되는 경우, 해당 임베딩을 캐시에서 바로 찾을 있으므로 조회 성공 비율이 높아진다.)

- 캐시의 효과성은 두 가지 주요 요소에 의해 결정:

(1)    로컬 워커로부터의 쿼리 빈도

(2)    만료 기간의 길이

- 후자는 다른 워커의 작업 부하에 영향을 받고 예측하기 어려움

첫 번째 목표를 최적화하는 데에만 초점.

- , 로컬 워커가 가장 자주 사용하는 임베딩을 캐시(: LFU LRU 정책).

- 임베딩의 빈도가 충분히 높을 경우, 해당 임베딩은 직접 액세스 인덱스를 할당 받는다.

- 이를 통해 동일한 작업 부하에서 원래 LFU와 유사한 미스율을 가지면서 매우 작은 실행 시간을 유지할 수 있다.

 

6.   Experiments

Baselines

- HET TensorFlow Parallax 시스템 두 가지와 비교.

- HET을 기반으로 세 가지 보조 베이스라인을 구현

(1)    HET PS (ASP)

: TensorFlow ASP 알고리즘을 따르며 각 워커는 다른 워커를 기다리지 않고 서버로 업데이트를 전송

(2)    HET AR (AllReduce)

(3)    HET Hybrid (w/o Cache)

: HET의 하이브리드 통신 아키텍처를 유지하되 캐시 임베딩 테이블을 제거

- 이 세 베이스라인은 HET과 동일한 계산 커널과 통신 최적화(overlapping, pre-fetching)를 공유.

 

Datasets and models

- 임베딩 모델 워크로드로 Deep Learning Recommendation Model(DLRM)Graph Neural Network (GNN) 선택.

  • DLRM

- Wide & Deep (WDL), DeepFM (DFM), Deep & Cross (DCN) 세 가지 DLRM 모델을 사용

- 데이터셋: Criteo 사용. 𝐷 = 4096로 설정할 경우, 임베딩 테이블에서 1조 개 이상의 모델 파라미터(10^12 float)가 있을 수 있음.

  • GNN

- GraphSAGE 선택

- 노드 분류 작업을 평가

- 데이터셋: Reddit, Amazon, ogbn-mag

 

Experimental setting

- TensorFlow 1.15에서 구현 / 배치 크기: 128, SGD 옵티마이저

- learning rate: 그리드 서치(grid search)를 통해 [0.001, 0.01, 0.1]에서 선택.

- 두 개의 GPU 클러스터를 사용하여 평가.

- 클러스터 A에서 각 노드는 Nvidia RTX TITAN 24 GB, PCIe 3.0, 12 GB DRAM(모델 확장성 실험에서 DRAM 48GB로 임시 증가).

- 서버는 CPU 클러스터에 있으며 각 노드에는 두 개의 Intel Xeon Gold 5120 CPU 376 GB DRAM이 장착되어 있음

- 서버와 워커 클러스터는 1 Gbit 이더넷으로 연결되어 있음.

- 클러스터 B Nvidia V100, 네트워크는 10 Gb 이더넷

- Criteo 데이터셋에 대한 테스트 AUC 수렴 임계값은 약 80%

- GNN 데이터셋의 경우, customized feature engineering 단계로 인해 사전에 정의된 값으로 종료 지점을 수동으로 설정

- 모든 실험은 다섯 번 실행되었고, 평균 결과로 report

 

6.1. End-to-end Comparison

- 이 섹션에서는 베이스라인과 종합적인 비교 실험

- 8개의 워커와 1개의 원격 서버에서 평가됨.

- 캐시 임베딩 테이블의 크기는 전역 캐시 임베딩 테이블의 10%로 설정

 

Convergence efficiency

- Figure 6은 클러스터 A에서 여섯 가지 다른 작업에 대한 수렴 곡선을 보여줌.

 

- TF PS HET PS ASP 알고리즘을 따르기 때문에 목표 임계값에 잘 수렴하지 못함. (파란색과 초록색 라인)

- HET에 다른 지연 임계값 𝑠 = 10, 100 설정.

- HET Cache는 모든 작업에서 베이스라인보다 항상 우수함. (보라색 계열 라인)

- 𝑠 = 100일 때, 캐시 임베딩 테이블 메커니즘의 이점으로 인해 HET Hybrid w/o에 비해 약 4.36-5.14배의 속도가 향상됨.

- 𝑠 = 10과 비교했을 때, 𝑠가 더 클수록 더 많은 통신 비용 감소. 수렴하기까지 시간이 적게 걸렸기 때문으로 해석됨.

- 이 논문에서 주장하는 모델은 수렴 안정적임. (그래프의 요동 즉, 분산이 작음)

 

- Table 1은 종단 간 수렴 시간을 나타냄

 

- HET TF Parallax에 비해 6.37-20.68배의 속도 향상

- 임베딩 통신 작업 전에 키에 대해 고유한 작업을 수행하여 중복 임베딩 전송 비용을 피함.

 

Communication speedup

 

- Figure 7(b) 10 Gb 이더넷 클러스터에서 세 가지 DLRM 작업에 대한 epoch당 시간과 통신 시간의 속도 향상 비교를 보여준다.

- 네트워크 대역폭이 더 크지만, 통신 비용은 여전히 모델 학습 과정의 병목(bottleneck)이다.

- HET Cache 100 HET Hybrid TF Parallax에 비해 최대 2.3배와 5.2배 속도 향상. ((b)의 제일 오른쪽 그래프 참고)

- 10 Gb 이더넷을 사용할 때, 고 네트워크 대역폭은 PS 기반 방법의 속도를 향상시킨다.

- 그러나 HET AR1Gb 때와 유사한 성능을 유지하며, 모든 방법 중 가장 느리다. (0.6)

 

Convergence quality

-  지연(staleness)이 정확도에 어떤 부정적인 영향을 미칠 수 있는지 조사.

- Table 2의 왼쪽 부분은 다양한 staleness 임계값에서 모델의 성능(test AUC)을 보여줌.

 

 

- staleness이 중간 정도(𝑠 = 100)에서도 목표 모델 품질에 도달한다는 것을 발견.

- 그러나 높은 staleness에서는 성능 저하.

 

- Criteo의 테스트 데이터셋에서 WDL에 대해 병리학적인(pathological) 경우를 조사.

: 자주 동기화되지 않는 임베딩 파라미터를 사용하여 예측하는 경우 정확도가 떨어질 수 있는 가능성이 없는 것은 아닐까?

- 캐시 미스율을 오래된(덜 자주 동기화되는) 임베딩 파라미터를 사용하는 예측 빈도수를 측정하는 데에 사용한다. 캐시 미스율이 높다는 것은 오래된 임베딩 파라미터를 자주 사용한다는 것을 의미하며, 캐시 미스율이 낮다는 것은 자주 동기화되는 임베딩 파라미터를 사용한다는 것을 의미한다. 이를 통해 빈번하게 동기화되지 않는 오래된 임베딩 파라미터를 사용하여 예측하더라도 심각한 예측 편향이 발생하지 않는다는 것을 확인할 있다.

- 따라서, 캐시 미스율에 따라 테스트 세트를 두 개의 세트로 나눈다.

- Table 2의 오른쪽 부분을 보면, 두 모델(𝑠 = 0 𝑠 = 100)에서의 예측 분포는 매우 비슷하며, 이는 오래된 임베딩이 예측 편향을 유발하지 않는다는 것을 보여준다.

 

6.2. System Configuration Sensitivity

- 다양한 캐시 임베딩 테이블 크기와 캐시 전략 설정이 미치는 영향을 연구.

- 클러스터 A에서 GNN을 사용할 때 ogbn-mag Reddit 데이터셋의 캐시 미스율을 측정.

- Figure 8을 보면 LFU는 종종 LRU보다 낮은 캐시 미스율을 보인다.

 

 

- 이는 LFUlong-term embedding access popularity를 더 잘 반영하기 때문이다.

- 또한 3%, 5%, 10%, 15%와 같은 다양한 캐시 임베딩 테이블 크기를 평가.

- 캐시 테이블 크기가 커질수록 캐시 미스율이 크게 감소한다.

- LFU를 사용하는 ogbn-mag 데이터셋에서 전역(global) 임베딩 테이블 크기의 15% 사이즈인 캐시 공간이 주어진 경우, 거의 97%의 임베딩 접근이 캐시 임베딩 테이블에서 수행된다. 이는 캐시 임베딩 테이블에 저장된 임베딩 파라미터를 자주 활용하고 있음을 나타낸다. 캐시 공간이 충분히 크기 때문에 대부분의 임베딩 접근은 캐시에서 이루어지므로 원격 서버로의 통신이 줄어들게 되어 효율적인 훈련이 가능해진다.

           캐시 임베딩 테이블이 통신 비용을 효과적으로 감소시킨다는 것을 의미.

- 이 실험은 HET의 효과를 강력하게 입증하며, 캐시 임베딩 테이블이 어떻게 통신 비용을 감소시키는 데 도움이 되는지 설명한다.

 

6.3. Scalability

- 4개의 서버에서 1, 2, 4, 8, 16, 32개의 워커를 사용하여 실행 시간 속도 향상에 대한 확장성 연구를 진행.

- Figure 9(a) Figure 9(b)에서 TF PS TF Parallax는 많은 양의 임베딩 통신 비용으로 인해 제한된 확장성을 가지고 있음을 확인. (파란선)

- 반면, HET는 핫 임베딩(hot embeddings)을 캐시하여 향상된 확장성을 달성. (노란선)

- GNN-Reddit WDL-Criteo보다 더 좋은 확장성을 보여줌. WDL-Criteo이 더 큰 임베딩 테이블을 가지고 있으며, 더 많은 통신 비용이 들기 때문이다. (워커의 수가 늘어날수록 GNNspeedup이 더 크기 때문에 확장성이 좋은 것으로 추정됨.)

 

- HET WDL-Criteo에서 모델 확장성을 연구하기 위해 임베딩 크기 𝐷 4096까지 증가시켜 보았다. ( 1조 개의 모델 파라미터)

- Figure 9(c) HET TF Parallax보다 확장성 면에서 훨씬 우수하다는 것을 보여준다.

- 이는 PS 아키텍처가 큰 규모의 임베딩 테이블과 심각한 통신 병목 현상을 유발하기 때문이다.

 

7.   Conclusion

- 고차원(high-dimensional) 데이터에서 훈련된 임베딩 모델은 현대 웹 기업에서 흔히 볼 수 있으며, 이는 표준 프레임워크에 해결해야 할 문제를 제시한다.

: 통신 오버헤드(overhead)가 높아져 임베딩 워크로드(workloads)의 실행 효율과 확장성(scalability)이 낮아지는 문제

- 이러한 성능 병목 현상에 대응하기 위해, HET 시스템 프레임워크를 제안.

- 임베딩 캐시(embedding cache) 아키텍처와 미세한 일관성(fine-grained consistency) stale-write 프로토콜을 결합하여 성능 병목 현상을 해결.

- 실험 결과는 HET이 최신 베이스라인에 비해 최대 88%의 임베딩 통신을 감소시키고 최대 20.68배의 성능 향상을 보여줌.

- 이 연구와 HET의 오픈 소스 공개가 현대 웹 기업에서 더 큰 고차원 데이터셋의 공개를 촉진하고, 더 큰 임베딩 모델에 대한 연구 증가를 도모하는 데 도움이 되기를 기대.