挑战
巴比伦的大量产品利用了机器学习和人工智能,而在2019年,内部计算能力不足以运行某个特定实验。公司规模也在不断扩大(三年内从100人增长到1,600人),并计划向其他国家扩张。
解决方案
巴比伦在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研究平台后,他们参考了云原生全景图(Cloud Native Landscape)来构建技术栈:使用Prometheus和Grafana进行监控;使用Istio服务网格控制训练平台的网络以及所有工作流程的访问权限;使用Helm部署技术栈;使用Flux管理GitOps流水线的部分。
云原生AI平台对巴比伦产生了巨大影响。该平台运行的第一个研究项目主要涉及机器学习和自然语言处理。这些实验需要巨大的计算资源——1600个CPU、3.2 TB内存——这比巴比伦内部拥有的资源多得多。此外,过去获取计算资源需要数小时,有时甚至数天,具体取决于平台团队的繁忙程度。“现在,有了Kubernetes和我们提供的自助式平台,几乎是即时的,”Vallée说。
在该平台进行的另一项重要工作是为新应用(例如巴比伦的Symptom Checker)进行临床验证,该应用根据用户输入的证据计算疾病的可能性。“身处医疗健康行业,我们希望所有模型在投入生产前都是安全的,”Vallée说。使用Argo进行GitOps“使我们能够大规模扩展该流程。”
过去,研究人员需要等待长达10小时才能获得模型新版本的结果。有了Kubernetes,这一时间现在已缩短至20分钟以内。此外,以前他们一次只能运行一个临床验证,现在如果需要,他们可以并行运行多个——考虑到巴比伦在过去三年中从100名员工增长到1,600名,这是一个巨大的优势。
“提供一个用户可以自行运行工作负载的自助式平台,使得我们的数据科学家社区无需任何云技能和平台工程师的帮助,即可进行超参数调优和通用算法开发,从而加速了我们的创新,”首席技术官Caroline Hargrove说。
平台运营总监Jean Marie Ferdegue补充说:“为我们的数据科学家提供一个基于Kubernetes的平台意味着更高的安全性、通过赋能带来的更多创新,以及更经济实惠的医疗服务,因为我们的云工程师正在构建一个每天被数百人使用的体验,而不是支持特定的定制用例。”
此外,随着巴比伦继续扩张,“入驻新的国家将非常容易,”Vallée说。“十五个月前我们部署这个平台时,我们在英国有一个大型环境,但现在我们在加拿大、亚洲各有一个,在美国也即将有一个。这是Kubernetes和其他云原生项目为我们带来的能力之一。”
巴比伦的云原生路线图包括将公司所有的AI工作都迁移到该平台。这日益包括护理相关的AI服务。“我认为这是一个AI和医疗健康相遇的有趣领域,”Vallée说。“这是一个相当复杂的问题,围绕它有很多挑战。所以有了我们的平台,我们想问:‘我们能做些什么来减轻开发者和机器学习工程师的痛苦?’”