원문 캡처 · link.springer.com
원문 캡처 · link.springer.com

2016년 발표된 연구는 신약 탐색에서 교차 검증과 매개변수 탐색이 얽힌 머신러닝 분석을 관리하기 위해 SciLuigi를 제안했다. Luigi에 흐름 기반 프로그래밍 원칙을 더해 작업 연결을 쉽게 바꾸고, 고성능 컴퓨팅(HPC) 실행과 작업 감사 기록을 지원하는 방식이다.

연구진은 작업 정의와 작업 간 연결을 분리하고, 작업이 직접 의존하는 대신 데이터 입출력 포트 사이에 연결을 정의했다. 이를 통해 작업을 다시 조합할 때 내부 구현을 바꾸지 않아도 되며, 매개변수 전달을 여러 작업에 반복하는 문제도 줄일 수 있다고 설명했다. SciLuigi는 실행 명령, 매개변수 값, 실행 시간을 구조화된 형식으로 기록하고, 설정에 따라 셸 명령을 HPC 작업 또는 로컬 컴퓨터에서 실행하도록 지원한다.

연구진은 LIBLINEAR를 이용해 분자 용해도를 예측하는 QSAR 사례에 SciLuigi를 적용했다. 데이터는 PubChem의 37,099개 값 가운데 ‘보다 큼’으로 표시되지 않은 값에서 무작위로 고른 10,000개였고, 학습 데이터 크기 500·1,000·2,000·4,000·8,000개를 시험했다. 시험 데이터는 1,000개로 두고, 15개 비용 매개변수 값을 10겹 교차 검증으로 비교했다. 논문은 작은 데이터셋에서는 이 모델링 방식이 잘 작동하지 않는다고 언급했으며, 모델 자체의 성능 평가가 연구의 주된 범위는 아니라고 밝혔다.

연구진은 SciLuigi를 공유 컴퓨터 클러스터에서 대규모 작업을 관리하는 데 사용했다고 보고했다. 다만 실행 시점에 작업 수를 계산할 수 없는 동적 출력 구조는 자연스럽게 모델링하기 어렵다고 지적했다. 라이브러리와 사례 연구 자료는 각각 SciLuigi 저장소, 사례 연구 가상 머신 이미지, 가상 머신 구성 코드에서 확인할 수 있다. 논문 원문