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 提供权重的速度限制。










