Core Concepts
기계 학습 프로젝트에서 CI/CD 구성이 시간이 지남에 따라 어떻게 변화하는지에 대한 실증적 분석을 제공한다.
Abstract
이 연구는 기계 학습(ML) 프로젝트에서 CI/CD 파이프라인의 진화를 분석한다. 주요 결과는 다음과 같다:
빌드 정책 변경이 CI/CD 구성 변경의 과반을 차지하며, 성능 및 유지보수 관련 변경은 일반 오픈소스 프로젝트에 비해 적다. 이는 기술 부채 및 지연된 빌드로 이어질 수 있다.
테스팅과 의존성 관리가 가장 두드러진 변경 범주이며, 배포와 데이터 버전 관리는 드물다. 의존성을 직접 .travis.yml 파일에 포함하고 테스트 프레임워크의 자동 검색 기능을 사용하지 않는 등의 나쁜 관행이 발견되었다.
환경 변수 설정, Python 버전 업데이트, 종속성 설치 등의 변경 패턴이 빈번하게 나타났다. 또한 사용되지 않는 설정 사용과 일반적인 빌드 언어에 의존하는 등의 나쁜 관행도 발견되었다.
프로젝트에 대한 지식과 전문성이 높은 개발자일수록 CI/CD 구성을 수정할 가능성이 더 높은 것으로 나타났다.
Stats
빌드 정책 변경이 전체 커밋의 61.8%를 차지한다.
성능 및 유지보수 관련 변경은 각각 8.45%와 13.7%에 불과하다.
테스팅 및 의존성 관리 변경이 각각 21.00%와 20.31%로 가장 많다.
배포 및 데이터 버전 관리 변경은 각각 1.57%와 0.29%에 그친다.
Quotes
"61.8% of commits include a change to the build policy and minimal changes related to performance and maintainability compared to general open-source projects."
"Testing and Dependency Management as the most prominent categories of change whereas Deployment and Data Versioning are infrequent."
"Using deprecated Travis CI settings and relying on a generic build language."