2024 年 3 月,在 KubeCon EU 期间,云原生计算基金会(CNCF)发布了首份关于云原生人工智能(CNAI)的详细白皮书 [1] 。这份报告详尽地探讨了将云原生技术与人工智能融合的当前状态、面临的挑战、以及未来的发展方向。本文将对这份白皮书的核心内容进行深入解读。
什么是云原生 AI?
云原生 AI 指的是利用云原生技术原则来构建和部署人工智能应用和工作负载的方法。这包括利用微服务、容器化、声明式 API 和持续集成 / 持续部署(CI/CD)等云原生技术来增强 AI 应用的可扩展性、可复用性和可操作性。
下图展示了云原生 AI 的架构,图片根据该白皮书重新绘制。
云原生 AI 与云原生技术之间的关系
云原生技术提供了一个灵活、可扩展的平台,使得开发和运行 AI 应用变得更加高效。通过容器化和微服务架构,开发人员可以快速迭代和部署 AI 模型,同时保证系统的高可用性和可扩展性。Kubernetes 和其他云原生工具提供了必要的支持,例如资源调度、自动扩缩容和服务发现等。
白皮书中给出了两个例子说明云原生 AI 与云原生技术的关系,即在云原生基础架构上运行 AI:
• Hugging Face Collaborates with Microsoft to launch Hugging Face Model Catalog on Azure[2]
• OpenAI Scaling Kubernetes to 7,500 nodes[3]
云原生 AI 的挑战
尽管云原生技术为 AI 应用提供了坚实的基础,但在将 AI 工作负载与云原生平台整合时,仍然存在一些挑战。这些挑战包括数据准备的复杂性、模型训练的资源需求、以及在多租户环境中保持模型的安全性和隔离性。此外,云原生环境中的资源管理和调度对于大规模 AI 应用尤其关键,需要进一步优化以支持高效的模型训练和推理。
云原生 AI 的发展路径
白皮书中提出了几条云原生 AI 的发展路径,包括改进资源调度算法以更好地支持 AI 负载、开发新的服务网格技术以提高 AI 应用的性能和安全性,以及通过开源项目和社区合作来推动云原生 AI 技术的创新和标准化。
云原生 AI 技术景观图
云原生 AI 涉及到多种技术,从容器和微服务到服务网格和无服务器计算。Kubernetes 是部署和管理 AI 应用的关键平台,而 Istio、Envoy 等服务网格技术则提供了强大的流量管理和安全功能。此外,Prometheus 和 Grafana 等监控工具对于维护 AI 应用的性能和可靠性至关重要。
下面是白皮书中给出的云原生 AI 景观图。
General Orchestration
• Kubernetes
• Volcano
• Armada
• Kuberay
• Nvidia NeMo
• Yunikorn
• Kueue
• Flame
Distributed Training
• Kubeflow Training Operator
• Pytorch DDP
• TensorFlow Distributed
• Open MPI
• DeepSpeed
• Megatron
• Horovod
• Apla
• …
ML Serving
• Kserve
• Seldon
• VLLM
• TGT
• Skypilot
• …
CI/CD - Delivery
• Kubeflow Pipelines
• Mlflow
• TFX
• BentoML
• MLRun
• …
Data Science
• Jupyter
• Kubeflow Notebooks
• PyTorch
• TensorFlow
• Apache Zeppelin
• …
Workload Observability
• Prometheus
• Influxdb
• Grafana
• Weights and Biases (wandb)
• OpenTelemetry
• …
AutoML
• Hyperopt
• Optuna
• Kubeflow Katib
• NNI
• …
Governance & Policy
• Kyverno
• Kyverno-JSON
• OPA/Gatekeeper
• StackRox Minder
• …
Data Architecture
• ClickHouse
• Apache Pinot
• Apache Druid
• Cassandra
• ScyllaDB
• Hadoop HDFS
• Apache HBase
• Presto
• Trino
• Apache Spark
• Apache Flink
• Kafka
• Pulsar
• Fluid
• Memcached
• Redis
• Alluxio
• Apache Superset
• …
Vector Databases
• Milvus
• Chroma
• Weaviate
• Quadrant
• Pinecone
• Extensions
• Redis
• Postgres SQL
• ElasticSearch
• …
Model/LLM Observability
• Trulens
• Langfuse
• Deepchecks
• OpenLLMetry
• …
总结
最后,笔者梳理了以下关键观点:
• 开源社区的推动作用:白皮书明确指出开源社区对云原生 AI 进步的推动作用,其中包括通过开源项目和广泛的合作来加速创新和降低成本。
• 云原生技术的重要性:云原生 AI 是按照云原生原则构建和部署的,突出了可重复性和可扩展性的重要性。云原生技术为 AI 应用提供了高效的开发和运行环境,特别是在资源调度和服务可伸缩性方面。
• 存在的挑战:尽管云原生 AI 带来了诸多优势,但在数据准备、模型训练资源需求以及模型安全性和隔离性方面,仍面临不少挑战。
• 未来发展方向:白皮书提出的发展路径包括优化资源调度算法以支持 AI 负载,开发新的服务网格技术以提升性能和安全性,以及利用开源项目和社区合作进一步促进技术创新和标准化。
• 关键技术组件:云原生 AI 涉及的关键技术包括容器、微服务、服务网格和无服务器计算等,其中 Kubernetes 扮演着 AI 应用部署和管理的中心角色,Istio 和 Envoy 等服务网格技术提供了必要的流量管理和安全保障。
有关详情,请下载 云原生 AI 白皮书 [4] 。
引用链接
[1]
白皮书: https://www.cncf.io/reports/cloud-native-artificial-intelligence-whitepaper/[2]
Hugging Face Collaborates with Microsoft to launch Hugging Face Model Catalog on Azure: https://huggingface.co/blog/hugging-face-endpoints-on-azure[3]
OpenAI Scaling Kubernetes to 7,500 nodes: https://openai.com/research/scaling-kubernetes-to-7500-nodes[4]
云原生 AI 白皮书: https://www.cncf.io/reports/cloud-native-artificial-intelligence-whitepaper/