返回 Ultralytics 词汇表
Scalability
探索 AI 中可扩展性的重要性。了解 Ultralytics YOLO26 和 Ultralytics Platform 如何实现高效、高性能的模型部署。
可扩展性是指系统、网络或进程通过增加资源来处理不断增长的工作量的能力。在人工智能 (AI) 和机器学习 (ML) 的语境中,可扩展性描述了模型或基础设施在需求增加时保持性能水平的能力。这种需求通常表现为训练过程中的更大规模数据集、推理期间的更高用户流量或计算任务复杂性的增加。可扩展的架构允许无缝扩展——无论是将计算机视觉模型部署到单个嵌入式设备,还是通过云集群提供数百万次 API 请求服务——从而确保即使在高负载下,推理延迟也能保持较低水平。
AI 中可扩展性的重要性#
为可扩展性进行设计是成功的机器学习运维 (MLOps) 的一个关键组成部分。一个在受控研究环境中完美运行的模型,在面对生产环境中出现的高速数据流时可能会失效。有效管理大数据需要能够进行水平扩展(向集群添加更多机器)或垂直扩展(向现有机器添加更多算力,例如 RAM 或 GPU)的系统。
可扩展 AI 系统的主要优势包括:
- 可靠性: 可扩展系统可在意外的流量激增期间确保稳定的服务正常运行时间,防止关键应用崩溃。
- 成本效益: 动态扩展允许资源在低使用率期间按需缩减,这一功能通常由像 AWS 或 Google Cloud 这样的云计算平台进行管理。
- 面向未来: 可扩展的基础设施能够容纳更新、更复杂的算法,例如视觉转换器 (ViT),而无需对硬件生态系统进行全面改造。
实现可扩展性的策略#
创建可扩展的 AI 解决方案涉及优化模型架构和部署基础设施。
- 分布式训练: 当训练数据集对于单个处理器而言过于庞大时,分布式训练会将工作负载拆分到多个图形处理器 (GPU) 上。诸如 PyTorch Distributed 之类的框架允许开发者并行化计算,从而显著缩短训练基础模型所需的时间。像 Ultralytics Platform 这样的工具通过自动管理云训练资源简化了这一过程。
- 高效的模型架构: 选择正确的模型架构对吞吐量至关重要。最新的 Ultralytics YOLO26 经过精心设计,比其前代产品更小、更快,这使其能够在从边缘 AI 设备到庞大服务器农场的各种硬件上实现原生扩展。
- 容器化与编排: 使用 Docker 打包应用程序可确保它们在不同的环境中一致地运行。对于管理大型容器集群,Kubernetes 可以自动完成容器化应用程序的部署、扩展和管理。
- 模型优化: 模型量化和剪枝等技术减少了模型的内存占用和计算成本。像 NVIDIA TensorRT 这样的工具可以进一步加速推理速度,从而在现有硬件上实现更高的吞吐量。
代码示例:可扩展的批量推理#
提高推理可扩展性的一种有效方法是批量处理输入,而不是顺序处理。这能最大化 GPU 利用率并提高整体吞吐量。
from ultralytics import YOLO
# Load a scalable YOLO26 model (smaller 'n' version for speed)
model = YOLO("yolo26n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Print the number of detections for the first image
print(f"Detected {len(results[0].boxes)} objects in the first image.")实际应用#
可扩展性使 AI 技术能够从理论研究转向全球工业工具。
- 智能制造: 在制造领域的 AI 领域,自动化检测系统必须在高速装配线上每小时分析数千个组件。可扩展的目标检测系统可确保随着生产速度的提高,质量控制过程能够保持高准确率,而不会成为瓶颈。
- 零售推荐引擎: 大型电商平台利用推荐系统来即时提供数百万个个性化的产品建议。可扩展的基础设施使这些平台能够通过使用微软 Azure 或类似提供商动态配置额外的服务器节点,来应对诸如黑色星期五这样流量暴增 100 倍的重大活动。
可扩展性与相关概念的比较#
虽然经常交替使用,但可扩展性与性能和效率是有区别的。






