Skip to main content
QUICK REVIEW

[논문 리뷰] ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling

Yingbo Ma, Shashi Gowda|arXiv (Cornell University)|2021. 01. 01.
Parallel Computing and Optimization Techniques참고 문헌 28인용 수 105
한 줄 요약

ModelingToolkit (MTK)는 그래프 기반 변환—예: 색인 감소, 병렬화, 기계학습 기반 모델 순서 감소—을 사용자 수준의 수치 코드에 직접 적용하는 구성 가능한, Julia 기반의 기호 모델링 시스템이다. 이는 안정성, 성능, 효율성 향상을 자동으로 이끌어내며, Dymola 대비 3% 오차로 590배 빠른 냉난방 공조(HVAC) 모델링을 가능하게 하여 고수준이고 확장 가능한 프레임워크 내에서 모델 최적화의 종단 간 자동화를 실현한다.

ABSTRACT

Getting good performance out of numerical equation solvers requires that the user has provided stable and efficient functions representing their model. However, users should not be trusted to write good code. In this manuscript we describe ModelingToolkit (MTK), a symbolic equation-based modeling system which allows for composable transformations to generate stable, efficient, and parallelized model implementations. MTK blurs the lines of traditional symbolic computing by acting directly on a user's numerical code. We show the ability to apply graph algorithms for automatically parallelizing and performing index reduction on code written for differential-algebraic equation (DAE) solvers, "fixing" the performance and stability of the model without requiring any changes to on the user's part. We demonstrate how composable model transformations can be combined with automated data-driven surrogate generation techniques, allowing machine learning methods to generate accelerated approximate models within an acausal modeling framework. These reduced models are shown to outperform the Dymola Modelica compiler on an HVAC model by 590x at 3\% error. Together, this demonstrates MTK as a system for bringing the latest research in graph transformations directly to modeling applications.

연구 동기 및 목표

  • DAE 솔버에 대한 사용자에 의한 비최적의 코드 작성으로 인한 성능 및 안정성 문제를 해결하기 위해.
  • 사용자가 효율적이고 안정적이거나 병렬 코드를 수동으로 작성할 필요 없이 코드 변환을 자동화하기 위해.
  • 고성능 프로그래밍 언어(Julia) 내에 기호 계산을 직접 통합하여 원활하고 구성 가능한 모델 변환을 가능하게 하기 위해.
  • 가소성 있는 모델링 프레임워크 내에서 자동으로 데이터 기반 대체 모델링을 구현하여 시뮬레이션 속도를 향상시키기 위해.
  • 연구자가 새로운 기호 및 그래프 기반 최적화 단계를 쉽게 통합할 수 있도록 개방적이고 확장 가능한 시스템을 구축하기 위해.

제안 방법

  • MTK는 Julia 기반 컴퓨터 대수 시스템(Symbolics.jl)을 사용하여 모델을 기호 표현으로 표현하며, Julia의 의미 체계를 유지한다.
  • 강한 연결 성분(SCC) 분석과 같은 그래프 알고리즘을 적용하여 병렬화 가능한 방정식 그룹을 탐지하고 자동 병렬화를 가능하게 한다.
  • Pantelides 유사 알고리즘을 사용해 DAE에 대해 기호적으로 색인 감소를 수행하여 사용자 간섭 없이 고색인 DAE를 색인-1 형식으로 변환한다.
  • 비선형 토판 및 특이성 제거를 적용하여 시스템을 분리하고 솔버 수렴 성능을 향상시킨다.
  • 기계학습 기반 대체 모델은 `surrogatize` 함수를 통해 자동으로 생성되며, 복잡한 하위모델을 빠르고 근사적인 등가물로 대체한다.
  • 변환은 구성 가능하다: 예를 들어 색인 감소, 병렬화, 대체 모델 생성 등의 여러 단계를 동일한 모델에 순차적으로 적용할 수 있다.

실험 결과

연구 질문

  • RQ1사용자 작성 수치 코드에 직접 기호 기반 그래프 변환을 적용하여 코드 수정 없이 솔버 성능과 안정성을 향상시킬 수 있는가?
  • RQ2그래프 알고리즘을 통한 자동 색인 감소가 DAE 솔버의 안정성과 가속화에 얼마나 효과적인가?
  • RQ3방정식 기반 모델에서 SCC 분해를 사용해 방정식의 자동 병렬화를 어느 정도 달성할 수 있는가?
  • RQ4데이터 기반 대체 모델이 자동으로 생성되어 가소성 모델링 프레임워크에 통합되어 시뮬레이션 속도를 향상시킬 수 있는가?
  • RQ5MTK의 구성 가능한 변환 파이프라인은 실제 성능 벤치마크에서 Dymola와 같은 상용 도구에 비해 어떻게 비교되는가?

주요 결과

  • MTK는 Dymola 대비 3% 오차율로 HVAC 모델의 시뮬레이션 시간을 590배 단축시켰으며, 기계학습 기반 대체 모델을 활용했다.
  • 동일한 HVAC 모델에 대해 시뮬레이션 시간을 5.8초로 단축시켜 Dymola의 35.3초 런타임을 뛰어넘었다.
  • 사용자 작성 코드에 대해 자동으로 색인 감소가 적용되어 고색인 DAE가 수동 재구성 없이 색인-1 형식으로 변환되었다.
  • SCC 탐지 기반 자동 병렬화로 독립적인 방정식 그룹이 동시에 처리될 수 있도록 허용되었다.
  • `surrogatize` 함수는 고정밀도 하위모델을 빠르고 근사적인 대체 모델로 성공적으로 대체하여 모델의 구조를 유지하고 더 큰 시스템 내 재사용을 가능하게 하였다.
  • MTK는 기호 분석, 구조적 단순화, 대체 모델 생성을 포함한 종단 간 모델 최적화 자동화를 가능하게 하며, 하나의 구성 가능한 프레임워크 내에서 이를 모두 통합한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.