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

可扩展性

探索AI中可扩展性的重要性。了解Ultralytics YOLO26和Ultralytics平台如何实现高效、高性能的模型部署。

可扩展性是指系统、网络或流程通过增加资源来处理不断增长的工作量的能力。在人工智能 (AI)机器学习 (ML)领域,可扩展性描述了模型或基础设施在需求增加时保持性能水平的能力。这种需求通常表现为训练期间更大的数据集、推理期间更高的用户流量,或计算任务中增加的复杂性。可扩展的架构允许无缝扩展——无论是将计算机视觉模型部署到单个嵌入式设备,还是通过云集群服务数百万个 API 请求——确保即使在高负载下,推理延迟也能保持较低水平。

AI中可扩展性的重要性

为可扩展性而设计是成功机器学习运维 (MLOps)的关键组成部分。一个在受控研究环境中完美运行的模型,在面对生产环境中高速数据流时可能会失效。有效管理大数据需要能够横向扩展(向集群添加更多机器)或纵向扩展(向现有机器添加更多算力,例如RAM或GPU)的系统。

可扩展人工智能系统的主要优势包括:

  • 可靠性: 可扩展系统可在意外流量高峰期间确保持续的服务正常运行时间,从而防止关键应用崩溃。
  • 成本效益: 动态扩展允许在低使用率时期缩减资源,这一功能通常由云计算平台(如AWSGoogle Cloud)管理。
  • 面向未来: 可扩展的基础设施能够适应更新、更复杂的算法,例如视觉Transformer (ViT),而无需对硬件生态系统进行彻底改造。

实现可扩展性的策略

创建可扩展的人工智能解决方案需要优化模型架构和部署基础设施。

  • 分布式训练:当训练数据集对于单个处理器来说过大时,分布式训练将工作负载分配到多个图形处理单元(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.")

实际应用

可扩展性使人工智能技术能够从理论研究转向全球工业工具。

  • 智能制造:人工智能在制造业中的应用领域,自动化检测系统必须在高速装配线上每小时分析数千个组件。一个可扩展的目标检测系统确保随着生产速度的提高,质量控制过程保持高准确性而不会成为瓶颈。
  • 零售推荐引擎: 主要电商平台利用推荐系统即时提供数百万个性化产品建议。可扩展的基础设施使这些平台能够处理黑色星期五等大规模活动,在这些活动中流量可能激增100倍,通过Microsoft Azure或类似提供商动态配置额外的服务器节点。

可扩展性与相关概念

尽管经常互换使用,但可扩展性与性能和效率是不同的概念。

  • 可扩展性与性能: 性能通常指系统在特定时刻的速度或准确性(例如,每秒帧数)。可扩展性描述了系统在工作负载增加时保持该性能的能力。
  • 可扩展性与效率: 效率衡量完成特定任务所使用的资源(例如,每次推理的能耗)。一个系统可以高效但不具备可扩展性(如果它无法处理并行任务),或者具备可扩展性但效率低下(如果它使用过多资源来应对增长)。
  • 可扩展性与灵活性: 灵活性允许系统处理不同类型的任务,例如YOLO11处理detect、segment和姿势估计。可扩展性则专门侧重于处理更多相同任务。

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

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