1.**云原生组件
容器化技术是云原生的**,它经过将运行及其依赖项打包到一个轻量级、独立的容器中,确保了运行在不同环境中的分歧运转。
作为两种干流的容器引擎,Docker和containerd宽泛运行于AI模型的开发和部署。Docker提供了简便的容器化工具链,而containerd则作为一个高效、专一的容器运转时,为Kubernetes等平台提供底层支持。容器化AI模型可以在本地开发环境与云端无缝切换,缩小环境差异带来的疑问。
AI运行通常由多个容器化服务组成,这些服务须要协和谐治理,以确保它们能够有效地协同上班。容器编排工具在这一环节中表演着至关关键的角色,其中干流的编排工具有KUbernetes和Kubeflow。
作为最盛行的容器编排平台,Kubernetes提供了智能化部署、扩展和治理容器化运行的性能。关于AI上班负载,Kubernetes可以调度和治理计算资源,确保AI模型训练和推理义务的高效口头。
Kubeflow是一个基于Kubernetes的开源机器学习平台,专为简化AI模型的开发、训练和部署而设计。它集成了TensorFlow、PyTorch等干流深度学习框架,并提供了流水线治理、超参数调优等性能,协助开发者构建和治理复杂的AI上班流。
2.模型散布式训练
AI模型的训练通常须要处置海量数据和复杂的计算义务,单台机器难以承当这一环节。散布式训练经过在多台机器上并行处置数据和计算义务,大大缩短了模型训练的期间,业界罕用的训练框架关键有PyTorch、Megatron-Deepspeed和MindSpore等。
PyTorch是一个开源的深度学习框架,它驳回灵活计算图(Dynamic Computation Graph),准许用户在模型训练环节中灵活构建计算图,提供了高度的灵敏性和易用性。PyTorch 的**组件包含张量计算、智能微分、神经网络模块以及数据加载工具,这些组件集成在一个框架中,用以支持 GPU 减速和散布式训练。PyTorch的灵活计算图使得模型调试和开发愈加直观,尤其适宜钻研和开发阶段的试验,而且它的API 设计合乎 Python 的编程习气,经常使用起来十分直观,容易上手。
Megatron-Deepspeed经过模型并行、数据并行、流水线并行以及混合精度训练等技术,成功了对超大规模模型的高效散布式训练。它针对超大规模模型训练启动了深化优化,能够有效应用多 GPU 和多节点的计算资源。并且联合 Megatron 和 DeepSpeed 的长处,成功了极高的计算效率和资源应用率,特意适宜训练宏大的言语模型。并且经过 ZeRO (Zero Redundancy Optimizer) 技术,极大缩小了模型参数、优化器形态和梯度的内存占用,使得在有限的配件资源上训练更大的模型成为或许。
MindSpore 是华为开发的全场景 AI 计算框架,设计用于端、边、云的全场景部署。它支持灵活图和静态图形式,驳回了深度优化的计算图和散布式训练技术,能够顺应各种配件环境,包含 Ascend AI 处置器、GPU 和 CPU。并且它针对华为 Ascend 芯片启动了深度优化,在 Ascend 平台上具有清楚的性能长处。还提供了模型切片和差分隐衷等性能,增强了模型的安保性和数据隐衷包全。
3.AI 推理服务
在模型训练成功后,如何高效地将模型运行于实践推理义务,是AI系统落地的关键。云原生架构为推理服务的部署、扩展和治理提供了高效的处置打算。
vLLM是一个高性能的散布式推理引擎,专为LLM设计,能够在推理义务中清楚优化效率和吞吐量,它经过一种新的留意力算法,有效地治理留意力键和值,极大优化了实时场景下言语模型服务的吞吐量和内存经常使用效率。同时,vLLM也支持散布式推理,可以跨多个GPU和节点调配推理义务。它经过一种名为PipelineParallelism的技术,在多个GPU之间合成和流水线化推理义务,进而优化推理吞吐量。
除了散布式推理,vLLM还支持多种配件平台,包含NVIDIA GPU、AMD CPU和GPU、IntelCPU和GPU、PowerPC CPU、TPU和AWS Neuron,并且与提供了与HuggingFace模型的无缝集成,用户无需对模型架构或许现有代码启动修正即可在vLLM上部署基于Transformers的模型。
KServe是一个专为机器学习模型推理而设计的框架,能够在云原生环境中高效治理、部署机器学习模型。它经过自定义资源(CRD)来治理模型推理服务,这些CRD使得用户可以经过申明形式来定义模型的部署和服务性能。
在云原生环境中,协同与调度是确保运行程序高效运转的关键因素。随着运行负载的灵活变动以及多样化的上班负载类型的参与,传统的静态资源调配形式已不可满足现代运行的需求。云原生架构下,出现了一些专门用于协同与调度的组件,如KEDA、Kueue和Volcano,它们为运行程序提供了愈加灵敏和智能的调度才干。
4.协同和调度
KEDA(KubernetesEvent-DrivenAutoscaling)是一个开源的Kubernetes扩展组件,专为事情驱动的智能扩展而设计。它使Kubernetes上班负载能够依据外部事情源的目的(如信息队列长度、数据库查问量、HTTP恳求数量等)智能启动扩展。KEDA的**长处在于:
(1)事情驱动的扩展:KEDA支持多种事情源,包含Kafka、Azure Service Bus、AWS SQS等,这使得运行程序可以基于实时数据智能调整其资源。
(2)精细化的扩展控制:KEDA准许开发者为每个运行定义自定义的扩展规定,从而成功更准确的资源治理。
(3)无缝集成Kubernetes:KEDA作为Kubernetes的控制器运转,可以与现有的Kubernetes生态系统无缝集成,使得用户无需更改现有的部署形式。
经过KEDA,用户可以在事情驱动的场景中高效地治理资源,确保运行的性能和稳固性。
Kueue可以依据义务的优先级、资源需求和调度战略,优化义务调度的顺序,确保资源获取最大化应用。并且还支持义务队列治理,经过将义务调配到不同的队列中,依据战略灵活调整义务的调度顺序,成功对资源的精细控制。
Volcano是一个为高性能计算(HPC)和大数据上班负载优化的Kubernetes调度器。它为须要并行计算和批处置的运行提供了增强的调度性能。Volcano支持多种调度战略,如优先级调度、偏心调度、抢占式调度等,能够依据义务的个性和需求启动优化调度。值得一提的是,经过Volcano的偏心调度战略,不同的上班负载可以取得相对偏心的资源调配,防止资源争用造成的性能疑问。此外,Volcano还提供了义务依赖治理性能,支持DAG(有向无环图)调度,确保义务按依赖相关顺序口头,从而提高义务调度的全体效率。
5.总结与展望
随着互联网技术的开展,未来的云原生AI生态将愈加智能、灵敏和安保,诸多如边缘计算、联邦学习、AIOps、等技术也将在AI生态中占据愈减轻要的位置,云原生架构将在AI时代继续引领技术翻新和产业改革。这些趋向不只会优化AI运行的效率和性能,还将协助企业在世界化和数字化的浪潮中坚持竞争长处。
随着云原生和ML技术的开展,未来的AI将愈加智能和灵敏,也有望在以下几个畛域取得更进一步的打破:
边缘 AI 部署:未来,边缘计算设施将具有更强的计算才干和 AI 模型推理才干。y也会涌现更灵敏的云原生工具和框架,支持在边缘设施上部署和治理 AI 模型。这将使得实时数据处置和本地推理成为或许,特意是在智能制造、智能驾驶和智能市区等场景中。
联邦学习的运行:为了包全数据隐衷并提高模型的泛化才干,联邦学习将在云原生 AI 平台中表演关键角色。联邦学习准许在多个边缘设施上协同训练 AI 模型,而无需将数据集中到云端。云原生平台将为联邦学习提供更好的支持,确保不同设施间的安保通讯和高效模型同步。
AI 运维:随着 AI 运行规模的扩展和复杂度的优化,传统的运维打算已有些顾此失彼。AI 运维(AIOps)将在云原生环境中获取更宽泛的运行,智能化和智能化的运维将成为干流。未来的运维系统不只能够在疑问出现时智能修复,还可以经过预测剖析提早发现并处置疑问,确保系统的高可用性和稳固性;并且能够依据实时负载状况灵活调整计算资源的调配,确保资源应用率最大化,并缩小老本。
参考文献
本文转载自,作者: