NVIDIA FLARE 與聯合學習 Federated Learning

NVIDIA FLARE 與聯合學習 Federated Learning聯合學習(federated learning)是讓人工智慧演算法可以從不同來源的大量資料中獲得經驗的一種合作方式。

我們都知道,為了要增加人工智慧演算法的精確度,餵養大量的資料,訓練演算法或是驗證結果是相當重要的過程。但有時候各組織考量到隱私權,無法自由地共享資料,變成每個人手上的資料都太小,無法訓練出有效的通用模型。我們要怎麼做才能兼顧個人資料的隱私,又能相互合作訓練出所需要的人工智慧模型呢?

Google 在 2016 年推出了「聯合學習」這項全新的觀念1,聯合學習能夠讓敏感的患者資料,在不離開終端設備的前提下,進行機器學習。用分散各地、去中心化的數據,來訓練中心化的模型。演算法只會將醫院裝置上整合過後得到的資料,回傳到資料中心的伺服器上,保護個人資料隱私。


聯合學習的中央伺服器架構。

聯合學習的中央伺服器架構


聯合學習在醫療上的應用


以醫療產業為例,醫療的資訊多半具有高度隱密性,不同的醫院與診所之間,都各自擁有一定資料量的中小型資料庫。但醫療是人工智慧產業中發展最快的產業之一,無論是判讀醫療影像、解析病歷、提供專家建議等都需要藉由既有患者的資料,對人工智慧模型進行訓練。

目前即便是相當大型的醫療開源資料庫,大約也只收錄到六位數的資料。更不用提許多罕見疾病,很多單一的醫師或團隊終其一生,可能也不過收集到區區幾百甚至幾千個案例。要用在機器學習領域,是遠遠不夠的。此時聯合學習就是一種相當有用的模式。

聯合學習因為並不仰賴特定機構的資料集,即便有任何一間參與的機構突然退出,也不會讓整個訓練的過程崩潰。同樣的,這個訓練的機制也隨時歡迎新的醫院加入新的資料集。對於提供中型資料庫的醫學中心來說,參與計畫,能夠有效擴充資料庫規模,提升模型的準確度;對於地區醫院或小型診所來說,參與聯合學習計畫,能夠得到經過淬煉後的人工智慧模型,一舉數得。


NVIDIA FLARE 運作原理

NVIDIA FLARE 運作原理


NVIDIA FLARE:聯合學習應用程式執行階段環境


人工智慧的龍頭 NVIDIA 也開發了能夠協助聯合學習的 NVIDIA FLARE v2.0 。這是一種聯合學習開放原始碼的 SDK,資料科學家透過 NVIDIA FLARE v2.0 只需要分享模型權重,而非私密資料本身,因此能參與訓練,開發出通用的人工智慧模型。

NVIDIA FLARE 指的是「聯合學習應用程式執行階段環境(Federated Learning Application Runtime Environment)」。這是 NVIDIA Clara Train 聯合學習軟體上的基礎引擎,已經應用在醫學影像、腫瘤研究、基因分析工作及 COVID-19 研究的各種 AI 應用上。

NVIDIA FLARE 可以使用既有的MONAI框架,也可以讓研究者自訂控制器(Controller)的工作流程,自行調度參與聯合學習的所有終端用戶 (Worker) 上的資料,執行不同任務,在從各個用戶端收集結果,進行聚合,並更新全域模型,以持續進行訓練。在每一次調度時,皆可透過自選的篩選器,處理任務資料或結果。


使用 NVIDIA FLARE 進行聯合學習的開發實例


  • 總部設於英國的藥物研發聯盟 MELLODDY,就是全球最大利用聯合學習進行人工智慧開發的聯盟,能讓合作夥伴共同提供藥物資料集進行訓練,又不會暴露資料過於隱私的細節。
  • 倫敦國王學院目前也希望應用聯合學習,將中風與神經功能缺損分類、判斷癌症的根本原因、給予患者最佳治療方案的專家集建議。
  • 美國放射學會與會員們運用聯合學習,在 ACR AI-LAB 中用於研究判讀乳癌與 COVID-19 的放射影像。

你可以在 NVIDIA/NVFlare 上找到更多範例。

參考文獻 1:Google 為了解釋聯合學習的圖像版說明:

https://federated.withgoogle.com/


Infinities
Infinities

數位無限軟體(InfinitiesSoft)專注於為企業解決虛擬化、容器化、微服務、邊緣運算、混合雲管理、異質IT環境與人工智慧帶來的挑戰,整合異質雲管與熱門的開源AI深度學習架構和開發工具環境,提供一站購足的AI機器學習雲平台方案AI-Stack。

相關文章
相關關鍵字