臉書在年度F8大會開源了多項工具,其中Ax以及BoTorch兩項工具,與人工智慧應用程式開發的實驗階段有關,Ax是一個通用平台,可用於自動管理適應性實驗(Adaptive Experimentation),而BoTorch則是建立在開源深度學習框架PyTorch的函式庫,能幫助貝式最佳化(Bayesian Optimization)研究,以API方式提供Ax最佳化演算法,讓開發人員簡單地調整人工智慧參數。

臉書提到,在機器學習領域要調校出最佳參數需要花費很多時間,尤其是在複雜的空間中,因此他們開發了Ax和BoTorch兩種工具來解決這個問題,這兩種工具都已經在臉書大量部署使用,是其內部適應性實驗的一部分,在人類的指導下利用機器學習,依序決定配置測試的順序,以達成一系列的試驗目標。

臉書用適應性實驗解決了許多問題,包括新聞饋給(News Feed)和Instagram的排名模型,也最佳化了影片播放演算法、Facebook Live和媒體上傳的演算法,以提供更高品質的影片串流。在後端還會對基礎設施諸如即時編譯器、記憶體配置與資料檢索系統進行最佳化,以提高執行效率,還被用於自動搜尋臉書FBLearner機器學習的超參數,能以更少的計算資源實現更高的模型精準度。

這兩項工具可以降低用戶進入適應性實驗的門檻,Ax讓開發者以低資源以及原則的方式,探索參數配置,BoTorch則是使用了PyTorch的功能,像是自動微分、大規模平行化運算以及深度學習,推進貝式最佳化的研究。

BoTorch是貝式最佳化研究的現代化函式庫,而貝式最佳化則是用來尋找有限資源的最佳系統參數配置。而之所以臉書會開發BoTorch,是因爲過去他們使用現有貝式最佳化工具,進行超參數最佳化任務,逐漸不符合他們日漸增加的工作量,因此臉書自己發展了新方法,讓BoTorch能夠適應臉書多樣化的使用案例。

BoTorch借助了PyTorch的運算能力,臉書重新設計了模型實作以及最佳化程序,使其具有模組化的優點,以及容易使用的介面。BoTorch能夠支援GPU自動化微分、平行運算,並與PyTorch的深度學習模組緊密結合。臉書提到,BoTorch大大提高了貝式最佳化研究人員的工作效率,而且其模組化的設計,可以讓研究人員更換或是重新排列元件,靈活地客製化演算法的每一個部分。

而Ax讓開發者使用API與BoTorch相連接,提供生產服務以及可重現研究結果需要的功能,這讓開發者得以專注於解決實際應用的問題,像是環境配置以及實驗目標的權衡。臉書提到,Ax被沒有豐富機器學習經驗的工程師與人工智慧研究人員廣泛使用。雖然Ax使用大量的BoTorch功能作為最佳化的演算法,但是其提供NumPy和PyTorch通用介面,讓開發人員可以使用在任何框架中。

Ax還提供了自動最佳化程式,會根據實驗的特徵選擇最佳化演算法,開發者可以簡單地設定預設程式,以滿足特定應用程式的需要,更重要的是,Ax還有互動視覺化工具,讓開發者查看代理模型,了解不同結果之間的權衡問題。而開發者也能用基準測試套件,比較不同演算法在測試問題上的最佳化效能,開發者可以儲存結果並進行反覆比較。


Advertisement

更多 iThome相關內容