Skip to main content
QUICK REVIEW

[논문 리뷰] Factorbird - a Parameter Server Approach to Distributed Matrix Factorization

Sebastian Schelter, Venu Satuluri|arXiv (Cornell University)|2014. 11. 03.
Stochastic Gradient Optimization Techniques참고 문헌 25인용 수 28
한 줄 요약

Factorbird는 잠금 없는 Hogwild! 스타일의 SGD를 사용하는 파라미터 서버 기반 시스템으로, 380억 개 이상의 비제로 요소를 가진 거대한 행렬에 대해 확장 가능하게 설계되었다. 데이터 행렬과 모델 행렬을 공동으로 분할하여 충돌과 네트워크 트래픽을 최소화함으로써 고처리량을 달성하였으며, 229M × 195M 크기의 트위터 상호작용 행렬에서 400억 파라미터 모델을 성공적으로 훈련시켰다. 이는 현재까지 보고된 바 중 가장 큰 행렬 인수분해이다.

ABSTRACT

We present Factorbird, a prototype of a parameter server approach for factorizing large matrices with Stochastic Gradient Descent-based algorithms. We designed Factorbird to meet the following desiderata: (a) scalability to tall and wide matrices with dozens of billions of non-zeros, (b) extensibility to different kinds of models and loss functions as long as they can be optimized using Stochastic Gradient Descent (SGD), and (c) adaptability to both batch and streaming scenarios. Factorbird uses a parameter server in order to scale to models that exceed the memory of an individual machine, and employs lock-free Hogwild!-style learning with a special partitioning scheme to drastically reduce conflicting updates. We also discuss other aspects of the design of our system such as how to efficiently grid search for hyperparameters at scale. We present experiments of Factorbird on a matrix built from a subset of Twitter's interaction graph, consisting of more than 38 billion non-zeros and about 200 million rows and columns, which is to the best of our knowledge the largest matrix on which factorization results have been reported in the literature.

연구 동기 및 목표

  • 단일 머신의 메모리 용량을 초월하는 대규모 행렬 인수분해 모델을 훈련하기 위한 확장 가능하고 확장 가능한 시스템 설계
  • 실시간 추천 시스템을 위한 배치 및 스트리밍 시나리오 모두를 지원
  • 지능적인 데이터 및 모델 분할을 통해 분산 SGD에서 업데이트 충돌과 네트워크 트래픽을 최소화
  • 단일 훈련 실행을 통해 대규모에서의 효율적인 하이퍼파rameter 탐색을 가능하게 함
  • 협업 필터링에서 알려진 바 중 가장 큰 행렬, 즉 380억 개 이상의 비제로 요소를 가진 행렬의 인수분해 가능성을 입증

제안 방법

  • 다수의 머신에 걸쳐 글로벌 모델 파라미터를 저장하고 업데이트하기 위해 파라미터 서버 아키텍처를 사용
  • 동기화 오버헤드 없이 동시 업데이트를 허용하기 위해 잠금 없는 비동기적 SGD(Hogwild! 스타일) 적용
  • 공동 분할 전략 도입: 한 요소 행렬은 학습기 머신에 따라 분할되며, 다른 요소 행렬은 입력 데이터와 함께 공유되어 업데이트를 국지화하고 네트워크 트래픽을 줄임
  • 희박하고 부분적으로 관측된 데이터에서 예측 정확도를 향상시키기 위해 전역, 사용자, 항목 바이어스를 포함한 가중치 손실 함수 도입
  • 고처리량 액세스(초당 420만 명령어)를 지원하는 memcached를 공유 파라미터 저장소로 활용하여 저지연 파라미터 액세스 구현
  • 단일 훈련 실행 동안 다수의 구성에 대한 그리드 서치를 수행함으로써 대규모에서의 확장 가능한 하이퍼파rameter 튜닝 가능

실험 결과

연구 질문

  • RQ1파라미터 서버 아키텍처는 비제로 요소 수가 수십억 개에 이르는 행렬에 대해 행렬 인수분해를 효율적으로 확장할 수 있는가?
  • RQ2특히 대규모 희박한 환경에서 동기화 없이 분산 SGD에서의 충돌적 업데이트를 어떻게 최소화할 수 있는가?
  • RQ3모델과 데이터 행렬의 공동 분할 전략이 네트워크 트래픽과 업데이트 경쟁을 상당히 줄일 수 있는가?
  • RQ4다중 독립 훈련 실행 없이 대규모에서의 하이퍼파rameter 탐색을 어떻게 효율적으로 수행할 수 있는가?
  • RQ5실제 추천 시스템에서 행렬 인수분해의 실용적 최대 스케일은 무엇인가?

주요 결과

  • Factorbird는 비제로 요소 수가 385억 개가 넘는 22900만 × 19500만 크기의 행렬에서 400억 파라미터 모델을 성공적으로 훈련시켰으며, 이는 현재까지 문헌에 보고된 바 중 가장 큰 행렬 인수분해이다.
  • 훈련 중 memcached에 대해 평균 초당 420만 명령어를 처리했으며, 약 4억 개의 파라미터를 매초 업데이트하였다.
  • 50台의 학습기 머신(각각 코어 16개, 메모리 16GB)을 사용해 전체 훈련 세트를 한 번 통과하는 데 약 2.5시간이 소요되었다.
  • 모델은 유럽 정치인, 인기 가수, 미국 스포츠 스타 등 의미 있는 의미적 구조를 포착하여 효과적인 표현 학습을 보여주었다.
  • 공동 분할 전략은 업데이트 충돌과 네트워크 트래픽을 상당히 줄였으며, 고처리량과 확장성을 가능하게 하였다.
  • 단일 훈련 실행 내에서 대규모 하이퍼파rameter 탐색의 실현 가능성을 입증하여 튜닝 오버헤드를 감소시켰다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.