Torch-Struct: Deep Structured Prediction Library
Alexander M. Rush · 2020
The literature on structured prediction for NLP describes a rich collection of distributions and algorithms over sequences, segmentations, alignments, and trees; however, these algorithms are difficult to utilize in deep learning frameworks.We introduce Torch-Struct, a library for structured prediction designed to take advantage of and integrate with vectorized, auto-differentiation based frameworks.Torch-Struct includes a broad collection of probabilistic structures accessed through a simple and flexible distribution-based API that connects to any deep learning model.The library utilizes batched, vectorized operations and exploits auto-differentiation to produce readable, fast, and testable code.Internally, we also include a number of general-purpose optimizations to provide cross-algorithm efficiency.Experiments show significant performance gains over fast baselines.Case studies demonstrate the benefits of the library.