挑戰
Babylon 的眾多產品皆仰賴機器學習和人工智慧技術,而在 2019 年,公司內部沒有足夠的運算能力來執行一項特定的實驗。此外,公司規模也在擴張(三年內從 100 人增長到 1,600 人),並計劃擴展到其他國家。
解決方案
Babylon 已於 2018 年將其面向使用者的應用程式遷移到 Kubernetes 平台,因此基礎架構團隊轉向 Kubeflow,這是一個用於在 Kubernetes 上進行機器學習的工具組。「我們嘗試建立一個 Kubernetes 核心伺服器,部署了 Kubeflow,並協調了整個實驗,結果非常成功,」AI 基礎架構主管 Jérémie Vallée 說道。團隊開始在 Kubernetes 之上建構自助式 AI 訓練平台。
影響
團隊不必再等待數小時甚至數天才能進行運算,現在可以立即取得資源。臨床驗證過去需要 10 小時才能完成;現在則在 20 分鐘內即可完成。雲原生平台的可移植性也使 Babylon 能夠擴展到其他國家。
自 2013 年在英國推出以來,這家新創公司已促成了全球數百萬次的數位諮詢。在英國,病人通常需要等待一到兩週才能預約到醫生。透過 Babylon 的 NHS 服務 GP at Hand(擁有超過 75,000 名註冊病人),39% 的病人可以在 30 分鐘內透過手機預約到門診,89% 的病人可以在 6 小時內預約到門診。
這僅僅是個開始。「我們嘗試結合不同類型的技術與我們內部擁有的醫療專業知識,來建構產品,以幫助病人管理和了解自己的健康狀況,同時也幫助醫生更有效率地工作,」Babylon AI 基礎架構主管 Jérémie Vallée 說道。
這些產品中有很大一部分仰賴機器學習和人工智慧技術,而在 2019 年,研究人員遇到了痛點。「我們在內部有一些伺服器,我們的研究人員在上面進行了大量的 AI 實驗和一些模型的訓練,我們遇到了瓶頸,內部沒有足夠的運算能力來執行一項特定的實驗,」Vallée 說道。
Babylon 已於 2018 年將其面向使用者的應用程式遷移到 Kubernetes 平台,「由於這次遷移,我們累積了大量的 Kubernetes 知識,」他補充說道。為了最佳化一些已建立的模型,團隊轉向 Kubeflow,這是一個用於在 Kubernetes 上進行機器學習的工具組。「我們嘗試建立一個 Kubernetes 核心伺服器,部署了 Kubeflow,並協調了整個實驗,結果非常成功,」他說道。
基於該經驗,Vallée 的團隊受命建構一個自助式平台,以幫助 Babylon 的 AI 團隊提高效率,進而幫助產品更快上市。主要需求包括:(1)讓研究人員和工程師能夠存取他們所需的運算資源,無論他們可能需要執行的實驗規模有多大;(2)以集中化的方式,按需為團隊提供他們完成工作所需的最佳工具;以及(3)訓練平台必須靠近正在管理的資料,因為公司正在擴展到不同的國家。
Kubernetes 在各方面都是一個促成因素。「Kubernetes 是機器學習的絕佳平台,因為它具備您所需的所有排程和擴展能力,」Vallée 說道。將資料保留在 Babylon 營運的每個國家/地區的需求,需要多區域、多雲策略,而有些國家甚至可能根本沒有公有雲供應商。「我們希望使這個平台具有可移植性,以便我們可以在任何地方執行訓練任務,」他說道。「Kubernetes 提供了一個基礎層,讓您可以在雲端供應商之外部署平台,然後部署您需要的任何工具。這對我們來說是一個非常好的賣點。」
一旦團隊決定在 Kubernetes 之上建構 Babylon AI 研究平台,他們便參考了雲原生技術全景圖來建構堆疊:Prometheus 和 Grafana 用於監控;Istio 服務網格用於控制訓練平台上的網路,並控制所有工作流程將擁有的存取權限;Helm 用於部署堆疊;以及 Flux 用於管理管線的 GitOps 部分。
雲原生 AI 平台對 Babylon 產生了巨大的影響。在平台上運行的第一個研究專案主要涉及機器學習和自然語言處理。這些實驗需要大量的運算資源 — 1600 個 CPU、3.2 TB RAM — 這遠遠超過 Babylon 內部擁有的資源。此外,存取運算資源過去需要數小時,甚至有時需要數天,具體取決於平台團隊的忙碌程度。「現在,有了 Kubernetes 和我們提供的自助式平台,幾乎是即時的,」Vallée 說道。
在平台上完成的另一項重要工作類型是針對新應用程式(例如 Babylon 的症狀檢查工具 Symptom Checker)的臨床驗證,該工具可以根據使用者輸入的證據來計算疾病的機率。「身處醫療保健領域,我們希望我們所有的模型在投入生產之前都是安全的,」Vallée 說道。使用 Argo 進行 GitOps「使我們能夠大規模擴展流程。」
研究人員過去必須等待長達 10 小時才能獲得其模型新版本的結果。有了 Kubernetes,這個時間現在縮短到 20 分鐘以內。此外,以前他們一次只能運行一個臨床驗證,現在他們可以在需要時並行運行多個臨床驗證 — 考慮到過去三年 Babylon 的員工從 100 人增長到 1,600 人,這是一個巨大的優勢。
技術長 Caroline Hargrove 表示:「交付一個自助式平台,讓使用者能夠自主執行他們的工作負載,這使得我們的資料科學家社群能夠在沒有雲端技能且無需平台工程師協助的情況下,進行超參數調整和通用演算法開發,從而加速了我們的創新。」
平台營運總監 Jean Marie Ferdegue 補充說:「為我們的資料科學家提供基於 Kubernetes 的平台,意味著更高的安全性、透過授權實現更高的創新,以及更實惠的醫療保健服務,因為我們的雲端工程師正在建構一種每天被數百人使用的體驗,而不是支援特定的客製化用例。」
此外,隨著 Babylon 繼續擴張,「將會非常容易地將新國家/地區納入進來,」Vallée 說道。「15 個月前,當我們部署這個平台時,我們在英國有一個大型環境,但現在我們在加拿大有一個,在亞洲有一個,並且在美國即將有一個。這是 Kubernetes 和其他雲原生專案為我們實現的目標之一。」
Babylon 的雲原生技術藍圖包括將公司所有的 AI 工作都納入平台。越來越多地,這包括護理的 AI 服務。「我認為這將會是一個有趣的領域,AI 和醫療保健將在此交匯,」Vallée 說道。「這是一個相當複雜的問題,並且存在許多問題。因此,透過我們的平台,我們想說,『我們可以做些什麼來減輕我們的開發人員和機器學習工程師的痛苦?』」