Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

CPU

CPU 是计算机的通用处理器。在 AI 中,CPU 负责加载和准备数据、协调加速器,并在没有 GPU 时运行推理。

中央处理器(CPU)是运行计算机操作系统和程序的通用处理器。它通过少量高性能核心执行指令,每个核心都专为快速完成一串指令而设计,并借助大容量缓存、分支预测和乱序执行,让复杂的分支代码保持高速运行。在人工智能(AI)系统中,CPU 会加载和解码数据、执行数据增强、为GPU及其他加速器提供数据,并处理模型周边的步骤,例如推理前调整图像尺寸,以及目标检测后的非极大值抑制。如果没有加速器或使用加速器不划算,CPU 也会直接运行模型,场景涵盖笔记本电脑、云函数和 Raspberry Pi;因此,CPU 的推理延迟是边缘 AI模型设计时的重要目标。

CPU 如何运行神经网络#

神经网络的大部分时间都花在矩阵乘法上,CPU 通过三种方式加快这一过程。从小型开发板上的 4 个核心到服务器芯片上的 100 多个核心,多个核心可以并行处理批次或层的不同部分。在每个核心内部,SIMD(单指令多数据)单元可通过一条指令同时处理多个数字:x86架构的 Intel 和 AMD 芯片支持 AVX2 和 AVX-512,Arm芯片(例如手机、Apple silicon Mac 和 Raspberry Pi 开发板中的芯片)支持 NEON;较新的 Arm 服务器芯片还配备了更宽的 SVE 扩展。近期芯片还加入了矩阵单元,例如 Intel 自 2023 年起在 Xeon 服务器处理器中采用的高级矩阵扩展(AMX),以及 Arm 的可扩展矩阵扩展(SME);这些单元每条指令都能乘以小块的 BF16 或 INT8 数值。

CPU 的吞吐量仍远低于 GPU,因为 CPU 会把芯片面积用于缓存和控制逻辑,以提升单线程性能,而不是用于数千个算术单元;它还会从普通系统内存读取权重,内存带宽只有 GPU 的一小部分。推理引擎可以缩小部分差距:ONNX Runtime、Intel 的 OpenVINO 和 Tencent 的 NCNN 会融合层、为检测到的指令集选择速度最快的内核,并运行 INT8 量化模型;这类模型传输的数据量仅为 FP32 权重的四分之一。为 CPU 部署选择引擎和精度通常要考虑硬件:

Ultralytics 专为这类硬件设计了 YOLO26:在 Intel Xeon CPU 上进行 CPU ONNX 推理时,YOLO26n 的速度比 YOLO11n 快 43%;而导出为 OpenVINO最多可将 CPU 推理速度提升 3 倍。以下代码先在 CPU 上运行 YOLO26,再将其导出为 OpenVINO 并运行导出的模型:

from ultralytics import YOLO

# 在 CPU 上运行最小型的 YOLO26 检测模型,即使设备配有 GPU 也如此
model = YOLO("yolo26n.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)  # 预处理、推理和后处理所用的毫秒数

# 导出为 OpenVINO 格式,并在同一 CPU 上运行导出的模型
path = model.export(format="openvino")
ov_model = YOLO(path)
results = ov_model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)

每个 speed 字典都会将单张图像的耗时拆分为预处理、推理和后处理,因此这两条打印结果可以比较运行代码的机器上的 PyTorch 与 OpenVINO 推理耗时。

CPU、GPU、TPU 与 NPU 的比较#

  • CPU: 少量高性能核心,适合通用且包含分支的代码。每台计算机都有 CPU,无需额外硬件就能运行任何模型,但吞吐量低于下文的加速器。
  • GPU: 数千个简单核心,加上用于矩阵运算的 Tensor Cores 和高带宽内存。GPU 是训练和高吞吐量推理的标准硬件。
  • TPU: Google 的专用芯片,围绕大型矩阵乘法单元构建,可通过 Google Cloud 使用;此外,Edge TPU 也以小型推理模块的形式提供。
  • NPU: 集成在手机、笔记本电脑和嵌入式芯片中的低功耗神经网络加速器。Intel Core Ultra、AMD Ryzen AI、Qualcomm Snapdragon 和 Apple M 系列芯片都在同一处理器中集成了 CPU 核心、GPU 和 NPU。

实际应用#

  • 训练数据流水线: GPU 训练时,CPU 工作进程会从磁盘读取图像、解码、调整尺寸、执行增强并组装批次。CPU 核心不足会让昂贵的 GPU 等待数据。
  • 智能摄像头和边缘设备: 门铃、零售传感器和工业摄像头会在自己的处理器上运行小型检测模型,因此视频会留在设备上,只有警报会发送出去。
  • 无服务器与云端推理: 云函数和低流量端点通常运行在仅配备 CPU 的实例上;这类实例启动快,成本也低于预留 GPU。
  • 本地大型语言模型: llama.cpp 等项目会在笔记本电脑的 CPU 上运行量化 GGUF 模型,生成速度主要受内存为每个 token 提供权重的速度限制。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来