Skip to main content
QUICK REVIEW

[논문 리뷰] Analysis of Failures and Risks in Deep Learning Model Converters: A Case Study in the ONNX Ecosystem

Purvish Jajal, Wenxin Jiang|arXiv (Cornell University)|2023. 03. 30.
Software System Performance and Reliability인용 수 5
한 줄 요약

이 논문은 ONNX 생태계 내 딥러닝 모델 컨버터의 첫 번째 장애 분석을 제시하며, 파이토치와 텐서플로우 컨버터에서 발생하는 충돌과 잘못된 동작을 분석한다. 노드 변환을 주요 장애 원인으로 규명(결함의 75%)하고, 개별 연산자가 장애 예측에 빈약한 예측자임을 밝히며, 현재의 테스트 전략의 약점을 드러내고, 합성 모델 테스팅과 안정적인 연산자 집합을 통해 정밀도와 유지보수성을 향상시키자고 제안한다.

ABSTRACT

Software engineers develop, fine-tune, and deploy deep learning (DL) models using a variety of development frameworks and runtime environments. DL model converters move models between frameworks and to runtime environments. Conversion errors compromise model quality and disrupt deployment. However, the failure characteristics of DL model converters are unknown, adding risk when using DL interoperability technologies. This paper analyzes failures in DL model converters. We survey software engineers about DL interoperability tools, use cases, and pain points (N=92). Then, we characterize failures in model converters associated with the main interoperability tool, ONNX (N=200 issues in PyTorch and TensorFlow). Finally, we formulate and test two hypotheses about structural causes for the failures we studied. We find that the node conversion stage of a model converter accounts for ~75% of the defects and 33% of reported failure are related to semantically incorrect models. The cause of semantically incorrect models is elusive, but models with behaviour inconsistencies share operator sequences. Our results motivate future research on making DL interoperability software simpler to maintain, extend, and validate. Research into behavioural tolerances and architectural coverage metrics could be fruitful.

연구 동기 및 목표

  • ONNX 모델 컨버터에서 파이토치 및 텐서플로우의 장애 증상, 원인, 위치를 이해하기 위해.
  • 5,149개의 실제 및 합성 모델을 테스트하여 모델 컨버터가 왜 실패하는지 평가하기 위해.
  • 현재의 테스트 전략이 모델 컨버터 결함을 탐지하는 데 얼마나 효과적인지 평가하고 격차를 규명하기 위해.
  • 연산자 유형이나 순서가 컨버터 장애와 관련이 있는지 조사하기 위해.
  • 딥러닝 상호운용성 도구의 정밀도, 유지보수성, 검증을 향상시키기 위한 개선 방안을 제안하기 위해.

제안 방법

  • 파이토치 및 텐서플로우 ONNX 컨버터에서 발생한 200개의 닫힌 GitHub 이슈를 대상으로 장애 분석을 수행하여 증상, 원인, 위치를 분류하였다.
  • 실제 모델과 NNSmith를 사용해 합성 생성한 모델 총 5,149개를 테스트하여 컨버터의 신뢰성과 결함 탐지를 측정하였다.
  • 장애 원인과 증상의 연합 분포 분석을 통해 컨버터 간의 패턴을 규명하였다.
  • 두 가지 가설을 검증: (1) 연산자 유형이 장애를 예측할 수 있는가, (2) 연산자 순서가 장애와 상관이 있는가. 불일치하는 모델 순서의 빈도 분석을 활용하였다.
  • 기존 테스트 세트를 검토한 결과, 실모델에 크게 의존하고 있으며 합성 모델 커버리지가 부족하여 심각한 테스트 격차를 드러냈다.
  • RISC 및 JVM 설계 원칙을 영감으로 받아, 작은 안정적인 연산자 집합을 제안하여 변환 오류를 줄이고 유지보수성을 향상시키는 데 기여할 수 있다.

실험 결과

연구 질문

  • RQ1ONNX 모델 컨버터에서 파이토치 및 텐서플로우의 가장 흔한 장애 증상, 원인, 위치는 무엇인가?
  • RQ2왜 모델 컨버터가 실패하는가? 특정 연산자나 연산자 순서가 더 높은 실패율을 보이는가?
  • RQ3현재의 테스트 세트는 컨버터 결함을 탐지하는 데 얼마나 효과적인가? 주요 제한 사항은 무엇인가?
  • RQ4작은 안정적인 연산자 집합이 변환 오류를 줄이고 컨버터의 유지보수성을 향상시킬 수 있는가?

주요 결과

  • 노드 변환이 발견된 모든 결함의 약 75%를 차지하여 가장 오류가 많이 발생하는 단계였다.
  • 가장 흔한 장애 증상은 충돌(28%)과 잘못된 모델 동작(36%)이었으며, 주로 형식 문제와 호환성 문제에서 기인했다.
  • 충돌은 주로 호환성 문제와 형식 문제에서 기인했고, 잘못된 동작은 형식 문제, 알고리즘 오류, 형상 불일치에서 기인했다.
  • 개별 연산자와 장애 발생 가능성 간 강한 상관관계는 발견되지 않았지만, 연산자 순서에서 잠재적인 상관관계를 관찰하여 복잡한 상호작용 효과가 있을 수 있음을 시사했다.
  • 발견된 11개의 결함 중 5개는 이전에 알려지지 않은 것으로, 실모델에 의존하고 합성 모델 커버리지가 부족한 기존 테스트 세트의 한계를 드러냈다.
  • 현재의 엔드 투 엔드 테스트 전략은 부족하며, 실제 모델 수가 적고 합성 모델은 전혀 고려하지 않아 합성 생성이 드러낼 수 있는 핵심 장애 패턴을 놓치고 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.