挑战
Babylon 的许多产品都利用了机器学习和人工智能,在 2019 年,公司内部没有足够的计算能力来运行一项特定的实验。该公司当时也在不断发展(三年内从 100 人增长到 1,600 人),并计划向其他国家扩张。
解决方案
Babylon 在 2018 年将其面向用户的应用程序迁移到了 Kubernetes 平台,因此基础设施团队转向了 Kubeflow,这是一个在 Kubernetes 上进行机器学习的工具包。人工智能基础设施主管 Jérémie Vallée 说:“我们尝试创建一个 Kubernetes 核心服务器,部署了 Kubeflow,并协调了整个实验,结果非常成功。” 团队开始在 Kubernetes 之上构建一个自助式人工智能训练平台。
影响
团队不再需要等待数小时或数天才能进行计算,而是可以即时访问。临床验证过去需要 10 个小时,现在不到 20 分钟就能完成。云原生平台的可移植性也使 Babylon 能够扩展到其他国家。
自 2013 年在英国推出以来,这家初创公司已在全球范围内促成了数百万次数字会诊。在英国,患者通常需要等待一到两周才能预约到医生。通过 Babylon 的 NHS 服务 GP at Hand——该服务拥有超过 75,000 名注册患者——39% 的患者在 30 分钟内通过手机获得预约,89% 的患者在 6 小时内获得预约。
这仅仅是个开始。Babylon 人工智能基础设施主管 Jérémie Vallée 表示:“我们尝试将不同类型的技术与我们内部的医疗专业知识相结合,以打造能够帮助患者管理和了解自身健康状况的产品,并帮助医生更高效地工作。”
这些产品中有大量利用了机器学习和人工智能,而在 2019 年,研究人员遇到了一个痛点。“我们在内部有一些服务器,研究人员在上面进行大量的人工智能实验和模型训练,但我们遇到了一个问题,即内部的计算能力不足以运行一个特定的实验,”Vallée 说。
Babylon 在 2018 年将其面向用户的应用程序迁移到了 Kubernetes 平台,“多亏了这次迁移,我们积累了大量 Kubernetes 知识,”他补充道。为了优化一些已经创建的模型,团队转向了 Kubeflow,这是一个用于在 Kubernetes 上进行机器学习的工具包。“我们尝试创建一个 Kubernetes 核心服务器,部署了 Kubeflow,并协调了整个实验,结果非常成功,”他说。
基于这次经验,Vallée 的团队受命构建一个自助服务平台,以帮助 Babylon 的人工智能团队提高效率,进而帮助产品更快地推向市场。主要需求包括:(1) 能够为研究人员和工程师提供他们所需的计算资源,无论他们需要运行多大规模的实验;(2) 一种方式,可以按需、集中地为团队提供他们工作所需的最佳工具;以及 (3) 训练平台必须靠近被管理的数据,因为公司正在向不同国家扩张。
Kubernetes 在各个方面都起到了推动作用。“Kubernetes 是一个很棒的机器学习平台,因为它具备了你需要的所有调度和可伸缩性功能,”Vallée 说。由于 Babylon 运营的每个国家都要求将数据保留在本地,因此需要一个多区域、多云的策略,而一些国家甚至可能根本没有公共云提供商。“我们希望这个平台是可移植的,这样我们就可以在任何地方运行训练任务,”他说。“Kubernetes 提供了一个基础层,允许你在云提供商之外部署平台,然后再部署你需要的任何工具。这对我们来说是一个非常好的卖点。”
团队决定在 Kubernetes 之上构建 Babylon AI 研究平台后,他们参考了云原生全景图来构建技术栈:使用 Prometheus 和 Grafana 进行监控;使用 Istio 服务网格来控制训练平台上的网络并控制所有工作流的访问权限;使用 Helm 来部署技术栈;以及使用 Flux 来管理管道的 GitOps 部分。
云原生人工智能平台对 Babylon 产生了巨大影响。在该平台上运行的第一个研究项目主要涉及机器学习和自然语言处理。这些实验需要大量的计算资源——1600 个 CPU、3.2 TB 内存——这远远超过了 Babylon 内部所拥有的。此外,过去获取计算资源需要数小时,有时甚至数天,具体取决于平台团队的繁忙程度。“现在,有了 Kubernetes 和我们提供的自助服务平台,这几乎是即时的,”Vallée 说。
在该平台上完成的另一项重要工作是针对新应用的临床验证,例如 Babylon 的症状检查器,它可以根据用户输入的证据计算疾病的概率。“身处医疗保健行业,我们希望我们所有的模型在投入生产之前都是安全的,”Vallée 说。使用 Argo 进行 GitOps “使我们能够大规模地扩展这个过程”。
研究人员过去需要等待长达 10 个小时才能得到他们新版本模型的结果。有了 Kubernetes,现在这个时间缩短到了 20 分钟以内。此外,以前他们一次只能进行一次临床验证,现在如果需要,他们可以并行进行多次验证——考虑到在过去三年里,Babylon 的员工从 100 人增长到 1600 人,这是一个巨大的优势。
“提供一个自助服务平台,让用户能够自主运行自己的工作负载,这使得我们的数据科学家社区能够在没有任何云技能和平台工程师帮助的情况下进行超参数调优和通用算法开发,从而加速了我们的创新,”首席技术官 Caroline Hargrove 说。
平台运营总监 Jean Marie Ferdegue 补充说:“为我们的数据科学家提供一个基于 Kubernetes 的平台,意味着安全性的提高、通过赋权带来的创新增加,以及更实惠的医疗服务,因为我们的云工程师正在构建一个每天被数百人使用的体验,而不是支持特定的定制用例。”
此外,随着 Babylon 的持续扩张,“接纳新国家将变得非常容易,”Vallée 说。“十五个月前我们部署这个平台时,我们在英国有一个大的环境,但现在我们在加拿大有一个,在亚洲有一个,还有一个即将在美国上线。这是 Kubernetes 和其他云原生项目为我们带来的好处之一。”
Babylon 的云原生路线图涉及将公司所有的人工智能工作都迁移到该平台上。这越来越多地包括了人工智能护理服务。“我认为这将是人工智能与医疗保健相遇的一个有趣领域,”Vallée 说。“这是一个相当复杂的问题,并且围绕它有很多问题。因此,通过我们的平台,我们想说,‘我们能做些什么来为我们的开发人员和机器学习工程师减轻痛苦呢?’”