Meta發布稱為Bean Machine的機率程式開發系統,該系統能夠用來表達和了解,日常所使用機器學習模型中的不確定性。Bean Machine供使用者開發特定領域的機率模型,並使用自動、不確定性學習演算法,來學習模型所未觀察到的屬性。

Bean Machine是一種通用的機率程式開發語言,能夠讓使用者使用宣告式語法,對以Python編寫的統計模型進行推理,官方提到,Bean Machine能夠實現快速準確的貝氏分析,讓開發和部署生成式機率模型變得直覺且高效率。

Bean Machine的生成式建模,不僅提供有用的預測,就像是傳統機器學習技術所提供的結果一樣,更特別的是,Bean Machine還能用機率分布的形式,估計問題的不確定,而估計不確定性有助於確保預測的可靠性和強健性。

與其他機器學習方法相比,使用Bean Machine主要有三大好處,不確定性估計、表現性和可解釋性。不確定性估計讓分析師能夠更全面掌握預測系統的行為,因為預測是透過機率分布形式,來可靠地測量不確定性,分析師不僅可以了解系統的預測,也可以了解其他預測的相對可能性。

而且Bean Machine能夠更好地表達結果的意義,直接在原始程式碼中編碼模型,這將讓用戶能夠將模型的結構,以及問題的結果相對應。最後,因為模型與領域相對應,所以可以查詢模型中的中間學習屬性,這代表用戶不僅可以使用模型「黑盒子」,還可以對特定預測的結果做出解釋,對於模型開發過程有很大的幫助。

由於Bean Machine建構在PyTorch之上,具有宣告式建模語法,所以能高效率又直覺地建構機率模型時,其透過實作最先進的推理演算法,允許用戶對不同的問題和子問題,選擇和自定義推理方法,進而在自動化和靈活性間取得平衡。

Bean Machine所提供的宣告式語法,對隨機變數提供頂級的支援,因此用戶能夠非常直覺地在程式中推論模型,就像在紙上計算一樣,模型簡單地由一組以特定方式相互作用的隨機變數所定義,在Bean Machine中,隨機變數被實現成經裝飾的Python函式,其提供了指向該隨機變數的唯一指標,使用函式就可以輕鬆地確定隨機參數的定義。

雖然Bean Machine對張量模型提供良好地推理效能,但是許多機率模型因為結構問題,對大型張量操作來說難以編寫,為了解決這個問題,Meta正在開發Bean Machine Graph(BMG),結合特別的編譯器和Runtime,使得未張量化的模型也能執行推理。BMG推理使用自定義編譯器來解釋Bean Machine模型,並將其轉換成沒有Python相依項目的專門實作,這些都會是自動化運作,但目前支援功能集有限,官方正快速解決該問題,來支援常見的模組問題。

熱門新聞

Advertisement