ONNX 옵티마이저 결함 탐지와 원인 규명: DiTOX 프레임워크

ONNX 옵티마이저 결함 탐지와 원인 규명: DiTOX 프레임워크
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

DiTOX는 ONNX 옵티마이저에 적용된 그래프 수준 최적화가 모델 정확도와 실행 안정성을 해치지 않는지 자동으로 검증한다. 130개의 실제 ONNX 모델에 차등 테스트와 단계별 패스 실행을 적용해 15개의 버그(그중 14개 신규)를 발견했으며, 오류 원인을 정확히 특정해 개발자에게 보고하였다.

상세 분석

본 논문은 딥러닝 모델을 배포하기 전 필수적인 그래프 최적화 단계에서 발생할 수 있는 미묘한 결함을 체계적으로 탐지·분석하는 방법론을 제시한다. 핵심 아이디어는 차등 테스트(differential testing)와 패스 단위의 정밀 fault localization을 결합한 자동화 프레임워크인 DiTOX이다. 먼저, ONNX Model Hub에서 수집한 130개의 이미지·텍스트·객체 검출·세그멘테이션 모델을 대상으로 기본 설정(fuse + eliminate)과 전체 47개 패스를 조합한 전·부분 최적화를 수행한다. 각 모델은 동일한 입력 데이터셋을 사용해 ONNX Runtime으로 실행되며, 결과는 모델 유형에 맞는 메트릭(분류는 Kendall’s τ, 객체 검출은 IoU·mAP·F1, 텍스트는 BLEU 등)으로 비교한다.

디스코버리 단계에서 최적화 후 모델이 크래시하거나 비정상적인 그래프 구조를 생성하면 즉시 오류로 기록한다. 출력 차이가 감지되면 DiTOX는 “per‑pass isolation” 전략을 적용한다. 즉, 전체 최적화 대신 하나씩 패스를 적용해 결과를 재검증하고, 차이가 재현되는 첫 번째 패스를 결함 패스로 식별한다. 이 과정은 자동화된 스크립트와 JSON 기반 리포트로 관리돼 대규모 실험에서도 높은 재현성을 보장한다.

실험 결과, 9.2%의 모델 인스턴스가 옵티마이저 자체 충돌이나 무효 모델 생성을 일으켰으며, 분류 모델의 30%, 객체 검출·세그멘테이션 모델의 16.6%에서 출력 불일치가 관찰되었다. 특히, 텍스트 기반 모델은 비교적 견고한 편이었다. 총 15개의 버그가 발견됐으며, 이 중 9개의 패스(47개 중 약 19%)가 직접 연관되었다. 버그 유형은 잘못된 값 참조, 입·출력 텐서 불일치, 그래프 구조 손상 등으로, 각각 옵티마이저 크래시, malformed model, 정확도 저하라는 형태로 나타났다.

논문은 또한 DiTOX가 기존 ONNX 옵티마이저 테스트가 주로 toy model에 국한된 점을 보완하고, 실제 서비스 환경에서 사용되는 복잡한 모델에 대한 검증을 가능하게 함을 강조한다. 프레임워크는 패스 선택·순서 조정, 데이터 흐름 분석, delta debugging 등으로 확장 가능하므로, 다른 AI 컴파일러(예: TVM, MLIR)에도 적용할 수 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기