术语表

集装箱化

发现容器化对人工智能/ML 项目的强大作用。利用尖端工具简化工作流程、确保一致性并高效扩展。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

容器化是一种将软件代码及其所有依赖项打包成单一可执行文件(称为 "容器")的技术。这样,软件就能在不同的计算环境中可靠、一致地运行,从开发人员的笔记本电脑到生产服务器或云。与包含完整操作系统的传统虚拟机(VM)不同,容器共享主机系统的操作系统内核,因此轻便高效。这种方法可确保应用程序无论部署在哪里,都能以相同的方式运行,从而简化开发、测试和部署流程。

主要概念和组成部分

了解容器化需要掌握几个基本概念:

  • 图像:只读模板,包含创建容器的说明。它包括运行软件所需的应用程序代码、库、依赖项和配置。映像是根据 Dockerfile(如果使用 Docker)中定义的指令集构建的。
  • 容器:映像的可运行实例。容器之间以及容器与主机系统之间是隔离的,但它们共享主机的操作系统内核。这种隔离可确保安全性和一致性。
  • 注册表:镜像的存储和分发系统。Docker Hub是一个流行的公共注册中心,但企业通常使用私有注册中心来存储专有镜像。
  • 协调: Kubernetes等工具可在机器集群中管理容器的部署、扩展和运行。协调可自动执行负载平衡、健康检查和滚动更新等任务。

集装箱化的优势

容器化具有多种优势,特别是在机器学习(ML)和人工智能(AI)项目中:

  • 一致性:容器可确保应用程序在所有环境中以相同的方式运行,消除 "在我的机器上也能运行 "的问题。这对于对软件版本和依赖性差异非常敏感的 ML 模型来说至关重要。
  • 可移植性:容器可以在任何支持容器运行时的系统上运行,无论是开发人员的笔记本电脑、云服务器还是内部数据中心。这使得在不同环境之间移动应用程序变得非常容易,无需修改。
  • 效率:由于共享主机的操作系统内核,容器具有轻量级和快速启动的特点。这对于经常涉及迭代实验和频繁部署的 ML 工作流程尤其有利。
  • 可扩展性:Kubernetes 等容器编排工具可根据需求自动扩展应用程序。这对于处理实时预测或批量处理等 ML 应用程序中的不同工作负载至关重要。
  • 隔离:容器提供了一定程度的隔离,增强了安全性和稳定性。每个容器都在自己的环境中运行,可防止应用程序之间发生冲突,并确保一个容器中的问题不会影响到其他容器。

容器化与虚拟化

虽然容器化和虚拟化都能创建隔离环境,但它们在方法上有很大不同。虚拟机(VM)模拟包括操作系统在内的整个计算机系统,因此需要大量资源。相比之下,容器共享主机的操作系统内核,因此占用空间更小,启动时间更短。对于熟悉基本机器学习概念的用户来说,理解这种差异至关重要。虚拟机适合运行具有不同操作系统要求的多个应用程序,而容器则非常适合部署微服务和受益于快速扩展和可移植性的应用程序。

人工智能/移动语言的实际应用

容器化已成为开发和部署人工智能和 ML 应用程序的基石。下面是两个具体例子:

  1. 模型部署:机器学习模型,如使用 Ultralytics YOLO构建的机器学习模型,通常作为大型应用程序或服务的一部分进行部署。将这些模型容器化后,数据科学家就可以将模型及其依赖关系打包成一个单独的单元。然后,这个容器就可以轻松部署到生产环境中,确保无论底层基础设施如何,模型都能始终如一地运行。例如,一个经过训练可以执行物体检测的模型可以被容器化并部署到云平台,在那里它可以实时处理图像并提供预测。
  2. 可重复研究:在人工智能研究领域,可重复性至关重要。研究人员经常需要与他人分享他们的代码和实验,以验证研究结果,并在现有工作的基础上更进一步。容器化使研究人员能够创建可重现的环境,封装所有必要的代码、库和数据。通过共享容器镜像,研究人员可以确保他们的实验可以准确复制,从而促进合作并加快创新步伐。例如,为自然语言处理(NLP)开发新算法的研究团队可以将他们的代码、数据集和预训练模型打包到容器中,让其他人可以轻松复制他们的结果并进一步开发算法。

工具和技术

有几种工具和技术有助于容器化:

  • Docker:用于构建、运输和运行容器的最广泛使用的平台。Docker提供创建镜像、管理容器和与注册机构交互的工具。
  • Kubernetes一个开源平台,用于自动化部署、扩展和管理容器化应用程序。Kubernetes 尤其适用于协调生产环境中复杂的多容器应用程序。
  • OpenShift基于 Kubernetes 构建的容器平台,为企业部署提供更多功能,如增强的安全性、监控和开发人员工具。

通过采用容器化,企业可以简化开发工作流程,提高应用程序的可靠性,并加快人工智能和 ML 模型的部署。这项技术在提高软件开发效率和可扩展性方面发挥着至关重要的作用,尤其是在快速发展的人工智能领域。通过我们的快速入门指南了解如何使用Docker 设置和使用Ultralytics

阅读全部