Dirichlet Flow Matching with Applications to DNA Sequence Design
Hannes Stark, Bowen Jing, Chenyu Wang, Gabriele Corso, Bonnie Berger, Regina Barzilay, Tommi Jaakkola
TL;DR
<3-5 sentence high-level summary> Dirichlet flow matching addresses the limitations of naive linear flow matching on the simplex for discrete data by using Dirichlet-based probability paths and a derived vector field that maintains full simplex support. It enables guidance (classifier and classifier-free) and distillation for fast, one-step generation, demonstrated on complex DNA sequence design tasks including promoters and enhancers with favorable distributional metrics. The approach shows superior performance over baselines and offers practical speedups, making it a versatile framework for principled discrete sequence generation beyond DNA design.
Abstract
Discrete diffusion or flow models could enable faster and more controllable sequence generation than autoregressive models. We show that naïve linear flow matching on the simplex is insufficient toward this goal since it suffers from discontinuities in the training target and further pathologies. To overcome this, we develop Dirichlet flow matching on the simplex based on mixtures of Dirichlet distributions as probability paths. In this framework, we derive a connection between the mixtures' scores and the flow's vector field that allows for classifier and classifier-free guidance. Further, we provide distilled Dirichlet flow matching, which enables one-step sequence generation with minimal performance hits, resulting in $O(L)$ speedups compared to autoregressive models. On complex DNA sequence generation tasks, we demonstrate superior performance compared to all baselines in distributional metrics and in achieving desired design targets for generated sequences. Finally, we show that our classifier-free guidance approach improves unconditional generation and is effective for generating DNA that satisfies design targets. Code is available at https://github.com/HannesStark/dirichlet-flow-matching.
