Inference Engine
추론 엔진이 Ultralytics YOLO26과 같은 머신러닝 모델을 어떻게 실시간 배포에 최적화하는지 알아보십시오. 오늘날 Edge AI를 위한 성능 팁을 탐색해 보십시오.
An inference engine is a specialized software component designed to execute trained machine learning models and generate predictions from new data. Unlike the training phase, which focuses on learning patterns through computationally intensive processes like backpropagation, an inference engine is strictly optimized for the operational phase known as model deployment. Its primary goal is to run computations as efficiently as possible, minimizing inference latency and maximizing throughput on target hardware, whether that be a scalable cloud server or a battery-powered Edge AI device. By stripping away the overhead required for training, these engines allow complex neural networks to function in real-time applications.
Link to this sectionInference Engine이 성능을 최적화하는 방법#
학습 환경에서 inference engine으로의 전환은 일반적으로 모델의 구조를 간소화하기 위한 몇 가지 최적화 단계를 포함합니다. 모델은 더 이상 학습할 필요가 없기 때문에 엔진은 그래디언트 업데이트에 필요한 데이터를 폐기하여 model weights를 효과적으로 고정할 수 있습니다. inference engine이 사용하는 일반적인 기술로는 여러 작업을 단일 단계로 결합하여 메모리 액세스를 줄이는 레이어 퓨전(layer fusion)과, 가중치를 고정밀 부동 소수점 형식에서 저정밀 정수(예: INT8)로 변환하는 model quantization이 있습니다.
이러한 최적화를 통해 Ultralytics YOLO26과 같은 고급 아키텍처는 accuracy의 상당한 손실 없이 매우 빠른 속도로 실행될 수 있습니다. 서로 다른 엔진은 종종 특정 하드웨어 생태계에 맞춰져 최대 성능을 발휘하도록 설계됩니다:
- NVIDIA TensorRT: 하드웨어별 커널을 활용하고 네트워크 그래프를 최적화하여 NVIDIA GPUs에서 고성능 추론을 제공합니다.
- Intel OpenVINO: Optimizes deep learning performance on Intel architectures, including CPUs and integrated graphics, making it ideal for edge computing.
- ONNX Runtime: ONNX 형식의 모델을 지원하는 크로스 플랫폼 가속기로, 다양한 프레임워크와 하드웨어 백엔드 간의 가교 역할을 합니다.
Link to this section실제 애플리케이션 사례#
Inference engine은 현대 AI 편의 기술의 보이지 않는 동력이며, computer vision 시스템이 환경에 즉각적으로 반응할 수 있도록 합니다.
-
자율 주행 차량: 자율 주행 자동차에서 object detection 모델은 보행자, 교통 표지판, 기타 차량을 밀리초 단위로 식별해야 합니다. 차량 하드웨어에서 로컬로 실행되는 inference engine은 클라우드 연결에 의존할 경우 발생할 수 있는 위험한 지연을 방지하고 real-time inference 속도로 이 처리가 수행되도록 보장합니다.
-
스마트 제조: 공장에서는 industrial IoT 카메라를 활용하여 조립 라인의 제품을 검사합니다. Inference engine은 비디오 피드를 처리하여 anomaly detection을 수행하고 결함을 즉시 표시합니다. 이러한 자동화는 낭비를 줄이고 생산 속도를 늦추지 않으면서 엄격한 품질 관리를 보장합니다.
Link to this sectionInference Engine 대 학습 프레임워크#
모델을 만드는 데 사용되는 소프트웨어와 모델을 실행하는 데 사용되는 엔진을 구분하는 것이 도움이 됩니다. 학습 프레임워크(예: PyTorch 또는 TensorFlow)는 아키텍처 설계, 손실 계산, supervised learning을 통한 매개변수 업데이트를 위한 도구를 제공합니다. 여기서는 유연성과 디버깅 기능이 우선시됩니다.
반면 Inference Engine은 학습 프레임워크에서 완성된 아티팩트를 가져와 실행 속도와 메모리 효율성을 우선시합니다. 학습 프레임워크 내에서 추론을 실행할 수는 있지만, 특히 TensorFlow Lite나 Apple Core ML과 같은 도구를 사용하여 모바일 폰이나 임베디드 장치에 배포할 때는 전용 엔진을 사용하는 것만큼 효율적이지 않습니다.
Link to this sectionYOLO26에서 Inference Engine 사용하기#
ultralytics 패키지는 inference engine의 복잡성을 대부분 추상화하여 사용자가 원활하게 예측을 실행할 수 있도록 합니다. 내부적으로는 이미지 전처리 및 모델 실행을 처리합니다. 확장을 원하는 사용자를 위해 Ultralytics Platform은 모델을 학습하고 다양한 inference engine과 호환되는 최적화된 형식으로 내보내는 과정을 단순화합니다.
다음 예제는 사전 학습된 YOLO26 모델을 로드하고 이미지에 대해 추론을 실행하는 방법을 보여줍니다:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()





