Skip to main content
QUICK REVIEW

[논문 리뷰] Data Science through the looking glass and what we found there

Fotis Psallidas, Yiwen Zhu|arXiv (Cornell University)|2019. 12. 19.
Machine Learning and Data Classification참고 문헌 8인용 수 13
한 줄 요약

이 논문은 현재까지 가장 큰 분석을 바탕으로 데이터 과학(DS) 프로젝트를 다루며, GitHub에서 공유된 600만 개의 파이썬 노트북, CompanyX의 기업용 DS 파이프라인 200만 개, 그리고 12개의 핵심 DS 라이브러리 900여 개의 릴리스를 분석한다. 정적 코드 분석과 통계적 특성 분석을 통해 라이브러리 사용, 파이프라인 구조, API 진화의 핵심 추세를 규명하며, 시스템 설계자와 실무자들이 도구 개발 우선순위와 기술 도입 전략을 수립하는 데 실질적인 통찰을 제공한다.

ABSTRACT

The recent success of machine learning (ML) has led to an explosive growth both in terms of new systems and algorithms built in industry and academia, and new applications built by an ever-growing community of data science (DS) practitioners. This quickly shifting panorama of technologies and applications is challenging for builders and practitioners alike to follow. In this paper, we set out to capture this panorama through a wide-angle lens, by performing the largest analysis of DS projects to date, focusing on questions that can help determine investments on either side. Specifically, we download and analyze: (a) over 6M Python notebooks publicly available on GITHUB, (b) over 2M enterprise DS pipelines developed within COMPANYX, and (c) the source code and metadata of over 900 releases from 12 important DS libraries. The analysis we perform ranges from coarse-grained statistical characterizations to analysis of library imports, pipelines, and comparative studies across datasets and time. We report a large number of measurements for our readers to interpret, and dare to draw a few (actionable, yet subjective) conclusions on (a) what systems builders should focus on to better serve practitioners, and (b) what technologies should practitioners bet on given current trends. We plan to automate this analysis and release associated tools and results periodically.

연구 동기 및 목표

  • 시스템 설계자와 실무자들이 빠르게 변화하는 데이터 과학 환경을 종합적이고 데이터 기반으로 바라볼 수 있도록 하는 것.
  • 공개 및 기업용 DS 프로젝트에서의 라이브러리 사용, 파이프라인 아키텍처, API 안정성에 대한 주요 추세를 규명하는 것.
  • 실제 코드베이스를 대규모로 분석함으로써 시스템 개발 및 기술 도입 전략 수립을 지원하는 것.
  • 실제 사용 패턴과 DS 워크플로우에서의 새로운 패턴을 정량화함으로써 시스템 설계자와 데이터 과학자 간의 격차를 메우는 것.
  • 지속적인 커뮤니티 이해를 지원하기 위해 자동화된 주기적 분 析 도구와 결과를 공개하는 것.

제안 방법

  • 공개된 파이썬 노트북 600만 개를 GitHub에서 수집하고 분석하여 오픈소스, 교육용, 자율학습 기반의 DS 프로젝트 환경을 연구한다.
  • CompanyX의 내부 시스템(AnonSys)에서 제공한 200만 개의 기업용 데이터 과학 파이프라인을 분석하여 생산 환경에서의 DS 워크플로우를 이해한다.
  • 12개의 주요 DS 라이브러리(예: scikit-learn, PyTorch, TensorFlow)의 900여 개 릴리스에 대해 정적 분석을 수행하여 API 및 코드베이스의 진화를 추적한다.
  • 테스트, 문서, 예제 관련 코드를 제거함으로써 핵심 기능 컴포넌트를 분리하기 위해 코드 요소(클래스, 함수)를 필터링한다.
  • 통계적 및 비교 분석을 통해 2017~2019년 기간 동안 라이브러리 인기, 기능, 안정성의 변화를 연구한다.
  • 정량적 결과를 해석하고 미래 개발을 위한 추측적이지만 데이터 기반의 지침을 제공하기 위해 '와일드 액션블 프리디션스'(WAGs)를 생성한다.

실험 결과

연구 질문

  • RQ1공개 및 기업용 데이터 과학 프로젝트에서 주로 사용되는 라이브러리, 연산자, 코드 구조는 무엇인가?
  • RQ22017년에서 2019년 사이에 데이터 과학 라이브러리의 사용이 어떻게 변화했으며, 어떤 라이브러리가 점점 더 두각을 나타내고 있는가?
  • RQ3GitHub의 공개 노트북는 성숙한 기업용 파이프라인의 구조와 기능을 어느 정도 반영하고 있는가?
  • RQ4주요 DS 라이브러리의 API는 시간이 지남에 따라 얼마나 안정적인가, 이는 시스템 최적화와 도구 개발에 어떤 영향을 미치는가?
  • RQ5DS 라이브러리의 코드 중 예제, 테스트, 문서 비율은 얼마나 되며, 이는 기능성 인식에 어떤 영향을 미치는가?

주요 결과

  • AnonSys 파이프라인에서 상위 7개의 연산자가 분석된 200만 개의 기업용 파이프라인의 75%를 차지하며, 생산 워크플로우에서 높은 수준의 구조적 공통성을 보여준다.
  • GitHub 노트북에서 사용되는 DS 라이브러리의 수는 2017년에서 2019년 사이에 3배 증가했으며, 상위 5개 라이브러리의 인지도는 더 높아져 상대적 증가율이 +3%에 이르렀다.
  • 테스트, 문서, 예제 코드를 제거한 후 Matplotlib가 필터링 후 기능 수가 가장 많은 라이브러리로 나타나며, Pandas와 Scipy를 초월했다.
  • 필터링 후 클래스와 함수의 수가 크게 감소한 것으로 나타났는데, 이는 Seaborn과 Numpy의 경우 최대 79%까지 감소한 것으로, 커뮤니티가 예제와 문서에 광범위하게 투자하고 있음을 시사한다.
  • 코드베이스가 커져가더라도 기능 복잡도(클래스 및 함수 수 기준)로 본 라이브러리 순위는 안정적으로 유지되어, 핵심 기능과 생태계의 성숙도가 일관성을 유지하고 있음을 나타낸다.
  • 라이브러리당 함수와 클래스의 수가 지수적으로 증가하는 추세가 계속되고 있어, API 진화가 지속되고 있음을 보여주며, 안정적인 인터페이스에 대한 공감대 형성이 이루어지지 않고 있음을 시사한다. 이는 시스템 최적화 및 도구 개발에 도전 과제를 야기한다.

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

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

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

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