深圳Yolo 视觉
深圳
立即加入
词汇表

容器化

了解容器化如何简化AI部署。探索如何使用Docker和Kubernetes在任何环境中一致地运行 Ultralytics YOLO26。

容器化是一种软件部署策略,它将应用程序的源代码、库、依赖项和配置文件捆绑成一个轻量级的可执行单元,即容器。这种方法将软件从底层基础设施中抽象出来,确保应用程序在从开发者的本地笔记本电脑到大型云计算集群等各种计算环境中一致运行。在机器学习 (ML)领域,容器化通过封装训练和运行神经网络所需的复杂环境,解决了臭名昭著的“在我的机器上可以运行”的问题。

容器化对AI的重要性

对于数据科学家和ML工程师而言,环境管理是一个重大挑战。不同的项目可能需要冲突版本的python、CUDA驱动程序或PyTorch等库。容器化通过创建隔离的、不可变的环境来消除这些冲突。

  • 可移植性:容器化的计算机视觉应用程序可以在开发、测试和生产环境之间无缝迁移。这确保了在工作站上训练的模型在部署到服务器时表现完全一致。
  • 效率:与传统方法不同,容器共享宿主系统的操作系统 (OS) 内核,使其极其轻量。这种高密度允许更好的资源利用,这对于减少实时应用中的推理延迟至关重要。
  • 可扩展性:现代编排工具能够根据流量需求快速启动或关闭容器实例,确保高需求服务的可扩展性

容器化与虚拟机

区分容器与虚拟机 (VM)至关重要。虚拟机模拟整个硬件堆栈,包括完整的客户操作系统,这会导致显著的资源开销和较慢的启动时间。相比之下,容器化虚拟化操作系统,允许多个应用程序作为隔离进程在单个共享内核上运行。这种精简的占用空间使容器成为硬件资源受限的边缘AI场景(例如物联网设备或无人机)的首选。如需更深入的技术比较,请查阅Red Hat关于容器与虚拟机对比的指南

核心技术

几项关键技术构成了现代容器生态系统的支柱:

  • Docker: 最广泛使用的用于构建、运行和管理容器的平台。Ultralytics提供Docker快速入门指南,帮助用户轻松部署目标检测模型,无需手动设置环境。
  • Kubernetes一个开源系统,用于自动化部署、扩展和管理容器化应用程序。它对于管理企业机器学习运维(MLOps)管道中的大型容器集群至关重要。
  • 容器注册表:NVIDIA NGC Catalog这样的服务存储和分发容器镜像,这些镜像通常针对特定任务(例如GPU加速的 模型训练)进行了预优化。
  • 开放容器倡议 (OCI):一项行业标准,由开放容器倡议推动,确保容器格式和运行时在不同平台之间兼容。

实际应用

容器化在现代AI工作流中无处不在,可实现快速迭代和可靠部署。

  1. 智慧城市监控:市政部门使用网络连接摄像头部署交通管理系统。通过使用容器,工程师可以同时向数千个边缘设备推送软件更新。如果新的object detection模型提高了准确性,容器会通过无线方式更新,确保整个城市基础设施的性能一致。
  2. 可复现研究:在学术和工业研究中,复现结果至关重要。通过发布包含精确训练数据处理脚本和模型架构的Docker镜像,研究人员确保同行评审员可以精确复现实验。这对于验证深度学习 (DL)的进展至关重要。

示例:容器中的推理

在为人工智能应用创建容器时,通常会包含一个用于处理的脚本。 模型服务以下Python 代码片段 演示了使用 ultralytics 该脚本将在容器内部运行,利用环境中预先安装的依赖项。

from ultralytics import YOLO

# Load the YOLO26 model (weights are usually baked into the container image)
# YOLO26 is the latest state-of-the-art model for real-time tasks
model = YOLO("yolo26n.pt")

# Perform inference on an image URL
# In production, this might handle API requests or video streams
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Print the number of detected objects to the logs
print(f"Inference complete. Detected {len(results[0].boxes)} objects.")

通过将此逻辑封装在容器中,开发者可以确保python版本和库版本保持不变,从而防止生产环境中出现意外故障。为了简化模型管理、训练和部署,许多团队使用Ultralytics Platform,该平台原生支持基于容器的工作流。有关部署策略的更多信息,请查阅AWS容器用例指南

让我们一起共建AI的未来!

开启您的机器学习未来之旅