Böhler, Timon ; Richter, David ; Mezini, Mira (2023)
Using Rewrite Strategies for Efficient Functional Automatic Differentiation.
25th ACM International Workshop on Formal Techniques for Java-like Programs. Seattle, USA (18.07.2023)
doi: 10.1145/3605156.3606456
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
Automatic Differentiation (AD) has become a dominant technique in ML. AD frameworks have first been implemented for imperative languages using tapes. Meanwhile, functional implementations of AD have been developed, often based on dual numbers, which are close to the formal specification of differentiation and hence easier to prove correct. But these papers have focussed on correctness not efficiency. Recently, it was shown how an approach using dual numbers could be made efficient through the right optimizations. Optimizations are highly dependent on order, as one optimization can enable another. It can therefore be useful to have fine-grained control over the scheduling of optimizations. One method expresses compiler optimizations as rewrite rules, whose application can be combined and controlled using strategy languages. Previous work describes the use of term rewriting and strategies to generate high-performance code in a compiler for a functional language. In this work, we implement dual numbers AD in a functional array programming language using rewrite rules and strategy combinators for optimization. We aim to combine the elegance of differentiation using dual numbers with a succinct expression of the optimization schedule using a strategy language. We give preliminary evidence suggesting the viability of the approach on a micro-benchmark.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2023 |
Autor(en): | Böhler, Timon ; Richter, David ; Mezini, Mira |
Art des Eintrags: | Bibliographie |
Titel: | Using Rewrite Strategies for Efficient Functional Automatic Differentiation |
Sprache: | Englisch |
Publikationsjahr: | 18 Juli 2023 |
Verlag: | ACM |
Buchtitel: | FTfJP 2023: Proceedings of the 25th ACM International Workshop on Formal Techniques for Java-like Programs |
Veranstaltungstitel: | 25th ACM International Workshop on Formal Techniques for Java-like Programs |
Veranstaltungsort: | Seattle, USA |
Veranstaltungsdatum: | 18.07.2023 |
DOI: | 10.1145/3605156.3606456 |
Kurzbeschreibung (Abstract): | Automatic Differentiation (AD) has become a dominant technique in ML. AD frameworks have first been implemented for imperative languages using tapes. Meanwhile, functional implementations of AD have been developed, often based on dual numbers, which are close to the formal specification of differentiation and hence easier to prove correct. But these papers have focussed on correctness not efficiency. Recently, it was shown how an approach using dual numbers could be made efficient through the right optimizations. Optimizations are highly dependent on order, as one optimization can enable another. It can therefore be useful to have fine-grained control over the scheduling of optimizations. One method expresses compiler optimizations as rewrite rules, whose application can be combined and controlled using strategy languages. Previous work describes the use of term rewriting and strategies to generate high-performance code in a compiler for a functional language. In this work, we implement dual numbers AD in a functional array programming language using rewrite rules and strategy combinators for optimization. We aim to combine the elegance of differentiation using dual numbers with a succinct expression of the optimization schedule using a strategy language. We give preliminary evidence suggesting the viability of the approach on a micro-benchmark. |
Zusätzliche Informationen: | International Workshop on Formal Techniques for Java-like Programs |
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik 20 Fachbereich Informatik > Softwaretechnik Zentrale Einrichtungen Zentrale Einrichtungen > hessian.AI - Hessisches Zentrum für Künstliche Intelligenz |
Hinterlegungsdatum: | 05 Mär 2024 15:44 |
Letzte Änderung: | 14 Mai 2024 17:23 |
PPN: | 518268128 |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |