학술논문

Automatic Differentiation is no Panacea for Phylogenetic Gradient Computation.
Document Type
article
Source
Genome biology and evolution. 15(6)
Subject
Models
Statistical
Likelihood Functions
Phylogeny
Algorithms
Machine Learning
Bayesian inference
gradient
phylogenetics
variational inference
Biochemistry and Cell Biology
Evolutionary Biology
Genetics
Developmental Biology
Language
Abstract
Gradients of probabilistic model likelihoods with respect to their parameters are essential for modern computational statistics and machine learning. These calculations are readily available for arbitrary models via "automatic differentiation" implemented in general-purpose machine-learning libraries such as TensorFlow and PyTorch. Although these libraries are highly optimized, it is not clear if their general-purpose nature will limit their algorithmic complexity or implementation speed for the phylogenetic case compared to phylogenetics-specific code. In this paper, we compare six gradient implementations of the phylogenetic likelihood functions, in isolation and also as part of a variational inference procedure. We find that although automatic differentiation can scale approximately linearly in tree size, it is much slower than the carefully implemented gradient calculation for tree likelihood and ratio transformation operations. We conclude that a mixed approach combining phylogenetic libraries with machine learning libraries will provide the optimal combination of speed and model flexibility moving forward.