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

可扩展性

探索可扩展性在人工智能中的重要性。了解Ultralytics 和Ultralytics 如何实现高效、高性能的模型部署。

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

人工智能中可扩展性的重要性

为可扩展性进行设计是机器学习运维(MLOps)成功的关键要素。在受控研究环境中运行完美的模型,一旦暴露在生产环境的高速度数据流中就可能失效。有效管理大数据需要能够横向扩展(向集群添加更多机器)或纵向扩展(为现有机器增加更多算力,如内存或GPU)的系统。

可扩展人工智能系统的关键优势包括:

  • 可靠性:可扩展系统确保在意外流量激增期间保持稳定的服务运行时间, 防止关键应用程序崩溃。
  • 成本效益:动态扩展功能可在低使用率期间缩减资源规模,该特性通常由AWSGoogle 云计算平台管理。
  • 面向未来:可扩展的基础设施能够适应更新、更复杂的算法(如视觉变换器(ViT)),而无需彻底改造硬件生态系统。

实现可扩展性的策略

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

  • 分布式训练:当训练数据集超出单个处理器处理能力时, 分布式训练将工作负载 分摊至多个 图形处理单元(GPU)PyTorch 框架 使开发者能够并行化计算,大幅缩短基础模型训练时间。Ultralytics 通过自动管理云端训练资源 简化了这一流程。
  • 高效模型架构:选择正确的模型架构对吞吐量至关重要。 Ultralytics 经过精心设计,比其前代产品更小巧、更快速, 使其能够原生扩展至各种硬件平台,从边缘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 云服务商动态调配额外服务器节点来实现。

可扩展性与相关概念

尽管常被混为一谈,可扩展性与性能和效率是截然不同的概念。

  • 可扩展性与性能: 性能通常指系统在特定时刻的运行速度 或准确度(例如每秒帧数)。可扩展性则描述系统 在工作负载增加时维持该性能的能力。
  • 可扩展性与效率:效率衡量完成特定任务所消耗的资源(例如每次推理的能耗)。系统可能高效但不可扩展(若无法处理并行任务),或可扩展但低效(若为应对增长消耗过多资源)。
  • 可扩展性与灵活性:灵活性使系统能够处理不同类型的任务,例如 YOLO11 同时处理检测、分割和姿势估计 。可扩展性则专注于处理更多相同类型的任务。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入