diffrax: 자동 미분 및 GPU 사용이 가능한 JAX 기반 수치 미분 방정식 솔버 라이브러리
diffrax: 자동 미분 및 GPU 사용이 가능한 JAX 기반 수치 미분 방정식 솔버 라이브러리
해결하는 문제
Diffrax는 미분 방정식—특히 일반 미분 방정식(ODE), 확률 미분 방정식(SDE), 그리고 제어 미분 방정식(CDE)—을 JAX 생태계 내에서 수치적으로 풀 수 있는 방법을 제공합니다. 이 솔버들은 자동 미분이 가능하고 GPU에서 실행될 수 있어 물리 기반 모델을 머신러닝과 통합하는 데 필수적입니다.
작동 방식
JAX 위에 구축된 이 라이브러리는 다양한 종류의 방정식을 처리하기 위해 통합된 내부 구조를 사용합니다. Tsit5와 Dopri8 같은 다양한 솔버를 지원하고, 상태를 PyTree 형태로 표현할 수 있으며, 역전파를 위한 여러 adjoint 방법을 제공합니다. JAX 기반이기 때문에 적분 구간을 포함한 거의 모든 과정이 vmappable 합니다.
대상 사용자
과학 컴퓨팅 및 AI 분야에서 연구자와 개발자를 위해 설계되었습니다. 특히 신경 미분 방정식을 구현하거나 고성능, 자동 미분 가능한 수치 솔버가 필요한 경우에 적합합니다.
주요 특징
- ODE, SDE, CDE 솔버 지원
- 완전 자동 미분 및 GPU 호환
- 라이브러리 전반에 걸친 vmappable 연산
- 신경 미분 방정식 지원
- 심플렉틱 및 암시적 옵션을 포함한 다양한 솔버 제공
Sources
- undefinedpatrick-kidger/diffrax