臉書開源了專為超大型圖設計,支援多重關係圖嵌入訓練的工具PyTorch-BigGraph,PyTorch-BigGraph為一分散式系統,可用於學習大型圖嵌入,特別適合應付具有數十億個節點以及數兆個邊的超大型圖,而由於PyTorch-BigGraph是以開源深度學習框架PyTorch開發,因此開發者可以自行替換損失函數、模型以及其他元件。

圖是表達許多資料類型的核心工具,圖嵌入是非監督式學習的一種形式,但現在的圖可能非常巨大,具有數十億個節點以及數兆個邊,標準的圖嵌入方法擴展性不佳,無法應用在超大型圖上。臉書提到,超大嵌入圖主要有兩個挑戰,第一個,嵌入系統必須夠快,才能應用在實際研究與生產上,第二個挑戰,記憶體的限制也是個大問題,臉書舉例,嵌入二十億個節點,每個節點有128個浮點數參數,這樣便需要1 TB的容量,而這個量級超過一般商用伺服器記憶體的容量。

而PyTorch-BigGraph能從大規模圖結構的資料產生嵌入,其以邊的列表形式將圖資料集作為輸入,每個邊由來源節點、目標節點以及可選的關鍵類型組成,PyTorch-BigGraph會對節點以及邊進行分片(Shard),以多執行緒進行訓練,並輸出成嵌入列表,這些嵌入可以當作各種任務的輸入,像是大規模地進行最鄰近搜索。PyTorch-BigGrap讓人工智慧開發人員,不需要專用計算資源,就能進行超大型圖的嵌入訓練,

臉書提到,PyTorch-BigGraph經高度最佳化,其高度擴展的特性比起常用的嵌入式軟體,速度還要快數個量級,其產生嵌入的品質在基準測試當中,與最先進的模型相當,臉書釋出PyTorch-BigGraph鼓勵開發人員試驗更大型的資料集,以取得更好的非監督式機器學習結果。


Advertisement

更多 iThome相關內容