한 줄 정의

ONNX는 머신러닝 모델을 표현하는 공통 포맷이야. 한 프레임워크에서 만든 모델을 다른 런타임이나 배포 환경으로 넘기기 쉽게 하려고 쓰는 중간 표준이라고 보면 돼.

어떻게 작동하나

모델의 그래프 구조와 연산자를 ONNX 형식으로 내보내면, 그 형식을 이해하는 런타임이나 컴파일러가 다른 환경에서 실행해. 그래서 학습은 한 프레임워크에서 하고 배포는 ONNX를 읽는 엔진으로 넘기는 흐름이 자주 나와.

왜 중요한가

실무에선 모델 품질만큼 어디서 얼마나 쉽게 돌릴 수 있는지도 중요해서 공통 포맷의 가치가 커. 특히 모바일, 엣지, 서버처럼 환경이 갈라질수록 ONNX는 이식성을 높이는 접점이 돼.

주의해서 볼 점

ONNX가 만능 변환기라는 뜻은 아니고, 지원 안 되는 연산자나 프레임워크 특수 기능이 있으면 변환이 깨질 수 있어. 변환에 성공해도 원래 프레임워크와 똑같은 성능이 바로 나오진 않을 수 있어서 런타임별 검증이 필요해.

관련 용어

  • Runtime은 ONNX 파일을 실제로 읽고 실행하는 계층이야. 포맷과 실행 엔진은 같은 말이 아니라는 점이 중요해.
  • Quantization은 ONNX 모델을 더 가볍게 배포할 때 자주 같이 붙는 최적화 기법이야. 포맷을 바꾸는 일과 수치를 줄이는 일은 구분해서 봐야 해.
  • Modal은 배포와 실행 환경을 서비스로 다루는 쪽에 더 가까워. ONNX는 그보다 아래쪽의 모델 표현 형식이라고 보면 돼.
  • On-device AI는 ONNX가 왜 자주 언급되는지 보여 주는 대표 배포 맥락이야. 기기마다 다른 실행 환경을 넘나들 때 ONNX의 의미가 커져.