Large language models have become the main backbone of most state-of-the-art NLP systems. By pre-training on very large datasets with unsupervised objectives, these models are able to learn good representations for language composition, then transfer these over to a task requiring language understanding [1,2,3]. Recent advances in generative language modeling have shown that sufficiently large language models are able to solve even complicated tasks without additional task-specific fine-tuning, simply by processing natural language questions and instructions [4,5,6,7].
While these advancements are very promising for the field, large language models still have certain shortcomings. One such important shortcoming is the inability to perform multi-step reasoning across the given inputs. While a user might assume that the model goes through all the necessary reasoning steps to answer a given question, the approach of current models is closer to guessing the correct answer based on words used in the input. This leads to incorrect answers, inability to understand when a question cannot be answered, and the models being easily confused by irrelevant additional context. These shortcomings raise issues with reliability and trustworthiness of large language models, while also leaving vulnerabilities for malicious attacks.
Logical reasoning is an area where symbolic systems excel. However, the symbolic solvers usually do not have enough coverage of language understanding in order to represent all the complexities and possible variations of natural language, something which large language models are able to do effortlessly. Therefore, we propose combining these two directions of work, which have been traditionally developing in isolation from each other.
This project will investigate methods for extending large language models with the abilities to perform complex multi-step reasoning by learning from symbolic systems. One possible route to investigate is generating examples of reasoning using symbolic systems, then training large language models on these inputs. Examples of predicate logic can be translated into natural language, resulting in step-by-step instructions for the reasoning process. In turn, large language models have shown greatly improved reasoning abilities when using chain-of-thought examples, which explicitly teach the model to go through a reasoning process before committing to an answer for a complex question [8,9,10]. By generating logic-based chain-of-thought examples from a symbolic system, we can explicitly teach the language models to go through the necessary reasoning steps and improve their abilities of multi-step reasoning.