Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

CPU

CPU — универсальный процессор компьютера. В ИИ он загружает и подготавливает данные, координирует ускорители и выполняет инференс, когда GPU недоступен.

Центральный процессор (CPU) — это процессор общего назначения, который запускает операционную систему и программы компьютера. Он выполняет инструкции на небольшом количестве мощных ядер, каждое из которых рассчитано на быстрое выполнение одного потока инструкций; большие кэши, предсказание переходов и внеочередное выполнение ускоряют работу со сложным кодом с ветвлениями. В системах искусственного интеллекта (AI) CPU загружает и декодирует данные, применяет аугментацию данных, передает данные на GPU и другие ускорители, а также выполняет сопутствующие модели операции, например изменение размера изображений перед инференсом и подавление немаксимумов после обнаружения объектов. CPU также выполняет модель самостоятельно, если ускорителя нет или его использование не оправдано, — на ноутбуках, в облачных функциях и на Raspberry Pi. Поэтому задержка инференса на CPU — важная цель проектирования моделей для периферийного ИИ.

Как CPU выполняет нейронные сети#

Большую часть времени нейронная сеть тратит на умножение матриц, и CPU ускоряет эту работу тремя способами. Несколько ядер — от 4 в небольшой плате до более чем 100 в серверном процессоре — параллельно обрабатывают разные части пакета или слоя. Внутри каждого ядра блоки SIMD (одна инструкция — множество данных) применяют одну инструкцию одновременно к множеству чисел: AVX2 и AVX-512 в x86-процессорах Intel и AMD, а также NEON в Arm-процессорах, например в телефонах, компьютерах Mac с Apple silicon и платах Raspberry Pi; в более новых серверных процессорах Arm используется расширение SVE с более широкими векторами. В современных процессорах появились матричные блоки, такие как Advanced Matrix Extensions (AMX) от Intel в серверных Xeon начиная с 2023 года и Scalable Matrix Extension (SME) от Arm. Они умножают небольшие блоки значений BF16 или INT8 за одну инструкцию.

Пропускная способность CPU все еще намного ниже, чем у GPU: CPU расходует площадь кристалла на кэши и логику управления, обеспечивающие высокую производительность одного потока, а не на тысячи арифметических блоков, и считывает веса из обычной оперативной памяти с гораздо меньшей пропускной способностью, чем память GPU. Часть разрыва сокращают движки инференса: ONNX Runtime, OpenVINO от Intel и NCNN от Tencent объединяют слои, выбирают самые быстрые ядра для обнаруженного набора инструкций и выполняют модели с квантованием INT8, которым требуется вчетверо меньше данных, чем для весов FP32. Выбор движка и точности для развертывания на CPU обычно зависит от оборудования:

Ultralytics разработала YOLO26 для такого оборудования: YOLO26n работает до 43% быстрее YOLO11n при инференсе ONNX на CPU с процессором Intel Xeon, а экспорт в OpenVINO ускоряет инференс на CPU до 3 раз. Этот код запускает YOLO26 на CPU, затем экспортирует модель в 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-series объединены ядра CPU, GPU и NPU.

Примеры применения в реальных условиях#

  • Конвейеры данных для обучения: Пока GPU обучает модель, рабочие процессы CPU считывают изображения с диска, декодируют их, изменяют размер, применяют аугментации и формируют пакеты. Если ядер CPU слишком мало, дорогостоящий GPU простаивает в ожидании данных.
  • Умные камеры и периферийные устройства: Видеодомофоны, датчики в магазинах и промышленные камеры запускают небольшие модели обнаружения на собственных процессорах. Видео остается на устройстве, а за его пределы передаются только оповещения.
  • Бессерверный инференс и облачные вычисления: Облачные функции и конечные точки с небольшой нагрузкой часто работают на экземплярах только с CPU: они быстро запускаются и обходятся дешевле, чем постоянно зарезервированный GPU.
  • Большие языковые модели на локальном устройстве: Такие проекты, как llama.cpp, запускают квантованные модели GGUF на CPU ноутбука. Скорость генерации в основном ограничена тем, насколько быстро память может передавать веса для каждого токена.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения