이 블로그는 애드센스 수익으로 운영되고 있습니다.
광고차단앱을 해제해주시면 블로그 운영에 큰 도움이 됩니다.
Please disable Adblock?
본문 바로가기
후기 모음/책 & 논문 후기

SEED RL: SCALABLE AND EFFICIENT DEEP-RL WITH ACCELERATED CENTRAL INFERENCE의 리뷰

by 킨쨩 2020. 8. 2.
반응형

SEED RL: SCALABLE AND EFFICIENT DEEP-RL WITH ACCELERATED CENTRAL INFERENCE

논문 저자: Espeholt, Lasse, Raphaël Marinier, Piotr Stanczyk, Ke Wang, and Marcin Michalski. 
논문 링크: arxiv.org/abs/1910.06591

 

SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference

We present a modern scalable reinforcement learning agent called SEED (Scalable, Efficient Deep-RL). By effectively utilizing modern accelerators, we show that it is not only possible to train on millions of frames per second but also to lower the cost of

arxiv.org

Github: github.com/google-research/seed_rl

Published as a conference paper at ICLR 2020


논문 설명, 한국어(韓国語) 버전. (일본어 버전은 이 쪽으로, 日本語版はこちらへ)

이 논문은 확장 가능한 강화 학습 에이전트 구조인 SEED(Scalable, Efficient Deep-RL)를 제안한다.

도입

 최근 강화 학습이 다양한 테스크에서 인상적인 결과를 보여주고 있다. 거대한 스케일을 통한 계산이 상당수의 복잡한 게임의 해결에 도움이 되고 있다. 또한, 많은 심층 강화 학습의 경우, GPU에 의한 가속이 바탕이 되고 있다.
사람에게는 사소한 일을 해결하기 위해 필요한 데이터의 양이 너무나 많기 때문에 시간을 절약하기 위해 분산 기계 학습이 필수 불가결하게 되었다. 강화 학습(RL)은 작동 환경, 모델 추론, 모델 학습, replay buffer 등등과 같은 여러 다른 테스크로 이루어져 있다. 하지만, 지금의 분산 알고리즘은 컴퓨터의 자원을 적절히 사용하지 않고 있다. 이에 SEED라는 구조를 제안한다. 관련 연구로는 IMPALA가 있다.

구조

 먼저 IMPALA에 사용된 일반적인 actor-learner구조에 대해서 알아보자.
모델 파라미터를 러너로부터 액터가 반복적으로 받는다. 액터의 로컬 모델이 샘플 액션을 만들고 풀 경로 관찰, 행동, 정책 등을 수행한다. 마침내, 이 반복되는 경로는 공유된 큐나 replay buffer에 전송된다. 비동기적으로 러너는 큐/리플레이 버퍼로부터 경로의 batch들을 읽고, 모델을 최적화한다.

단점

  • CPU들을 뉴럴 네트워크 추론에 이용한다. 비효율적인 컴퓨팅 자원의 사용을 유발한다.
  • 비효율적으로 자원을 사용한다. 액터는 번갈아 생기는 환경 스텝, 추론 스텝을 가지고 있다. 이는 계산 조건이 두 스텝이 서로 비슷하지 않을 경우에 액터를 느리게 만든다. 또한 환경처리는 싱글 스레딩, 뉴럴 네트워크는 병렬화와 같이 서로 다른 종류인 경우가 많다.
  • 대역폭 요구. 모델 파라미터, 반복되는 상태와 관찰은 액터와 러너 사이에 전송된다. 메모리 기반 모델은 큰 상태들을 보내기에 대역폭 요구사항이 증가한다. 다만, 경로 관찰의 경우 종종 모델 파라미터에 비해 수% 정도의 양에 지나지 않는다. 

(좌) IMPALA의 구조 (우) SEED의 구조

 SEED의 구조는 위에서 언급된 문제들을 해결한다. 추론과 경로 저장의 경우 러너로 옮겼으며, 개념상 싱글 머신 세팅과 원격 환경을 가능케 한다. 또한 액터가 환경에 관한 작은 루프 하나만 가지게 한다. 한 스텝당 관찰이 러너로 보내지고, 추론이 행해진 후 행동이 다시 액터에게 보내진다. 이것은 레이턴시라는 새로운 문제를 야기했다.

 레이턴시를 줄이기 위해서 gRPC라는 라이브러리를 이용한 간단한 프레임웍을 만들었다. 액터와 러너의 연결을 유지하면서 메타데이터를 한 번만 보냈다. 또한 프레임 웍은 효과적으로 여러 액터 추론을 부를 수 있는 batch 모듈을 포함한다. 또한 액터가 러너와 같은 기기 내에 있을 때에는, gRPC는 유닉스 도메인 소켓을 이용해서 레이턴시와 syscall을 줄인다. 결과적으로 end-to-end레이턴시(네트워크와 추론을 포함하는)가 우리가 고려한 모델들보다 더 빠르게 되었다.

 또한 seed는 한 종류의 모델 복사본만 존재하지만 분산된 IMPALA의 경우 각 액터가 복사본을 각각 가지고 있다. 경로가 off-policy일 경우 변화를 만들어낸다. IMPALA의 경우 같은 정책이 전체 과정 동안 유지되지만, SEED의 경우 각 단계에서 여러 번 바뀔 수 있으며, 뒤의 스텝일수록 더 최신의 정책을 가지고 있게 된다.

(좌) IMPALA의 경우 (우) SEED의 경우

 즉, 위의 세 가지 문제점을 다음과 같이 해결했다.

  • 추론을 러너로 옮겨서 액터의 신경망 계산을 제거했다.
  • 러너 위에서 추론을 일괄로 묶고, 여러 환경을 액터 위에서 가진다. 러너에 있는 가속기와 액터에 있는 cpu를 풀로 활용.
  • 모델과 관련된 모든 것이 러너에 수반되며, 관찰과 행동만이 액터와 러너 사이에서 오간다. 이것은 대역폭 요구를 99% 정도 줄여준다.
  • Streaming gRPC를 이용해서 최소한의 레이턴시와  overhead를 가지며, batch를 서버 모듈로 합친다.

V-trace를 알고리즘으로 적용했다. DQN의 발전형인 R2D2를 사용했다.

실험

DEEPMIND LAB AND V-TRACE
GOOGLE RESEARCH FOOTBALL AND V-TRACE
ARCADE LEARNING ENVIRONMENT AND Q-LEARNING
 전체적으로 동급의 성능을 내는데 필요한 하드웨어 감소. 동급의 하드웨어를 준비할 경우에는 성능이 큰 폭으로 증가.

COST COMPARISONS
 강화 학습에서 다루는 환경의 복잡성의 증가와 신경망의 사이즈의 증가로 인해서 더 큰 환경을 다룰 필요성과 함께 비용 절감이 중요해졌다.
주요 목적 중 하나가 학습 속도를 유지하면서 비용을 절감하는 것. 시간당 이용 비용이 비싼 그래픽 카드 대신 TPU를 이용하고, cpu사용량을 절감한다. 위의 3가지 테스트 환경 모두에서 절감이 가능했다.

결과의 일부, 왼쪽은 시간당, 오른쪽은 프레임당 정확성의 평가

결론

 빠르고 환경 프레임당 코스트가 덜 드는 새로운 강화 학습 에이전트 구조를 도입하고 분석했다. 에이전트는 구글 클라우드 상에서 쉽게 동작하도록 오픈소스화 되었으며, 패키지화되었다. 이 새로운 에이전트 구조의 잠재력의 데모처럼, 우리는 실제 시나리오에서 초당 수백만 프레임을 스케일을 다루는 데에 성공했다. 하지만, 이는 증가하는 숫자의 환경과 시험된 환경에서의 샘플 효율을 해치는 더 큰 batch 사이즈를 요구한다. 더 큰 배치 사이즈에서의 샘플 효율을 유지하기 위한 연구들이 행해져 왔다. 우리는 이것들이 앞으로도 공개되고 강화 학습을 스케일 업하기 위한 더욱더 중요한 연구분야가 되기를 바란다.


이 논문이 중요한 이유

기술적 요점

  • 강화 학습에 있어서의 컴퓨터 자원의 효율적인 사용을 위한 구조를 제시했다.
  • 제시된 구조가 간단한 편으로 어렵지 않게 적용할 수 있다.
  • 경우에 따라 초당 100만 프레임 이상의 학습도 가능하며, 이는 더 큰 규모의 학습이 가능하여 좀 더 실용적인 문제들을 해결할 수 있을 것이다.

 점점 더 크고 복잡한 문제를 다루게 되면서 점차 큰 부담이 되는 하드웨어의 가격과 성능을 효율적으로 잡아주는 연구로서, 향후의 효율적인 컴퓨터 자원 활용에 있어서 지극히 중요한 연구라고 생각한다.

통과한 이유

  • 하드웨어적인 효율이 굉장히 증가하게 된다.
  • 실제로 짜인 코드가 오픈소스화 되어 있으며, 패키지화되어 있기에 누구나 어렵지 않게 활용할 수 있다.

 어제 올렸던 논문들과 같이, 이번 논문도 과제의 일환으로 정리해보았다. 올리고 싶은 다른 포스팅도 정말 많지만 일단 급한 불부터 꺼야겠다는 생각으로 작성해보았다. 다음 학기에는 절대 이런 리포트 작성을 숙제로 주는 수업은 빼고 들어야겠다.

밑에 공감 버튼 한 번씩 클릭 부탁드립니다! 
내용에 관한 질문이나 의견이 있다면 댓글로 남겨주세요.
Copyright 2020 KIN All rights reserved. 
KIN

반응형

댓글