日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Facebook开源Horizon:首个用于大规模产品和服务的强化学习平台

發布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Facebook开源Horizon:首个用于大规模产品和服务的强化学习平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • Horizon是首個使用應用強化學習(RL)在大規模生產環境中優化系統的端到端開源平臺。

  • 這個版本中包含的工作流和算法是以開放框架為基礎構建的——PyTorch 1.0、Caffe2和Spark——使得任何大規模使用RL的人都可以使用Horizon。

  • 在過去的一年里,我們內部已經在多個應用程序中開使用了Horizon,包括幫助定制M建議、發送更有意義的通知以及優化流媒體視頻質量。

今天,我們開源了Horizon,一個端到端的應用強化學習平臺,使用RL來優化數十億人使用的產品和服務。我們開發這個平臺是為了彌補RL在研究領域日益增長的影響力和在生產領域歷來狹窄的應用范圍之間的差距。過去一年,我們在Facebook部署了Horizon,提高了該平臺把RL基于決策的方法運用到大規模應用程序的能力。雖然人們都在開發增強學習應用程序,但Horizon是第一個用于生產的開源RL平臺。

雖然我們正在進行各種強化學習項目,這些項目使用反饋來提高性能,但是,Horizon主要關注的是將RL應用于大型系統。這個版本包括模擬環境的工作流以及用于預處理、訓練和導出生產環境模型的分布式平臺。該平臺已經為Facebook帶來了性能優勢,包括發送更相關的通知、優化流媒體視頻比特率以及改進Messenger中的M建議。但是,Horizon的開放設計和工具集也有可能讓該領域的其他人受益,特別是那些有興趣使用應用RL從大量信息中學習策略的公司和研究團隊。Horizon不僅僅證明了我們在RL領域的持續投入,也證明了這個有前途的人工智能研究領域現在可以運用到實際的應用程序中。

大規模決策:Horizon如何把RL運用到生產環境

機器學習(ML)系統通常會生成預測,但隨后需要工程師將這些預測轉換為策略(即行動策略)。另一方面,RL創建的系統能夠做出決策、采取行動,然后根據反饋進行調整。這種方法有可能優化一組決策,而不需要手工制定策略。例如,RL系統可以根據其他ML系統的估計和視頻緩沖區的狀態,直接為特定播放中的視頻選擇高比特率或低比特率。

雖然RL的策略優化能力在研究中顯示出了良好的效果,但人工智能社區很難使用這些模型處理生產環境中有很大差別的實際需求。借助Horizon,我們關注的是如何將兩種完全不同類型的應用連接起來:復雜但終究有限的研究用模擬器環境;基于ML的策略優化系統,依賴于存在固有噪聲的、稀疏的、任意分布的數據。與游戲中基于RL的機器人可以對一組有限且可預見、可重復的規則做出反應不同,現實場景很難模仿,反饋更難以納入已部署代碼,與在可控的實驗環境中相比,任何修改通常都需要更加小心。

就像深度學習徹底改變了神經網絡的應用那樣,像Horizon這樣的項目有可能將定義科學家和工程師如何將RL應用到生產環境中,使用策略優化來產生影響。特別地,Horizon考慮了特定于生產環境的問題,包括特征規范化、分布式訓練、大規模部署和服務、具有數千種不同特征類型和分布的數據集,以及高維離散的連續動作空間。

Horizon的管道包括三個組件:

(1)時間軸生成,運行在數千個CPU上;

(2)訓練,跨多個GPU;

(3)服務,這也跨越了數千臺機器。

這個管道允許Horizon擴展到Facebook的數據集。對于策略學習(例如使用OpenAI Gym), Horizon可以選擇在一個閉環中將數據直接提供給訓練過程。

Horizon還解決了大規模構建和部署RL系統所帶來的獨特挑戰。RL通常以在線方式訓練,系統從隨機選擇動作開始,然后實時更新。考慮到這些系統在Facebook的規模和影響,這種隨機性和實時更新目前還不是一個選項。相反,我們的模型是從在一個產品工程師設計的策略上訓練開始的。這些模型必須離線訓練,使用off-policy方法和反事實策略評估(CPE)來估計RL模型在過去的決策中會做什么。一旦CPE結果被接受,我們將在一個小實驗中部署RL模型,收集結果信息。有趣的是,我們發現,與之前相對穩定的系統不同,RL系統會隨著時間的推移不斷學習和改進。

行業數據集通常包含數十億條記錄,以及數千個具有任意分布和高維離散連續動作空間的狀態特征。通過研究和觀察,我們發現,與傳統的深度網絡相比,應用RL模型對噪聲和非規范化數據更敏感。Horizon使用Apache Spark并行對這些狀態和動作特征進行預處理,我們的Spark管道也包含在開源版本中。在對訓練數據進行預處理之后,我們使用基于PyTorch的算法在圖形處理單元上進行規范化和訓練。

雖然Horizon可以在單個GPU或CPU上運行,但該平臺的設計側重于大型集群,一次在多個GPU上進行分布式訓練,使工程師可以使用數百萬個樣本來解決問題,并更快地迭代他們的模型。我們在PyTorch中使用數據并行和分布式數據并行功能進行分布式訓練。該版本包括深度Q網絡(DQN)、參數化DQN和深度確定性策略梯度(DDPG)模型。在訓練過程中,我們還運行CPE,并將評估結果記錄到TensorBoard上。訓練完成后,Horizon將使用ONNX導出這些模型,以實現大規模地高效服務。

在許多RL領域中,你可以通過嘗試來度量模型的性能。在Facebook,我們希望確保在大規模部署模型之前對它們進行徹底地測試。由于Horizon解決了策略優化任務,訓練工作流還自動運行了幾種最先進的策略評估技術,包括時序雙魯棒性策略評估和MAGIC。生成的策略評估報告從訓練流中導出,可以使用TensorBoard進行觀察。評估可以與異常檢測相結合,在將策略公開部署之前,如果模型再次迭代的性能與前一個迭代相比有很大的差別,就會自動向工程師發出警報。

在工作中學習:Horizon對Messenger、360視頻等的影響

自從我們開始在內部使用Horizon以來,該平臺已經示范了RL如何利用即時反饋來做出提高性能的決策,從而對生產應用程序產生影響。

例如,Horizon使我們可以通過實時優化比特率參數來提高Facebook上360視頻的圖像質量。該平臺既考慮了可用帶寬的數量,也考慮了已緩沖視頻的數量,以確定是否有可能轉換到更高質量的視頻。這個過程利用了RL隨時產生獎勵的能力,使用新的無監督數據——它在給定的視頻正在播放時工作,而不是事后再分析性能和仔細標注的數據。

反事實策略評估為在離線環境中部署RL模型的工程師提供了見解。這個圖比較了幾種CPE方法和日志策略(最初生成訓練數據的系統)。得分1.0意味著RL和日志策略在性能上是匹配的。這些結果表明,RL模型的累積獎勵大約是日志系統的兩倍。

這個高級圖表說明了Horizon的反饋循環。首先,我們對現有系統記錄的一些數據進行預處理。然后,我們訓練一個模型并分析離線環境下的反事實策略結果。最后,我們將模型部署到一組人員中,并度量真正的策略。來自新模型的數據反饋到下一次迭代中,大多數團隊每天都部署一個新模型。

Horizon還過濾了Messenger中智能助手M的建議。M在人們的開放式對話中提供相關內容的建議,豐富人們的交流方式,在Messenger中完成工作。Horizon使用RL——比基于規則的對話學習策略方法更具可擴展性、前瞻性、更能響應用戶的反饋——幫助M逐步學習。例如,如果人們更有規律地與一個建議交互,M可能會更多地提供這個建議。在Horizon的幫助下,M變得更加智能化和高度個性化,因為它每天都能幫助數百萬人進行交流。

該平臺還改進了我們使用人工智能的方式,幫助我們決定向用戶發送哪些Facebook通知,以及多久發送一次。在過去,我們不是發送所有可能的通知(說明有新帖子、評論等),而是使用ML模型來幫助預測哪些可能最有意義或最相關,并過濾掉其他的。但這些模型依賴于監督學習,沒有考慮到發送通知的長期價值。例如,每天多次訪問該平臺的人可能不需要系統為他們本來會看到的帖子發出通知,而不太活躍的人可能會從通知中受益,這可以確保他們不會錯過家人和朋友發表的值得關注的帖子。

為了更好地處理這些長期信號——并使通知按照預期工作,為平臺上的所有人提供價值——我們使用Horizon訓練了一個離散動作DQN模型,用于發送推送通知。當某人參與了他們可能會錯過的帖子時,這個模型會收到獎勵,而發送通知則會受到懲罰。RL模型僅在對用戶的價值(例如,讓他們注意到好友或家人發布的值得關注的帖子)高于懲罰值(在他們的設備上彈出額外的警告)時才允許通知。該模型還定期更新大量的狀態轉換,使其能夠逐步改進,并最終調整通知的數量。自從我們將以前的基于監督學習的系統替換為基于Horizon的版本之后,我們觀察到,通知的相關性得到了改善,而發送通知的總數沒有增加。與通過點擊或單擊通知來定義相關性不同,我們可以更廣泛、更深入地查看信息以確保它們提供了真正的好處。

使任何人都可以在生產環境中部署RL的工具

這些好處突顯了RL能為行業提供的東西,即能夠直接從以前的次優策略下收集樣本,并從中學習最優策略。盡管我們已經確定了非常適合RL的具體場景和應用程序,但這僅僅是激動人心的旅程的開始。鑒于人工智能社區的集體才華和創造力,我們迫不及待地想看到Horizon所激發的創意、功能和產品。

任何使用機器學習來做決定的人都可以試試Horizon。第一步是記錄傾向(采取行動的概率)和備選方案(其他可能的行動)。Horizon使用傾向性和備選方案來了解何時可以采取更好的行動。第二步,定義并記錄獎勵(采取行動所獲得的價值)。在收集到這些數據之后,就可以運行Horizon的訓練循環,導出一個能夠做出新決策并最大化總回報的模型。

Horizon是我們致力于AI開放開發的一部分——它是Facebook的內部平臺,我們現在正在開放源代碼,它使用的工具我們已經提供給社區,包括PyTorch 1.0和Caffe2。雖然Horizon已經針對在生產環境應用進行了優化,但我們使用該平臺的經驗也揭示了與RL集成到其他系統相關的重要研究。我們正利用Horizon平臺探索基于模型的RL和“獎勵塑造(reward shaping)”的新技術,并利用該平臺在Facebook更廣泛地挖掘其他應用,比如數據中心資源分配和視頻推薦。我們還計劃添加更多的模型和工作流,以幫助其他人將RL的長期承諾轉化為即時行動。

有關詳細信息,請閱讀關于Horizon開發和內部用例的完整白皮書:https://arxiv.org/abs/1811.00260

除了對新應用程序產生影響外,Horizon還可以改變工程師和ML模型協同工作的方式。不再通過編寫難以理解和維護的規則來驅動模型,我們設想,在工程師和他們使用的模型之間有一個雙向對話,工程師可以指定他們的高層目標,并與機器學習協同實現這些目標,把它們應用到一個不斷變化的決策環境中。Horizon是這個旅程的第一步,我們邀請您復制我們的GitHub庫并進行試用。

查看英文原文:

https://code.fb.com/ml-applications/horizon/

總結

以上是生活随笔為你收集整理的Facebook开源Horizon:首个用于大规模产品和服务的强化学习平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。