CPU
AI에서 CPU의 중요한 역할을 살펴보세요. 데이터 전처리와 후처리를 최적화하고 엣지 디바이스에서 Ultralytics YOLO26 추론을 실행하는 방법을 알아보세요.
중앙 처리 장치(CPU)는 컴퓨터의 주요 구성 요소로서 "두뇌" 역할을 하며, 하드웨어와 소프트웨어의 명령을 해석하고 실행합니다. 인공지능(AI)의 맥락에서 CPU는 데이터 처리, 시스템 오케스트레이션, 추론 실행에서 핵심적인 역할을 하며, 특히 전력 효율성이 중요한 엣지 디바이스에서 더욱 중요합니다. GPU와 같은 특수 하드웨어는 딥러닝 모델 학습의 고부하 작업을 처리하는 장치로 자주 사용되지만, CPU는 전체 머신러닝(ML) 파이프라인에 여전히 필수적입니다.
AI 워크플로에서 CPU의 역할#
GPU는 학습 과정에서 뛰어난 대규모 병렬 처리 성능으로 주목받지만, CPU는 컴퓨터 비전(CV) 수명 주기의 여러 필수 단계에서 핵심적으로 사용됩니다. CPU의 아키텍처는 일반적으로 x86(Intel, AMD) 또는 ARM 설계를 기반으로 하며, 순차 처리와 복잡한 논리 제어에 최적화되어 있습니다.
- 데이터 전처리: 신경망이 학습하려면 먼저 데이터를 준비해야 합니다. CPU는 파일 로딩, 데이터 정제, NumPy 및 OpenCV와 같은 라이브러리를 사용한 복잡한 변환 등의 작업에 뛰어난 성능을 발휘합니다.
- 엣지 추론: 실제 환경에 모델을 배포할 때 대규모 서버를 항상 사용하는 것이 가능한 것은 아닙니다. CPU를 사용하면 노트북에서 Ultralytics YOLO26을 실행하거나 Raspberry Pi에서 실행하는 등 소비자용 하드웨어에 효율적으로 모델을 배포할 수 있습니다.
- 후처리: 모델이 원시 확률을 출력한 후 CPU는 객체 탐지에서 비최대 억제(NMS)와 같은 최종 로직을 처리하여 중복 예측을 필터링하고 결과를 정 refined합니다.
CPU vs. GPU vs. TPU#
머신러닝 운영(MLOps)을 최적화하려면 하드웨어 환경을 이해하는 것이 중요합니다. 이러한 프로세서는 아키텍처와 적합한 사용 사례가 크게 다릅니다.
- CPU: 다목적성과 복잡한 논리 처리를 위해 설계되었습니다. 소수의 강력한 코어를 갖추고 작업을 순차적으로 처리합니다. 데이터 증강, 파이프라인 관리, 소규모 배치의 낮은 지연 시간 추론에 적합합니다.
- GPU (그래픽 처리 장치): 원래 그래픽 처리를 위해 개발된 GPU는 병렬 처리를 위해 설계된 수천 개의 소형 코어를 갖추고 있습니다. CPU보다 행렬 곱셈을 훨씬 빠르게 수행할 수 있기 때문에 모델 학습의 표준으로 사용됩니다.
- TPU (텐서 처리 장치): 텐서 연산을 위해 Google Cloud가 특별히 개발한 특수 회로(ASIC)입니다. 특정 워크로드에서는 매우 효율적이지만 CPU와 같은 범용 유연성은 부족합니다.
실제 적용 사례#
대규모 원시 처리량보다 비용, 가용성, 에너지 소비가 더 중요한 애플리케이션에서는 CPU가 하드웨어로 자주 선택됩니다.
-
스마트 보안 카메라: 보안 경보 시스템에서 카메라는 비디오 스트림을 로컬에서 처리하는 경우가 많습니다. CPU 기반 객체 탐지 모델은 사람이나 차량을 식별하고 비디오를 클라우드로 전송하지 않고도 경고를 트리거하여 대역폭과 사용자의 개인정보를 보호할 수 있습니다.
-
산업 자동화: 공장 현장에서 예측 유지보수 시스템은 CPU를 사용하여 기계의 센서 데이터를 모니터링합니다. 이러한 시스템은 진동이나 온도 급등을 실시간으로 분석하여 고장을 예측하고, 고가의 GPU 클러스터 없이 원활한 제조 자동화를 보장합니다.
Ultralytics를 사용한 CPU 추론 실행#
개발자는 서버리스 컴퓨팅 환경 또는 저전력 디바이스와의 호환성을 확인하기 위해 CPU에서 모델을 테스트하는 경우가 많습니다. Ultralytics API를 사용하면 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)Intel CPU에서 성능을 더욱 향상하려면 개발자가 모델을 OpenVINO 형식으로 내보낼 수 있습니다. 이 형식은 x86 아키텍처에 맞게 신경망 구조를 특별히 최적화합니다. 데이터셋을 관리하고 이러한 배포를 오케스트레이션할 때는 Ultralytics Platform과 같은 도구를 사용하여 어노테이션부터 엣지 실행까지의 워크플로를 간소화할 수 있습니다.









