vix.ing · top · new · best · stats · spec

Rose: Composable Autodiff for the Interactive Web

2024/02/27 by Sam Estep, Estep, Sam, Wode Ni +5 · 1 voice
Computer Science · #FOS: Computer and information sciences #Programming Languages (cs.PL) #cs.PL

paper · pdf · doi:10.48550/arxiv.2402.17743

arxiv published 2024/02/27 · arxiv updated 2024/07/12

Abstract

Reverse-mode automatic differentiation (autodiff) has been popularized by deep learning, but its ability to compute gradients is also valuable for interactive use cases such as bidirectional computer-aided design, embedded physics simulations, visualizing causal inference, and more. Unfortunately, the web is ill-served by existing autodiff frameworks, which use autodiff strategies that perform poorly on dynamic scalar programs, and pull in heavy dependencies that would result in unacceptable webpage sizes. This work introduces Rose, a lightweight autodiff framework for the web using a new hybrid approach to reverse-mode autodiff, blending conventional tracing and transformation techniques in a way that uses the host language for metaprogramming while also allowing the programmer to explicitly define reusable functions that comprise a larger differentiable computation. We demonstrate the value of the Rose design by porting two differentiable physics simulations, and evaluate its performance on an optimization-based diagramming application, showing Rose outperforming the state-of-the-art in web-based autodiff by multiple orders of magnitude.

Discussions

Related