Google 開源可大規模擴展的深度強化學習新架構 SEED RL

Google 開源可大規模擴展的深度強化學習新架構 SEED RL

Google 開源可大規模擴展的深度強化學習新架構 SEED RL

圖源:Google AI 官博

作者 | Jesus Rodriguez

出品 | CSDN(ID:CSDNnews)

如今,深度強化學習(Deep reinforcement learning,DRL)是深度學習領域發展最快的一個方向。AI領域近年來的一些重大里程碑都源自DRL,例如AlphaGo、Dota2 Five或Alpha Star,DRL似乎是最接近人類智能的學科。然而,雖然我們取得了如此大的進展,但DRL方法在現實世界中的實現仍侷限於大型人工智能實驗室。部分原因是DRL體系結構依賴巨量的訓練,對大多數組織而言,這筆費用超出了可承受的範圍且不切實際。

最近,Google Research發表的一篇論文中提出了SEED RL,這是一種可大規模擴展的DRL模型新架構。

在現實世界中實現DRL模型的難度與它們的架構有著直接的關係。本質上,DRL包含各種任務,例如運行環境、模型推斷、模型訓練或重放緩衝等等。大多數現代DRL架構都無法有效地分配這類任務的計算資源,從而導致實現成本不合理。在AI硬件加速器等組件的幫助下,我們已經克服了其中的一些限制,但仍然很有限。近年來出現的新架構已被市場上許多成功的DRL實現所採用。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

IMPALA帶來的啟示

在當前的DRL架構中,IMPALA為該領域樹立了新標準。IMPALA最初是由DeepMind在2018年的一篇研究論文中提出的,它引入了一種模型,利用專門的數值計算加速器,充分發揮了監督學習早已享有多年的速度和效率。IMPALA的核心是角色模型(Actor model),常常用於最大化併發和並行。

基於IMPALA的DRL代理架構主要包含兩大組件:Actor和Learner。在這個模型中,通常Actor都在CPU上運行,並在環境中採取的步驟與對該模型的推斷之間進行迭代,以預測下一個動作。Actor會不斷更新推理模型的參數,並在收集到足夠數量的觀測後,將觀測和動作的軌跡發送給Learner,以完成對Learner的優化。在這種架構中,Learner使用來自數百臺機器的分佈式推理輸入在GPU上訓練模型。從計算的角度來看,IMPALA架構可使用GPU加速Learner的學習,而Actor可在許多機器上擴展。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

圖源:Google AI 官博

IMPALA在DRL架構中建立了新的標準。但是,該模型具有一些固有的侷限性。

  • 使用CPU進行神經網絡推斷:Actor機器通常基於CPU。當模型的計算需求增加時,推理所花費的時間會超過環境步驟的計算。解決方案是增加Actor的數量,而這會增加成本並影響融合。

  • 資源利用效率低下:Actor在兩個任務之間交替進行:環境步驟和推斷步驟。通常這兩個任務的計算要求並不一樣,因此會導致資源利用率低下或Actor遲緩。

  • 帶寬要求:模型參數、循環狀態和觀測在Actor和Learner之間傳遞。此外,基於內存的模型需要發送很大的狀態數據,因此增加了帶寬需求。

Google 受 IMPALA actor模型的啟發,開發了一種新架構,用以解決之前的架構在DRL模型縮放方面的一些侷限性。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

SEED RL

總體而言,Google 的 SEED RL 架構看起來與IMPALA極為相似,但也引入了一些變化,解決了DeepMind模型的一些主要限制。在SEED RL中,神經網絡推理由Learner在專用硬件(GPU或TPU)上集中完成,通過確保將模型參數和狀態保持在本地來加快推理速度,並避免數據傳輸瓶頸。每個環境步驟和推斷步驟都會發送到Learner,並在推理完成後將動作發送回Actor。這個聰明的解決方案解決了IMPALA等模型的推理侷限性,但可能會帶來延遲的問題。

為了最大程度地減少延遲影響,SEED RL依靠gPRC進行消息傳遞和流傳輸。具體來說,SEED RL利用流式RPC,建立從Actor到Learner的連接,而且元數據僅發送一次。此外,該框架還包括一個批處理模塊,能夠有效地將多個Actor的推理調用放到批處理中。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

圖源:Google AI 官博

深入研究IMPALA架構,我們就會發現其中包含三種基本類型的線程:

  1. 推理

  2. 數據預取

  3. 訓練

推理線程會收到一批觀測、獎勵和episode終止標誌。它們負責加載循環狀態,並將數據發送到推理TPU內核。接收採樣的動作和新的重複狀態,並在存儲最新的重複狀態的同時,將動作發送回Actor。軌跡完全展開後,會被添加到FIFO隊列或重播緩衝區中,然後由數據預取線程進行採樣。最後,將軌跡推入設備緩衝區,以供每個參加培訓的TPU內核使用。訓練線程(Python主線程)採用預取的軌跡,使用訓練的TPU核心計算梯度,並將梯度同步應用於所有TPU核心的模型(推理和訓練)。我們可以通過調整推理和訓練核心的比率,實現最大的吞吐量和利用率。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

圖源:Google AI 官博

在SEED RL架構中,Actor可以擴展到成千上萬個內核,而Learner的數量也可以擴展到成千上萬臺機器,因此可以實現每秒數百萬幀的訓練速度。SEED RL基於TensorFlow 2 API,而且性能也經過了TPU加速。

為了評估SEED RL,Google使用了常見的DRL基準測試環境,例如cade學習環境、DeepMind Lab環境以及最近發佈的Google Research Football環境。所有環境下的結果都很驚人。例如,在DeepMind Lab環境中,SEED RL使用64個Cloud TPU內核實現了每秒240萬幀的數據傳輸,比以前的最新分佈式代理IMPALA提升了80倍。此外,我們也看到了速度和CPU利用率的提高。

Google 开源可大规模扩展的深度强化学习新架构 SEED RL

圖源:Google AI 官博

SEED RL代表了可大規模擴展的DRL模型的進步。Google Research在GitHub上開源了最初的SEED RL體系架構。不難想象,在不久的將來,這將成為許多DRL實現的基礎模型。

原文鏈接:

https://towardsdatascience.com/google-open-sources-a-new-architecture-for-massively-scalable-deep-reinforcement-learning-3af21adfcfb1

本文為CSDN翻譯文章,轉載請註明出處。

Google 开源可大规模扩展的深度强化学习新架构 SEED RLGoogle 开源可大规模扩展的深度强化学习新架构 SEED RL
  • 全球呼吸機告急!醫療科技巨頭美敦力“開源”設計圖和源代碼

  • 京東商城背後的AI技術能力揭秘 - 基於關鍵詞自動生成摘要

  • 互聯網之父確診新冠,一代傳奇:任谷歌副總裁、NASA 訪問科學家

  • 微軟為一人收購一公司?破解索尼程序、寫黑客小說,看他彪悍的程序人生!

  • 在Kubernetes上部署一個簡單的、類PaaS的平臺,原來這麼容易!

  • 2020年,這20個大家都認識的加密交易所過得怎麼樣?

你點的每個“在看”,我都認真當成了AI


分享到:


相關文章: