constrained beam search

**Constrained beam search** is a decoding algorithm that extends standard **beam search** with additional constraints that the generated output must satisfy. It explores multiple candidate sequences simultaneously while enforcing structural, formatting, or content requirements on the final output. **How Standard Beam Search Works** - Maintains **k candidate sequences** (beams) at each generation step. - At each step, expands each beam with all possible next tokens, scores them, and keeps the top **k** overall candidates. - Returns the highest-scoring complete sequence. **Adding Constraints** - **Format Constraints**: Force output to follow specific patterns — valid JSON, XML, or structured data formats. - **Lexical Constraints**: Require certain words or phrases to appear in the output (e.g., "the answer must contain 'TSMC'"). - **Length Constraints**: Enforce minimum or maximum output length. - **Vocabulary Constraints**: Restrict generation to a subset of the vocabulary at each step. **Implementation Approaches** - **Token Masking**: At each step, compute which tokens violate constraints and set their probabilities to zero (or negative infinity in log space) before beam selection. - **Grid Beam Search**: Tracks constraint satisfaction state alongside sequence state, using a **multi-dimensional beam** that progresses through both sequence position and constraint fulfillment. - **Bank-Based Methods**: Organize beams into "banks" based on how many constraints have been satisfied, ensuring diverse constraint coverage. **Trade-Offs** - **Quality vs. Control**: More constraints reduce the search space, potentially forcing lower-quality text to satisfy requirements. - **Computational Cost**: Constraint checking at each step adds overhead, and complex constraints may require significantly more beams. - **Guarantee Level**: Depending on implementation, constraints can be **hard** (always satisfied) or **soft** (preferred but not guaranteed). **Applications** Constrained beam search is used in **machine translation** (terminology enforcement), **data-to-text generation** (ensure all facts are mentioned), **structured output generation**, and any scenario where outputs must comply with predefined rules.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account