关于fluid-layout:KServe-Fluid-加速大模型推理
背景KServe 是 Kubernetes 上的规范模型推理平台,专为高度可扩大的场景而构建,反对古代 Serverless 推理工作负载,用于在任意框架上提供机器学习(ML)模型服务。它提供高性能、高度形象的接口,以反对常见的 ML 框架(如Tensorflow、XGBoost、Scikit-Learn、PyTorch 和 ONNX)来解决生产模型服务场景。此外,KServe 封装了主动缩放、网络、健康检查和服务配置的复杂性,反对GPU 主动缩放、归零缩放和金丝雀公布等。为生产级别机器学习服务提供了一个简略、可插拔且残缺的反对,包含预测、预处理、后处理和可解释性的能力。 人工智能生成内容(AIGC)和大型语言模型(LLM)在近一年内方兴未艾,进一步晋升了了公众对 AI 的期望值。为了可能产生新的业务价值,越来越多的公司开始应用 KServe 来部署它们,次要起因是: 分布式解决:大型语言模型(LLMs)的参数量宏大,须要极高的计算资源,而KServe平台提供了分布式解决能力,能够将计算工作散布到多个节点上进行并行计算,从而减速计算过程。Serverless:KServe 平台是无服务器算法的典型代表,能够在需要变动时主动进行扩缩容。这种个性使得部署大型语言模型变得更加灵便和高效,并可能显著晋升模型的响应速度。统一化部署:KServe 平台为用户提供了一种更加简便和对立的形式来部署和治理大型语言模型。这样一来,用户无需自行设置和配置算法环境,即可开始进行模型的训练和预测工作。监控和治理:KServe 平台具备齐备的监控和治理性能,用户能够清晰地理解到模型的运行状况和性能体现,并可能及时调整参数和解决问题,从而保障模型的高效和牢靠。然而在生产实践中,KServe 对于大型语言模型(LLMs)的反对仍然有不小的挑战。次要问题在于: 模型启动工夫长:大型语言模型(LLMs)的参数规模相当微小,体积通常很大甚至达到几百 GB,导致拉取到 GPU 显存的耗时微小,启动工夫十分慢。此外,KServe 通过存储初始化器(Storage Initializer)从近程存储中拉取模型到本地,这也须要很长时间,对依据流量进行 KServe 无服务器主动扩缩容性能产生不利影响。容器镜像拉取工夫长:大型语言模型(LLMs)的运行时环境依赖 GPU 根底环境,相应的容器镜像通常很大,这会导致拉取工夫长,拖慢利用启动速度。模型更新效率低、复杂度高:大型语言模型(LLMs)由多个文件组成,模型更新时只需局部更新或增加局部文件,但 KServe 须要重启容器和从新拉取模型,无奈反对模型的热降级,这带来效率低和复杂度高的问题。KServe 在 Kubecon 2023 就提到了 Fluid 有可能帮忙解决其在弹性上遇到的问题。Fluid 是一个开源的 Kubernetes 原生的分布式数据集编排和减速引擎,次要服务于云原生场景下的数据密集型利用,例如大数据利用、AI 利用等。参见数据减速 Fluid 概述[1]。 阿里云容器服务团队和 KServe,Fluid 社区的小伙伴一起摸索在阿里云 Serverless Kubernetes 平台上简略,不便,高性能,生产级别的反对大型语言模型(LLMs): 服务托管,产品反对:阿里云服务网格(简称 ASM)对于 KServe 提供了原生反对,要晓得 KServe 依赖于底层Istio的稳定性对于 KServe 来说十分重要,应用托管的服务网格后,高可用、免运维、内建平安最佳实际;用户能够更专一于大语言模型相干的工作。除此之外 KServe 和 Fluid 也能够一键装置。协同社区优化应用模式:在 KServe 最新版反对除了存储初始化器(Storage Initializer)外,也反对规范的 PVC 模式,通过防止从近程存储中拉取模型到本地,缩小存储有余的危险和晋升启动速度;也能够反对模型热降级。通过弹性分布式缓存减速模型加载流程:Fluid 与 KServe 相结合,通过数据预热到分布式缓存,缩短 Pod 启动工夫 80% 同时反对模型热降级,无容器重启。以上能力齐全通过运行阿里云无服务器 Kubernetes 容器服务(ASK)上,在业务没有运行按需弹性、按秒计费,同时基于申请量的 GPU 无服务器主动扩大,缩放至零。 ...