ONNX 이 어떻게 AI 모델 이동성과 상호 운용성을 향상시켜 다양한 플랫폼에서 Ultralytics YOLO 모델을 원활하게 배포할 수 있도록 지원하는지 알아보세요.
빠르게 진화하는 인공지능(AI) 및 머신러닝(ML) 분야에서는 서로 다른 도구와 플랫폼 간에 모델을 효율적으로 이동하는 것이 매우 중요합니다. ONNX (오픈 신경망 교환)는 AI 모델을 위해 특별히 설계된 오픈 소스 형식을 제공함으로써 이 문제를 해결합니다. 이는 범용 번역기 역할을 하여 개발자가 다음과 같은 하나의 프레임워크에서 모델을 훈련할 수 있도록 합니다. PyTorch와 같은 하나의 프레임워크에서 모델을 훈련한 다음 다른 프레임워크나 추론 엔진(예 TensorFlow 과 같은 다른 프레임워크나 추론 엔진 또는 ONNX 런타임과 같은 특수 런타임을 사용하여 배포할 수 있습니다. 이러한 상호 운용성은 연구부터 생산에 이르는 과정을 간소화하여 AI 에코시스템 내에서 협업과 유연성을 촉진합니다. ONNX 처음에 Facebook AI Research 와 Microsoft Research에서 개발했으며, 현재는 활발한 커뮤니티 프로젝트가 되었습니다.
ONNX 핵심 가치는 다음을 촉진하는 데 있습니다. 휴대성 및 상호 운용성 AI 개발 라이프사이클을 지원합니다. 개발자는 특정 프레임워크의 에코시스템에 종속되지 않고 ONNX 활용하여 다양한 도구와 하드웨어 플랫폼 간에 자유롭게 모델을 이동할 수 있습니다. 공통 연산자 집합을 정의함으로써( 신경망) 및 표준 파일 형식(.onnx
), ONNX 모델의 구조와 학습된 매개변수(가중치)가 일관되게 표시됩니다. 이는 특히 다음과 같은 사용자에게 유용합니다. Ultralytics YOLO 모델에 대한 간단한 방법을 제공하기 때문입니다. 모델을 ONNX 형식으로 내보내기. 이 내보내기 기능을 통해 사용자는 다음과 같은 모델을 가져올 수 있습니다. YOLOv8 또는 최신 YOLO11 다양한 하드웨어 및 소프트웨어 플랫폼에 배포할 수 있으며, 종종 최적화된 추론 엔진 향상된 성능과 하드웨어 가속.
ONNX 몇 가지 주요 기술 기능을 통해 상호 운용성을 달성합니다:
ONNX 모델 트레이닝 환경과 다양한 배포 대상 간의 중요한 가교 역할을 합니다. 다음은 두 가지 구체적인 예시입니다:
ONNX 관련 용어와 구별하는 것이 중요합니다:
.pt
/.pth
또는 TensorFlow SavedModel 는 각각의 프레임워크에 고유합니다. ONNX 중개자 역할을 하여 이러한 형식 간에 변환하거나 공통 런타임을 통해 배포할 수 있도록 합니다. TorchScript 는 PyTorch 모델 직렬화를 위한 또 다른 포맷으로, 때때로 ONNX 내보내기의 대안 또는 전구체로 사용됩니다.요약하자면, ONNX 머신 러닝 작업(MLOps) 파이프라인에서 유연성과 상호 운용성을 보장하는 중요한 표준으로, 개발자가 프레임워크 제한의 제약 없이 학습 및 배포에 가장 적합한 도구를 선택할 수 있게 해줍니다. Ultralytics HUB와 같은 플랫폼은 이러한 형식을 활용하여 모델 개발에서 실제 적용까지의 여정을 간소화합니다.