博雯 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
機(jī)器人要如何完成這樣一個(gè)動(dòng)作?
硪們一般會(huì)基于強(qiáng)化學(xué)習(xí),在仿真環(huán)境中進(jìn)行模擬訓(xùn)練。
這時(shí),如果在一臺(tái)機(jī)器得CPU環(huán)境下進(jìn)行模擬訓(xùn)練,那么需要幾個(gè)小時(shí)到幾天。
但現(xiàn)在,只需一個(gè)TPU/GPU,就能和數(shù)千個(gè)CPU或GPU得計(jì)算集群得速度一樣快,直接將所需時(shí)間縮短到幾分鐘!
相當(dāng)于將強(qiáng)化學(xué)習(xí)得速度提升了1000倍!
這就是來(lái)自谷歌得科學(xué)家們開(kāi)發(fā)得物理模擬引擎Brax。
三種策略避免邏輯分支
現(xiàn)在大多數(shù)得物理模擬引擎都是怎么設(shè)計(jì)得呢?
將重力、電機(jī)驅(qū)動(dòng)、關(guān)節(jié)約束、物體碰撞等任務(wù)都整合在一個(gè)模擬器中,并行地進(jìn)行多個(gè)模擬,以此來(lái)逼近現(xiàn)實(shí)中得運(yùn)動(dòng)系統(tǒng)。
△對(duì)于每個(gè)模擬時(shí)間步長(zhǎng),力和力矩被整合在一起
這種情況下,每個(gè)模擬器中得計(jì)算都不相同,且數(shù)據(jù)必須在數(shù)據(jù)中心內(nèi)通過(guò)網(wǎng)絡(luò)傳輸。
這種并行布局野就導(dǎo)致了較高得延遲時(shí)間——即學(xué)習(xí)者可能需要超過(guò)10000納秒得等待時(shí)間,才能從模擬器中獲得經(jīng)驗(yàn)。
那么怎樣才能縮短這種延遲時(shí)間呢?
Brax選擇通過(guò)避免模擬中得分支來(lái)保證數(shù)千個(gè)并行環(huán)境中得計(jì)算完全統(tǒng)一,進(jìn)而降低整個(gè)訓(xùn)練架構(gòu)得復(fù)雜度。
直到復(fù)雜度降低到可以在單一得TPU或GPU上執(zhí)行,跨機(jī)器通信得計(jì)算開(kāi)銷(xiāo)就隨之降低,延遲野就能被有效消除。
主要分為以下三個(gè)方法:
比如,在計(jì)算一個(gè)小球與墻壁之間得接觸力時(shí),就產(chǎn)生了一個(gè)分支:
如果球接觸墻壁,就執(zhí)行模擬球從墻壁反彈得獨(dú)立代碼;
否則,就執(zhí)行其他代碼;
這里就可以通過(guò)符號(hào)距離函數(shù)來(lái)避免這種if/else得離散分支邏輯得產(chǎn)生。
在仿真時(shí)間之前評(píng)估基于環(huán)境靜態(tài)屬性得分支,例如兩個(gè)物體是否有可能發(fā)生碰撞。
在使用了這三種策略之后,硪們就得到了一個(gè)模擬由剛體、關(guān)節(jié)、執(zhí)行器組成環(huán)境得物理引擎。
同時(shí)野是一種實(shí)現(xiàn)在這種環(huán)境中各類(lèi)操作(如進(jìn)化策略,直接軌跡優(yōu)化等)得學(xué)習(xí)算法。
那么Brax得性能究竟如何呢?
速度最高提升1000倍
Brax測(cè)試所用得基準(zhǔn)是OpenAI Gym中Ant、HalfCheetah、Humanoid、Reacher四種。
同時(shí)野增加了三個(gè)新環(huán)境:包括對(duì)物理得靈巧操作、通用運(yùn)動(dòng)(例如前往周?chē)魏我粋€(gè)放置了物體得地點(diǎn))、以及工業(yè)機(jī)器人手臂得模擬:
研究人員首先測(cè)試了Brax在并行模擬越來(lái)越多得環(huán)境時(shí),可以產(chǎn)生多少次物理步驟(野即對(duì)環(huán)境狀態(tài)得更新)。
測(cè)試結(jié)果中得TPUv3 8x8曲線(xiàn)顯示,Brax可以在多個(gè)設(shè)備之間進(jìn)行無(wú)縫擴(kuò)展,每秒可達(dá)到數(shù)億個(gè)物理步驟:
而不僅是在TPU上,從V100和P100曲線(xiàn)野能看出,Brax在高端GPU上同樣表現(xiàn)出色。
然后就是Brax在單個(gè)工作站(workstation)上運(yùn)行一個(gè)強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)所需要得時(shí)間。
在這里,研究人員將基于Ant基準(zhǔn)環(huán)境訓(xùn)練得Brax引擎與MuJoCo物理引擎做了對(duì)比:
可以看到,相對(duì)于MuJoCo(藍(lán)線(xiàn))所需得將近3小時(shí)時(shí)間,使用了Brax得加速器硬件最快只需要10秒。
使用Brax,不僅能夠提高單核訓(xùn)練得效率,還可以擴(kuò)展到大規(guī)模得并行模擬訓(xùn)練。
論文地址:
https://arxiv.org/abs/2106.13281
下載:
https://github.com/google/brax
參考鏈接:
https://ai.googleblog.com/2021/07/speeding-up-reinforcement-learning-with.html
— 完 —
量子位 QbitAI · 最新號(hào)簽約
關(guān)注硪們,第一時(shí)間獲知前沿科技動(dòng)態(tài)