Skip to main content
QUICK REVIEW

[논문 리뷰] A Comprehensive Study on Challenges in Deploying Deep Learning Based Software

Zhenpeng Chen, Yanbin Cao|arXiv (Cornell University)|2020. 05. 02.
Software Engineering Research참고 문헌 40인용 수 6
한 줄 요약

이 논문은 딥러닝(DL) 소프트웨어 배포 시 발생하는 과제에 대한 종합적인 실증 연구를 제시한다. 스택오버플로우의 3,023개 게시글을 분석하여 주요 배포 장벽을 규명한다. 모바일, 클라우드, 브라우저와 같은 플랫폼에서 72개의 구체적 과제를 분류한 분류 체계를 구축하며, 개발자, 연구자, 딥러닝 프레임워크 공급업체가 배포의 신뢰성과 사용성 향상에 실질적인 통찰을 얻을 수 있도록 한다.

ABSTRACT

Deep learning (DL) becomes increasingly pervasive, being used in a wide range of software applications. These software applications, named as DL based software (in short as DL software), integrate DL models trained using a large data corpus with DL programs written based on DL frameworks such as TensorFlow and Keras. A DL program encodes the network structure of a desirable DL model and the process by which the model is trained using the training data. To help developers of DL software meet the new challenges posed by DL, enormous research efforts in software engineering have been devoted. Existing studies focus on the development of DL software and extensively analyze faults in DL programs. However, the deployment of DL software has not been comprehensively studied. To fill this knowledge gap, this paper presents a comprehensive study on understanding challenges in deploying DL software. We mine and analyze 3,023 relevant posts from Stack Overflow, a popular Q&A website for developers, and show the increasing popularity and high difficulty of DL software deployment among developers. We build a taxonomy of specific challenges encountered by developers in the process of DL software deployment through manual inspection of 769 sampled posts and report a series of actionable implications for researchers, developers, and DL framework vendors.

연구 동기 및 목표

  • 실제 환경에서 딥러닝 소프트웨어를 배포할 때 개발자들이 겪는 특정 과제를 규명하고 이해하는 것.
  • 기타 소프트웨어 공학 작업과 비교해 볼 때 딥러닝 소프트웨어 배포의 인기 증가와 난이도 증가를 조사하는 것.
  • 모바일, 클라우드, 웹 환경을 포함한 다양한 플랫폼에서의 배포 과제에 대한 체계적인 분류 체계를 제공하는 것.
  • 연구자, 개발자, 딥러닝 프레임워크 공급업체가 배포 도구 및 실무를 향상시키기 위해 실질적인 통찰을 제공하는 것.
  • 개발 및 훈련 단계에 비해 아직 다소 미비하게 다뤄진 딥러닝 소프트웨어의 구현 단계에 초점을 맞춘 실증 연구의 격차를 메우는 것.

제안 방법

  • 키워드 기반 필터링과 시간적 분석을 활용해 딥러닝 소프트웨어 배포 관련 3,023개의 스택오버플로우 게시글을 수집하고 분석하였다.
  • 반복적 코딩과 주제 분석을 통해 769개 샘플 게시글을 수작업으로 점검하여 배포 과제의 종합적 분류 체계를 도출하였다.
  • 플랫폼(모바일, 클라우드, 브라우저), 기술 분야(모델 변환, 호환성, 성능) 및 개발 단계 기반으로 과제를 분류하였다.
  • 질적 주제 분석을 통해 프레임워크 호환성 문제, 하드웨어 제약, 배포 파이프라인 복잡성과 같은 반복적인 문제를 식별하였다.
  • 기존의 딥러닝 개발 및 배포에 관한 문헌과 비교하여 발견된 결과를 검증하였으며, 특히 구현 단계의 독특한 과제를 부각시켰다.
  • 관찰된 패tern과 고통점 기반으로 개발자, 연구자, 프레임워크 공급업체를 위한 실질적인 권고 사항을 도출하였다.

실험 결과

연구 질문

  • RQ1다양한 플랫폼에서 딥러닝 소프트웨어를 배포할 때 개발자들이 겪는 빈도가 높고 핵심적인 과제는 무엇인가?
  • RQ2빅데이터 처리나 동시성 처리와 같은 다른 소프트웨어 공학 과제와 비교해 볼 때 딥러닝 소프트웨어 배포의 난이도는 어떻게 평가되는가?
  • RQ3실제 딥러닝 소프트웨어 개발에서 배포 과정을 지배하는 특정 기술적, 환경적, 프레임워크 관련 문제들은 무엇인가?
  • RQ4모바일 디바이스, 클라우드 서버, 웹 브라우저와 같은 다양한 배포 대상 간 과제는 어떻게 다름가?
  • RQ5실제 배포 과정에서의 어려움을 바탕으로 딥러닝 프레임워크 설계와 개발자 도구를 향상시키기 위한 실질적인 통찰은 무엇인가?

주요 결과

  • 딥러닝 소프트웨어의 배포는 점점 더 인기 있고, 모델 훈련 및 데이터 처리 단계와 비교해도 더 어려운 과정으로 간주된다.
  • 모델 배포는 스택오버플로우에서 딥러닝 관련 질문 중 가장 자주 등장하고 가장 어려운 주제로 꼽히며, 핵심 개발 문제조차도 이를 뛰어넘는다.
  • 72개의 구체적 과제로 구성된 분류 체계가 규명되었으며, 모델 변환, 하드웨어 호환성, 추론 성능, 프레임워크 특화 제약 등 카테고리로 분류되었다.
  • 자원 제약으로 인해 모바일 배포는 고유한 과제를 지닌다. 개발자들은 주로 모델 정밀도 감소, 크기 축소, 현장에서의 추론 효율성 향상에 어려움을 겪는다.
  • 클라우드 및 브라우저 기반 배포는 프레임워크 호환성 문제, 런타임 환경의 차이, PC에서 타겟 플랫폼으로의 모델 이식 시 성능 저하 등 심각한 문제를 겪는다.
  • 많은 배포 과제는 특히 데스크톱 훈련 환경에서 생산 환경 플랫폼으로의 이행 시, 딥러닝 프레임워크 간 표준화된 인터페이스와 도구의 부족에서 기인한다.

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

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

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

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