Skip to main content
QUICK REVIEW

[논문 리뷰] Large scale distributed neural network training through online distillation

Rohan Anil, Gabriel Pereyra|arXiv (Cornell University)|2018. 04. 09.
Machine Learning and Data Classification인용 수 206
한 줄 요약

코디스티레이션은 만료된 예측을 사용하는 증류 항으로 다수의 모델 복제본을 병렬로 학습시켜 SGD 한계를 넘어 더 빠른 학습을 가능하게 하고 테스트 시간 비용 없이 재현성을 개선합니다. Common Crawl 언어 모델링, ImageNet, 그리고 Criteo에서 검증되었습니다.

ABSTRACT

Techniques such as ensembling and distillation promise model quality improvements when paired with almost any base model. However, due to increased test-time cost (for ensembles) and increased complexity of the training pipeline (for distillation), these techniques are challenging to use in industrial settings. In this paper we explore a variant of distillation which is relatively straightforward to use as it does not require a complicated multi-stage setup or many new hyperparameters. Our first claim is that online distillation enables us to use extra parallelism to fit very large datasets about twice as fast. Crucially, we can still speed up training even after we have already reached the point at which additional parallelism provides no benefit for synchronous or asynchronous stochastic gradient descent. Two neural networks trained on disjoint subsets of the data can share knowledge by encouraging each model to agree with the predictions the other model would have made. These predictions can come from a stale version of the other model so they can be safely computed using weights that only rarely get transmitted. Our second claim is that online distillation is a cost-effective way to make the exact predictions of a model dramatically more reproducible. We support our claims using experiments on the Criteo Display Ad Challenge dataset, ImageNet, and the largest to-date dataset used for neural language modeling, containing $6\ imes 10^{11}$ tokens and based on the Common Crawl repository of web data.

연구 동기 및 목표

  • 분산 SGD의 실질적 한계를 넘어 대형 신경망의 확장 가능한 학습을 촉진한다.
  • 동시에 여러 모델을 훈련하는 온라인 증류 변형인 코디스티레이션을 도입한다.
  • 코디스티레이션이 예측 시 비용을 추가하지 않고 추가 병렬성을 활용해 학습 속도를 높임을 보인다.
  • 앙상블 또는 오프라인 증류와 비교해 재현성을 향상시키고 예측 변동을 감소시킴을 보여준다.
  • 코디스티레이션의 설계 선택 및 구현 고려사항에 대한 실용적인 지침을 제공한다.

제안 방법

  • 중앙화된 기울기 공유 없이 로컬로 분할된 데이터에서 모델의 n 복제본을 병렬로 학습한다.
  • 다른 모델들의 평균 예측에 동의하도록 각 모델의 목적 함수에 증류 손실 항을 추가한다.
  • 초기 버닝 기간 이후에 증류 항을 활성화하여 모델 다양성을 보존한다.
  • 선택적으로 코디스티레이션을 표준 분산 SGD와 결합하고 그룹 간에 체크포인트를 교환한다.
  • 가중치 체크포인트 대신 예측을 교환하는 예측 서버와 같은 대안에 대해 논의한다.
  • 코디스티레이션이 오래된 예측을 사용하는 것에 강건하며 추가 통신이 거의 필요 없음을 보인다.

실험 결과

연구 질문

  • RQ1온라인 코디스티레이션이 분산 SGD만으로 달성 가능한 속도를 넘어 학습을 가속화할 수 있는가?
  • RQ2코디스티레이션이 SGD, 라벨 스무딩, 앙상블과 같은 기준과 비교해 최종 모델 정확도를 보존하거나 향상시키는가?
  • RQ3오래된 예측의 사용이 학습 안정성 및 최종 성능에 어떤 영향을 미치는가?
  • RQ4모델의 재훈련과 버전 간 예측 변동을 코디스티레이션이 줄일 수 있는가?
  • RQ5데이터 분할, 체크포인트 교환 빈도 등 실용적 설계 선택이 코디스티레이션의 이점을 최대화하는가?

주요 결과

  • 128 GPUs를 사용한 양방향 코디스티레이션은 기준선과 동일한 검증 오차에 도달하는 학습 스텝을 대략 절반으로 줄이고 더 낮은 최종 오차에 도달할 수 있다.
  • Common Crawl 언어 모델링에서 두 방향 코디스티레이션은 두 방향 앙상블의 학습 곡선에 접근하며 대략 절반의 스텝에서 비슷하거나 더 나은 정확도를 달성한다.
  • ImageNet에서 두 방향 코디스티레이션은 기준선이 7250 스텝인 반면 5250 스텝에서 75% 정확도에 도달하여 학습 스텝 감소를 확인한다.
  • 코디스티레이션은 오래된 예측에 잘 견디며, 체크포인트 재로딩 간격을 어느 정도까지 늘려도 심한 저하를 유발하지 않는다.
  • 코디스티레이션으로 예측 변동이 35% 감소하여 서빙 비용을 늘리지 않고도 앙상블과 유사한 재현성을 달성한다.
  • 코디스티레이션 모델 간에 서로 다른 데이터 부분집합을 사용하는 것이 동일한 데이터를 사용하는 것보다 더 큰 이익을 낳으며, 다양한 데이터 부분에 대한 효과적인 정보 공유를 시사한다.

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

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

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

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