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

可扩展性

了解人工智能和 ML 的可扩展性如何确保Ultralytics YOLO 等实际应用的一致性能、适应性和效率。

人工智能(AI)和 在人工智能AI)和机器学习(ML)中,可扩展性是指系统处理不断增长的工作负载的能力。 系统处理不断增长的工作负载的能力,如增加的数据量、用户流量或计算复 复杂性,而不影响性能的能力。可扩展架构可确保随着需求的增加,系统能够 利用更多资源或优化现有资源,以保持低推理延迟和高吞吐量。 推理延迟和高吞吐量。是否 在单个边缘设备上部署计算机视觉模型 还是通过云服务数百万个请求,规模化设计都是任何人工智能应用取得长期成功的基础。 任何人工智能应用取得长期成功的基础。

为什么人工智能的可扩展性很重要

可扩展性是强大的 机器学习运营 (MLOps) 的基石。如果没有可扩展性,在原型开发阶段表现优异的模型在接触到生产环境中典型的高速数据流时可能会失败。 生产环境中典型的高速数据流。有效管理 大数据要求系统能够横向扩展(增加更多机器 (增加更多机器)或纵向扩展(为现有机器增加更多动力)的系统。

主要优势包括:

  • 可靠性:确保在流量激增时保持服务正常运行。
  • 成本效益:允许在使用率低的时期缩减资源,通常由 云计算服务管理。
  • 面向未来:适应更新、更复杂的算法,如 变压器,而无需对基础设施进行全面 基础设施的全面改造。

实现可扩展性的策略

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

  • 分布式训练:当数据集过大,单个处理器无法处理时、 分布式训练可将工作量 在多个 GPU 或 TPU 上进行。像 PyTorch Distributed 等框架允许开发人员 并行计算,从而大大缩短训练时间。
  • 高效的模型架构:选择正确的模型至关重要。 Ultralytics YOLO11设计得轻巧而快速、 使其在各种硬件(从边缘 AI 设备到企业服务器)上都具有高度可扩展性。 从边缘人工智能设备到企业服务器。
  • 容器化和协调:使用 Docker可确保应用程序在不同环境下一致运行。 对于管理大型容器群集,Kubernetes可自动部署和 扩展,动态处理资源分配。
  • 模型优化:模型量化和 模型量化剪枝等技术可减少模型的内存占用和计算要求。 模型的内存占用和计算要求。工具,如 NVIDIA TensorRT等工具可以进一步 加速推理,从而在现有硬件上实现更高的吞吐量。

代码示例:批量推理

在推理过程中,提高可扩展性的一个简单方法是分批而不是按顺序处理输入。 这样可以最大限度地利用GPU ,提高吞吐量。

from ultralytics import YOLO

# Load a scalable YOLO11 model
model = YOLO("yolo11n.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)

# Results contain predictions for both images
print(f"Processed {len(results)} images.")

实际应用

可扩展性使人工智能能够从研究实验室过渡到全球产业。

  • 智能制造:人工智能在制造业中的应用 在装配线上,系统必须每小时检测数千个组件。一个可扩展的 物体检测系统可确保随着生产速度的 质量控制流程保持高精度,而不会成为瓶颈。 精度,而不会成为瓶颈。
  • 电子商务建议:大型零售平台使用 推荐系统即时提供数以百万计的 个性化建议。利用可扩展的基础设施,这些平台可以处理像 "黑色星期五 "这样的活动。 星期五这样流量可能激增 100 倍的事件。 亚马逊网络服务 (AWS)

可扩展性与相关概念

可扩展性与性能和效率虽有关联,但却截然不同。

  • 可扩展性与性能: 性能通常是指系统在特定时刻(如每秒帧数)的快 或精确度(如每秒帧数)。可扩展性描述的是系统在负载增加时 在负载增加时保持该性能的能力。
  • 可扩展性与效率:效率衡量完成一项任务所使用的资源(如能源 能耗)。一个系统可以是高效但不可扩展的(如果它无法处理更多并行任务),也可以是可扩展但低效的(如果它使用过多资源来处理增长任务)。 如果系统使用过多的资源来处理增长)。
  • 可扩展性与灵活性:灵活性允许系统处理不同类型的任务(如 任务(例如 YOLO11处理检测和分割)。 可扩展性侧重于处理更多相同或类似的任务。

加入Ultralytics 社区

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

立即加入