当开源遇上AI,将产生怎样的火花?
随着企业智能化升级步伐的加快,已经开始将人工智能和机器学习(AI/ML)工作负载投入持续开发和生产部署场景,这就需要考虑到如何具备与常规软件代码相当的可管理性、速度和责任性等相关问题。而在这些工作负载的部署中,Kubernetes 成为了主流选择,所以Kubeflow 和 KServe 项目被广泛关注。随着模型注册表、ModelCars 功能以及 TrustyAI 集成等最新创新的推出,依赖 AI/ML 的用户正迎来显著改进,这些改进使得开源 AI/ML 能够在生产中得以广泛应用,并且未来还将有更多进步。
更好的模型管理
AI/ML 使用机器学习模型分析数据并生成输出,这些模型由代码、数据和调整信息构成。2023年,Kubeflow 社区认识到跨大型 Kubernetes 集群分发优化后的模型的需求日益迫切。红帽 OpenShift AI 的工程师们积极响应,开始开发新的 Kubeflow 组件——模型注册表。
模型注册表为开发人员提供了一个集中化的目录,用于索引和管理模型及其版本,以及相关工件元数据。它填补了模型实验和生产活动之间的空白,为所有用户提供了一个统一的界面,便于在 ML 模型上进行高效协作。这一工具对于希望在大型 Kubernetes 集群上运行多个模型实例的研究人员来说至关重要。目前,该项目正处于 Alpha 阶段,并已包含在 Kubeflow 1.9 版本中。
更快的模型服务
Kubeflow 利用 KServe 项目在 Kubernetes 集群的服务器上运行模型。用户非常关注模型的延迟和开销,特别是在受监管行业中,许多组织都有针对响应时间的服务级别目标(SLO)。
为了优化性能,Red Hat 和 KServe 的工程师们开发了 ModelCars,这是一个保存 KServe 模型数据的被动“sidecar”容器。这样,模型只需在集群节点上存储一次,无论有多少副本正在访问它。利用 Kubernetes 在容器镜像处理方面的成熟技术,ModelCars 实现了更快的服务模型启动时间,并显著减少了集群节点的磁盘空间需求。目前,ModelCar 已在 KServe v0.12 及更高版本中可用。
更安全的模型使用
AI/ML 系统复杂且难以捉摸,但确保它们不会因意外偏见或逻辑错误而产生误导性结果至关重要。TrustyAI 是一个新的开源项目,旨在将“负责任的人工智能”引入 AI/ML 开发生命周期的所有阶段。
TrustyAI 通过将核心技术/算法(主要关注人工智能的可解释性、指标和护栏)集成到生命周期的不同阶段,实现了这一目标。例如,在模型实验阶段,可以使用 Python TrustyAI 库在 Jupyter Notebook 中识别偏差。通过将此工具合并为管道步骤,还可以在生产模型中进行连续偏差检测。目前,TrustyAI 已进入开发第二年,并得到了 KServe 的支持。
未来的人工智能/机器学习创新
借助这些功能和工具以及其他进步,AI/ML 模型的开发和部署变得更加一致、可靠、高效和可验证。这使得组织能够采用和定制自己的开源 AI/ML 堆栈,这在以前可能是困难或冒险的。
Kubeflow 和 KServe 社区正致力于下一代改进,包括 LLM 服务目录、推荐配置和模式探索等。同时,KServe 项目也在开发支持超大型模型的功能,如多主机/多节点支持、推测解码以及 LoRA 适配器支持等。此外,KServe 社区还在推动 GenAI 任务 API 的开放推理协议扩展,并与 Kubernetes Serving 工作组密切合作,推动各项工作的集成和发展。这些功能和其他功能都包含在 KServe 的路线图中,预示着未来 AI/ML 的更多创新和进步。