Core Concepts
범용 확률 프로그래밍 언어(PPL)에서 중단 분석 기술을 개발하고, 이를 활용한 선별적 계속-전달 스타일 변환을 통해 불필요한 클로저 할당을 줄여 성능을 향상시킨다.
Abstract
이 논문은 범용 확률 프로그래밍 언어(PPL)에서 중단 분석 기술을 개발하고, 이를 활용한 선별적 계속-전달 스타일 변환 기법을 제안한다.
중단 분석 기술은 특정 추론 알고리즘에 따라 프로그램 내에서 중단이 필요한 부분을 정적으로 식별한다. 이를 통해 선별적 계속-전달 스타일 변환을 수행할 수 있어, 불필요한 클로저 할당을 줄일 수 있다.
논문에서는 중단 분석 기술의 정확성을 수학적으로 증명하고, 이를 Miking CorePPL 컴파일러에 구현하였다. 다양한 실제 모델과 추론 알고리즘에 대한 평가 결과, 기존 전체 계속-전달 스타일 변환 대비 성능이 크게 향상되었음을 보여준다.
Stats
확률 프로그래밍 언어(PPL)는 통계적 추론 문제를 쉽게 인코딩하고 자동으로 해결할 수 있다.
몬테카를로 추론 알고리즘은 PPL 구현에서 널리 사용되며, 실행 중단이 필요하다.
기존 PPL은 계속-전달 스타일(CPS) 변환 또는 복잡한 저수준 솔루션을 통해 실행 중단을 지원한다.
CPS 변환은 불필요한 클로저 할당으로 인한 오버헤드가 발생한다.
Quotes
"CPS 변환은 불필요한 클로저 할당으로 인한 오버헤드가 발생한다."
"대부분의 몬테카를로 추론 알고리즘은 프로그램의 특정 부분에서만 중단을 필요로 한다."