Skip to main content
QUICK REVIEW

[논문 리뷰] Reverb: A Framework For Experience Replay

Albin Cassirer, Gabriel Barth-Maron|arXiv (Cornell University)|2021. 02. 09.
Reinforcement Learning in Robotics참고 문헌 18인용 수 6
한 줄 요약

리버브는 강화학습에서 경험 재생을 위한 확장성 있고 효율적이며 확장 가능한 시스템으로, 수천 명의 동시 액터와 학습자가 처리 가능한 설계되어 있습니다. 다양한 재생 전략(예: 우선순위 기반, FIFO, LIFO)을 지원하며, 최대 초당 60,000건의 삽입 또는 초당 600,000개의 샘플링을 달성하는 선형 스케일링을 유지합니다. 이는 주로 네트워크 대역폭과 삽입 워크로드에서의 mutex 경쟁에 의해 제한됩니다.

ABSTRACT

A central component of training in Reinforcement Learning (RL) is Experience: the data used for training. The mechanisms used to generate and consume this data have an important effect on the performance of RL algorithms. In this paper, we introduce Reverb: an efficient, extensible, and easy to use system designed specifically for experience replay in RL. Reverb is designed to work efficiently in distributed configurations with up to thousands of concurrent clients. The flexible API provides users with the tools to easily and accurately configure the replay buffer. It includes strategies for selecting and removing elements from the buffer, as well as options for controlling the ratio between sampled and inserted elements. This paper presents the core design of Reverb, gives examples of how it can be applied, and provides empirical results of Reverb's performance characteristics.

연구 동기 및 목표

  • 분산 강화학습 시스템에서 대규모 경험 데이터를 효율적으로 저장하고 전송하는 데 발생하는 점점 커지는 과제를 해결하기 위해.
  • 하나의 통합된 시스템 내에서 우선순위 기반 경험 재생, FIFO, LIFO와 같은 다양한 재생 전략을 원활하게 지원하기 위해.
  • 분산 RL 훈련 환경에서 수천 명의 동시 클라이언트 간에 고성능, 저지연 삽입 및 샘플링을 지원하기 위해.
  • 오프-폴리시 및 온-폴리시 알고리즘의 훈련 동역학을 조정하는 데 핵심적인 샘플링 대 삽입 요소 비율을 세밀하게 제어하기 위해.
  • 알고리즘 로직에서 데이터 저장 및 전송을 분리함으로써 연구자가 인프라 구성 요소를 변경하지 않고도 실험을 확장할 수 있도록 하기 위해.

제안 방법

  • 클라이언트가 원시 텐서 데이터를 쓰고 읽을 수 있도록 gRPC 기반의 API를 노출하여 저수준 스토리지 관련 고려사항을 추상화합니다.
  • 데이터를 'Chunks'로 조직하여 경험 전이의 배치화되고 압축된 시퀀스로 만들며, 이는 스토리지 및 전송 효율성을 향상시킵니다.
  • 데이터를 행이 데이터 요소이고 열이 필드(텐서)인 2차원 테이블로 표현함으로써 구조화된 액세스와 효율적인 압축을 가능하게 합니다.
  • 다양한 재생 전략(예: 균일 샘플링, 우선순위 기반 샘플링, FIFO, LIFO)을 구성 가능한 정책을 통해 지원하는 유연한 테이블 추상화를 구현합니다.
  • 스테이징 및 동시 액세스 패턴을 사용하여 여러 머신과 클라이언트 간에 확장되며, 높은 부하에서도 성능 저하가 최소화됩니다.
  • 샘플링 경로에서 mutex 경쟁을 줄임으로써 저지연 샘플링을 최적화하였으며, 이는 스키마 분할 구성에서 QPS 성능을 최대 200% 향상시킵니다.

실험 결과

연구 질문

  • RQ1분산 RL 훈련에서 수천 명의 동시 액터와 학습자가 참여하는 환경에서 경험 재생 시스템을 어떻게 아키텍처화하여 효율적으로 확장할 수 있는가?
  • RQ2아키텍처 변경 없이도 하나의 시스템이 우선순위 기반 경험 재생(PER), FIFO, LIFO와 같은 다양한 재생 전략을 얼마나 잘 지원할 수 있는가?
  • RQ3고성능 경험 재생 시스템에서의 성능 저하 요인은 무엇이며, 이를 어떻게 완화할 수 있는가?
  • RQ4클라이언트 수가 증가함에 따라 시스템이 어떻게 선형 스케일링을 유지하는가? 그리고 이를 제한하는 요소는 무엇인가?
  • RQ5분산형 동시 환경에서 삽입된 데이터 대비 샘플링된 데이터 비율을 효과적으로 제어할 수 있는가? 이는 훈련 안정성에 어떤 영향을 미치는가?

주요 결과

  • 리버브는 삽입 및 샘플링 모두 최대 11 GB/s의 스루풋을 달성하여 네트워크 대역폭이 주요 성능 저하 요인임을 나타냅니다.
  • 삽입 및 샘플링 워크로드는 동시 클라이언트 수가 200명 이하일 때까지 클라이언트 수에 비례하여 선형적으로 스케일링되며, 과부하 상황에서도 성능 저하가 발생하지 않습니다.
  • 최대 삽입 QPS는 mutex 경쟁에 의해 제한되며, 이는 스키마 분할을 통해 완화되어 약 200%의 스루풋 향상을 이룹니다.
  • 샘플링 스루풋은 최대 초당 600,000건에 이를 수 있으며, 삽입(초당 60,000건)보다 훨씬 높은 성능을 기록합니다. 이는 mutex 경쟁을 줄이는 타겟팅 최적화 덕분입니다.
  • 400B에서 400kB에 이르는 광범위한 데이터 페이로드 크기 범위에서 일관된 성능을 유지하여 뛰어난 내구성과 적응성을 입증합니다.
  • 리버브는 동일한 설정을 사용하여 연구자가 수천 명의 동시 액터와 학습자를 포함한 실험을 실행할 수 있도록 하여, 인프라 변경 없이도 원활한 확장이 가능합니다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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