Core Concepts
V-모델은 ML 기반 시스템 구축 시 발생하는 학제 간 협업 문제를 해결할 수 있는 방법을 제공한다.
Abstract
이 연구는 V-모델을 ML 기반 시스템 구축에 적용하는 방법을 탐색했다. 소프트웨어 회사 실무자들과의 인터뷰를 통해 다음과 같은 8가지 제안을 도출했다:
시스템 수준, 하위 시스템 수준, 구성 요소 수준(ML, 비ML, 데이터, 인프라)에서 요구사항을 생성하고 지속적으로 관리해야 한다.
시스템 수준 아키텍처 설계와 구성 요소 간 인터페이스, 책임, 대안, 예상 성능을 생성하고 지속적으로 관리해야 한다.
ML 구성 요소의 불확실성으로 인한 위험을 적극적으로 식별하고 완화해야 한다.
ML 구성 요소, 비ML 구성 요소, 데이터, 인프라를 별도의 구성 요소로 다루어 각각에 대한 요구사항, 설계, 검증을 수행해야 한다.
시스템, 하위 시스템, 구성 요소 수준에서 검증 및 확인(V&V)을 수행하고 책임 소유자를 지정해야 한다.
ML 기반 시스템을 위한 소프트웨어 개발 수명 주기는 시스템-하위 시스템-구성 요소 계층 분해, 지속적인 V&V, 불확실성 관리, 역할 간 책임 경계를 따라야 한다.
시스템, 하위 시스템, 구성 요소 수준의 문서화를 생성하고 변경 사항을 추적해야 하며, 모든 관련 역할이 이해할 수 있는 용어를 사용해야 한다.
V-모델은 추가적인 노력이 필요하지만, ML 기반 시스템 구축 시 겪는 협업 문제에 효과적으로 부합한다.
Stats
ML 모델 개발에 있어 소프트웨어 엔지니어와 ML 과학자 간 코딩 표준 격차가 존재한다.
ML 모델 의존성으로 인한 데이터 파이프라인 문제와 인프라 지원 부족이 어려움을 야기한다.
오프라인 모델 평가와 온라인 테스트 간 격차로 인해 여러 차례의 A/B 테스트 반복이 필요하다.
시스템 수준 테스트의 책임 소유자가 불분명하다.
Quotes
"ML 과학자들은 새로운 모델을 많이 개발하고 출시한 뒤 새로운 것을 찾지만, 오래된 모델에 대해서는 관심이 없어 더 이상 유지보수하지 않습니다."
"ML 모델을 출시한 뒤 성능 지표나 비즈니스 지표에 격차가 있다는 것을 알게 되었습니다. 이를 해결하기 위해 홀드아웃 실험을 추가하거나 지속적인 모니터링 지표를 도입했습니다."