InstaNovo uses a transformer architecture very similar to Casanovo's but introduces a novel decoding strategy. Like Casanovo, the model is a 9-layer transformer; however, it differs in some dimensions: InstaNovo uses 16 heads per layer instead of eight, and a hidden dimension of 768 instead of 512. InstaNovo employs beam search decoding with a knapsack constraint to ensure that the prediction matches the observed precursor mass and introduces a diffusion-based post-processing strategy to refine predicted sequences through 20 rounds of diffusion using a new 12-layer fixed-length decoder.