CPU
Познакомься с важной ролью CPU в ИИ. Узнай, как оптимизировать предварительную и последующую обработку данных и запускать инференс Ultralytics YOLO26 на периферийных устройствах уже сегодня.
Центральный процессор (CPU) — это основной компонент компьютера, выполняющий роль его «мозга» и отвечающий за интерпретацию и выполнение инструкций аппаратного и программного обеспечения. В контексте искусственного интеллекта (AI) CPU играет фундаментальную роль в обработке данных, оркестрации системы и выполнении инференса, особенно на периферийных устройствах, где критически важна энергоэффективность. Хотя специализированное оборудование, например GPU, часто связывают с основными вычислительными нагрузками при обучении моделей глубокого обучения, CPU остается незаменимым компонентом общего конвейера машинного обучения (ML).
Роль CPU в рабочих процессах AI#
Хотя GPU славятся своей массовой параллельной обработкой во время обучения, CPU выполняет множество важных этапов жизненного цикла компьютерного зрения (CV). Его архитектура, обычно основанная на конструкциях x86 (Intel, AMD) или ARM, оптимизирована для последовательной обработки и управления сложной логикой.
- Предобработка данных: Прежде чем нейронная сеть сможет обучаться, данные необходимо подготовить. CPU отлично подходит для таких задач, как загрузка файлов, очистка данных и сложные преобразования с использованием библиотек NumPy и OpenCV.
- Инференс на периферии: При развертывании в реальных условиях запуск моделей на мощных серверах не всегда целесообразен. CPU позволяет эффективно выполнять развертывание моделей на пользовательском оборудовании, например запускать Ultralytics YOLO26 на ноутбуке или Raspberry Pi.
- Постобработка: После того как модель выдает исходные вероятности, CPU часто выполняет заключительную логику, например подавление немаксимумов (NMS) при обнаружении объектов, чтобы отфильтровать дублирующиеся предсказания и уточнить результаты.
CPU, GPU и TPU#
Понимание особенностей аппаратного обеспечения критически важно для оптимизации операций машинного обучения (MLOps). Эти процессоры существенно различаются по архитектуре и оптимальным вариантам применения.
- CPU: Разработан для универсальности и работы со сложной логикой. Он оснащен несколькими мощными ядрами, которые обрабатывают задачи последовательно. Лучше всего подходит для аугментации данных, управления конвейером и инференса с малой задержкой на небольших пакетах данных.
- GPU (графический процессор): Изначально созданные для обработки графики, GPU оснащены тысячами небольших ядер, предназначенных для параллельной обработки. Они являются стандартом для обучения моделей, поскольку могут выполнять матричное умножение гораздо быстрее CPU.
- TPU (тензорный процессор): Специализированная схема (ASIC), разработанная Google Cloud специально для тензорных вычислений. Хотя она отличается высокой эффективностью при выполнении определенных рабочих нагрузок, ей не хватает универсальности CPU.
Практические применения#
CPU часто выбирают для приложений, в которых стоимость, доступность и энергопотребление важнее максимальной пропускной способности.
-
Интеллектуальные камеры безопасности: В системах охранной сигнализации камеры часто обрабатывают видеопотоки локально. Модель обнаружения объектов на базе CPU может распознать человека или транспортное средство и инициировать оповещение без отправки видео в облако, сохраняя пропускную способность сети и конфиденциальность пользователя.
-
Промышленная автоматизация: На производстве системы предиктивного обслуживания используют CPU для мониторинга данных с датчиков оборудования. Эти системы анализируют вибрации или скачки температуры в реальном времени, чтобы прогнозировать неисправности и обеспечивать бесперебойную автоматизацию производства без необходимости в дорогостоящих кластерах GPU.
Запуск инференса на CPU с Ultralytics#
Разработчики часто тестируют модели на CPU, чтобы проверить совместимость со средами бессерверных вычислений или маломощными устройствами. API Ultralytics позволяет легко выбрать CPU, обеспечивая работу приложения в любых условиях.
В следующем примере показано, как загрузить легковесную модель и запустить инференс именно на CPU:
from ultralytics import YOLO
# Load the lightweight YOLO26 nano model
# Smaller models are optimized for faster CPU execution
model = YOLO("yolo26n.pt")
# Run inference on an image, explicitly setting the device to 'cpu'
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
# Print the detection results (bounding boxes)
print(results[0].boxes.xywh)Чтобы дополнительно повысить производительность на CPU Intel, разработчики могут экспортировать модели в формат OpenVINO, который оптимизирует структуру нейронной сети специально для архитектуры x86. Для управления наборами данных и оркестрации этих развертываний такие инструменты, как Ultralytics Platform, упрощают рабочий процесс от аннотирования до выполнения на периферийном устройстве.









