머신러닝 엔지니어링 노트북 자동 현대화로 재현성 확보
초록
본 논문은 Kaggle 대회에서 수집한 12,720개의 머신러닝 엔지니어링(Jupyter) 노트북을 대상으로 현재 환경에서의 재현성을 조사하고, 기존의 의존성 백포팅이 효과가 없음을 확인한다. 이를 해결하기 위해 LLM 기반 에이전트 프레임워크인 MLEModernizer를 설계·구현하여, 오류 수정, 실행 시간 감소, 점수 보정이라는 세 가지 패치를 반복 적용한다. 7,402개의 비재현 노트북 중 5,492개(74.2%)를 성공적으로 현대화해 재현성을 회복하였다.
상세 분석
본 연구는 먼저 Kaggle의 최신 Docker 이미지(2025년 기준)를 기준 환경으로 설정하고, 79개의 인기 대회에서 추출한 12,720개의 파이썬 노트북을 재실행하였다. 재현성 판단 기준은 원본 Kaggle 점수와 재현 점수의 상대 오차가 10% 이하이며, CSV 제출 파일이 정상 생성되는지를 포함한다. 결과는 전체의 35.4%만이 재현 가능했으며, 대부분은 라이브러리 API 변경, 의존성 충돌, 실행 시간 초과 등으로 실패하였다. 흥미롭게도, 제출 시점에 맞춰 의존성을 다운그레이드하는 ‘백포팅’ 전략을 적용했음에도 재현 비율은 35.1%로 오히려 감소하였다. 이는 오래된 이미지가 존재하지 않거나, 하위 버전에서도 새로운 버그가 발생하는 등 환경 자체가 변동성을 내포하고 있음을 시사한다.
이러한 한계를 극복하기 위해 제안된 MLEModernizer는 “환경을 고정하고 코드만 현대화한다”는 패러다임을 채택한다. 프레임워크는 다음과 같이 동작한다. ① 노트북을 현재 환경에서 실행하고 오류 로그, 실행 시간, 점수 편차를 수집한다. ② 수집된 컨텍스트를 기반으로 세 가지 프롬프트 유형(오류‑수정, 실행‑시간‑감소, 점수‑보정)을 LLM에 전달한다. ③ LLM은 전체 노트북 파일 수준에서 패치를 생성하여, 단일 라운드에서 여러 셀에 걸친 근본 원인을 동시에 해결하도록 설계되었다. ④ 수정된 노트북을 다시 실행하고, 재현성 기준을 만족할 때까지 ①~③ 과정을 반복한다.
LLM으로는 최신 GPT‑5.2 모델을 사용했으며, 평균 5.70회의 반복과 0.31 USD의 비용으로 한 노트북을 처리한다. 평가 결과, 비재현 노트북 7,402개 중 5,492개(74.2%)가 완전 재현되었고, 추가로 1,284개(17.3%)는 “오류‑재현” 상태(오류는 남아 있으나 CSV와 점수는 만족)로 전환되었다. 이는 일부 오류가 모델 성능에 영향을 주지 않으며, 실무에서 무시해도 되는 경우가 있음을 보여준다. 또한 셀‑단위 패치보다 파일‑전체 패치가 반복 횟수를 크게 줄이는 효과가 확인되었다.
이 연구는 머신러닝 엔지니어링에서 코드 재사용성을 높이고, 급변하는 하드웨어·소프트웨어 스택에도 지속 가능한 연구 재현을 가능하게 하는 실용적인 솔루션을 제시한다. 한계로는 LLM의 hallucination 위험, 특정 도메인(예: 이미지·비전)에서의 특수 라이브러리 호환성 문제, 그리고 현재 Kaggle 외부 데이터셋 사용 노트북을 제외한 점이 있다. 향후 연구에서는 멀티‑모달 LLM 적용, 자동 테스트 생성, 그리고 백엔드 환경 다양성을 고려한 포괄적 백포팅 전략을 탐색할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기