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

分布式训练

Learn how distributed training scales AI by splitting workloads across GPUs. Explore data parallelism, use [YOLO26](https://docs.ultralytics.com/models/yolo26/) for faster results, and discover the [Ultralytics Platform](https://platform.ultralytics.com) for seamless model deployment.

分布式训练是机器学习中的一种方法,它将训练模型的负载分配到多个处理器或机器上。这种方法对于处理大规模数据集和复杂神经网络架构至关重要,否则在单台设备上训练将耗费不切实际的时间。通过利用多个图形处理单元(GPU)或张量处理单元(TPU)的组合计算能力,分布式训练显著加速了开发周期,使研究人员和工程师能够更快地迭代并提升其模型的准确性。 Tensor 单元(TPU)的综合计算能力,分布式训练显著加速了开发周期,使研究人员和工程师能够更快地迭代模型并实现更高精度

分布式训练如何运作

分布式训练的核心思想是并行化。它不再将数据顺序处理在单个芯片上,而是将任务分割为更小的数据块,这些数据块可同时处理。实现这一目标主要有两种策略:

实际应用

分布式训练通过使解决先前在计算上不可行的问题成为可能,从而改变了整个行业。

  • 自动驾驶:开发安全的自动驾驶车辆需要分析数千亿字节的视频和传感器数据。汽车工程师利用大型分布式集群训练视觉模型,以实现实时语义分割和车道检测。这种大规模部署确保了汽车系统中的AI能够可靠应对多样化的道路状况。
  • 医学影像:在医疗领域,分析MRI等高分辨率3D扫描数据需要大量内存和处理能力。分布式训练使研究人员能够构建高性能诊断工具,用于肿瘤检测及其他关键任务。通过NVIDIA 框架,医院可在多样化数据集上训练模型而不受内存瓶颈限制,从而提升医疗人工智能的诊疗效果。

利用UltralyticsUltralytics分布式训练

"(《世界人权宣言》) ultralytics 该库使分布式数据并行(DDP)训练的实现变得简单直接。 您可扩展训练前沿模型的规模 YOLO26 通过在训练参数中简单指定设备索引,即可在多块GPU上并行训练模型。

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model using two GPUs (device 0 and 1)
# The library automatically handles the DDP communication backend
results = model.train(data="coco8.yaml", epochs=100, device=[0, 1])

相关概念与比较

区分分布式训练与机器学习生态系统中的类似术语有助于理解它们的具体作用:

  • 分布式训练与联合学习:虽然两者都涉及多台设备,但目标不同。分布式训练通常将数据集中于高性能集群以实现速度最大化。而联合学习将数据分散存储在用户设备(如智能手机)上,优先保障数据隐私,在原始数据从未离开源设备的情况下更新全局模型。
  • 高性能计算(HPC):HPC是一个广阔领域,涵盖用于科学模拟(如天气预报)的超级计算。分布式训练是HPC在深度学习优化算法中的特定应用,通常依赖NVIDIA 专用通信库来最小化GPU间的延迟。

基于云平台的扩展

管理分布式训练的基础设施可能相当复杂。现代平台通过提供托管环境简化了这一过程。例如Ultralytics 允许用户管理数据集并启动训练任务,这些任务可部署到云环境或本地集群。这种集成简化了从数据标注最终模型部署的工作流程,确保扩展至多GPU的操作尽可能无缝衔接。 同理,云服务提供商Google Vertex AI和Amazon SageMaker,也为企业级分布式训练任务提供了强大的基础设施支持。

加入Ultralytics 社区

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

立即加入