模型服务中的路由状态 笔记

模型服务中的路由状态

该博客文章深入探讨了 Netflix 机器学习(ML)模型服务基础设施如何在多个领域以大规模方式支撑个性化体验的技术见解。中央 ML 模型服务平台向多个领域特定的微服务暴露了与领域无关的 API 抽象和流量路由能力,用于模型推理。这一统一的 API 加快了现有 ML 体验新版本的迭代创新速度,并支持通过 ML 实现新产品体验。ML 模型服务基础设施的成功取决于使研究人员能够快速验证新假设,并安全地将模型发布到生产环境。该平台服务于数百种模型类型和版本,每秒处理 100 万次请求,其运作层级为工作流,而不仅仅是单个评分函数。模型定义包含一组用于计算特征的必要事实,并依赖模型服务平台在推理时通过调用其他微服务来提供这些事实。调用服务仅需提供标准请求上下文和相关领域上下文,模型即可在执行流程中自行计算特征并执行推理。该平台作为快速 ML 创新的推动者,同时将 ML 模型迭代对客户端应用的暴露降至最低。平台的关键原则包括:模型创新与客户端应用解耦、客户端与模型分片解耦,以及灵活的流量路由规则。该平台使用一个名为 Switchboard 的自定义服务,作为所有流量的灵活代理层,每秒处理超过 100 万次请求,同时保持高可用性和高可靠性。Switchboard 为所有客户端的模型需求提供单一接入点,并可根据丰富的上下文特征集对请求进行路由。平台还引入了"Objective"的概念,这是由服务平台定义的一种枚举,系统中每个进入的请求都必须提供该 Objective。Objective 将客户端与具体模型解耦,并指导平台的流量路由和模型选择决策。Switchboard Rules 是一种 JavaScript 配置,允许研究人员在不修改客户端代码的情况下,将模型变体、实验和流量拆分绑定到 Objective 上。这些规则规定了给定 Objective 的默认模型、为一系列 Objective 配置的 A/B 实验,以及逐步将流量迁移到新模型的自定义策略。这些规则由 Switchboard 和模型服务集群共同消费,服务平台组件可基于这些规则采取各种操作。总体而言,该平台为 Netflix 提供了一套可扩展且灵活的 ML 模型服务解决方案,在最小化对客户端应用影响的同时,实现了快速创新与实验。
CdXz5zHNQW_XdCPf6klQA.png