1. A method of updating an automatic speech recognition (ASR) system, the method comprising: compiling a first finite-state transducer (FST) from a set of one or more ASR models, the first FST comprising a first set of paths defining a first set of speech sequences for the ASR system to recognize based on the set of ASR models; initializing the ASR system to use the first FST in recognizing speech, by causing the first FST to be stored at the ASR system; in response to an update to the set of ASR models, compiling a second FST from the updated set of ASR models, the second FST comprising a second set of paths defining a second set of speech sequences for the ASR system to recognize based on the updated set of ASR models, the second set of speech sequences being different from the first set of speech sequences by at least one speech sequence; by analyzing the second FST together with the first FST via execution of stored instructions by at least one processor, extracting a patch representing the difference between the first FST and the second FST, the patch being configured to be applied non-destructively to the first FST at the ASR system to cause the ASR system to use the second set of paths from the second FST in recognizing speech, wherein extracting the patch comprises generating a third FST by adding to the first FST paths that are in the second FST and not in the first FST and removing from the first FST paths that are in the first FST and not in the second FST, resulting in the third FST encoding the second set of paths of the second FST in a different graph structure than the second FST, and forming the patch of states in the third FST that are modified and/or added with respect to the first FST; and providing the extracted patch to the ASR system as an update.