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