A key advantage
The datasets that large language models are trained with and based on are so massive that the user cannot control and comprehend what happens internally within the model. Because of that, these models can sometimes produce unexpected or controversial outputs. According to the researchers, one of the substantial problems for people using these large language models is that they cannot understand why a certain result was produced and how to prevent it.
LMQL allows its user to express safety constraints which can help guide the model in the right direction and try to steer it away from unwanted or unexpected outputs. “Using LMQL, you can restrict your language model to strictly follow a specific framework you designed. This allows you to better control how the language model behaves. Of course, full guaranteed prevention of bad behaviour is still very hard to achieve, but LMQL is one step in this direction”, explains Luca Beurer-Kellner, one of the researchers. For example, LMQL allows the user to exclude specific words or prevents the model from going in certain directions of reasoning.
Transparency is key
Many companies develop their large language models behind closed doors. Due to that, the large language models become intransparent, and their reasoning behind a particular output is incomprehensible to the user. According to the researchers, to counterbalance this, academia must produce open-source tools like LMQL that are transparent, accessible, and adaptable for people. Marc Fischer, who also developed the new programming language, further declares: “I think for both a technical and non-technical crowd, it is crucial to have this open-source to see what is going on rather than LMQL being a magical black box. Especially since the research on language models is moving at an insane pace, it is crucial that LMQL simultaneously offers transparency and enables fast development.”
A helpful tool even for less experienced users
LMQL is a declarative, SQL-like language from a syntactic point of view. Therefore, it is a very accessible language requiring less expertise to achieve the desired results. The new programming language can also function as an innovative tool for researchers of various disciplines. “If you are not too invested in coding or may not have the time to code because it is not a core part of your work, then LMQL makes it much more accessible to interact with large language models in a precise, yet easy way”, explains Beurer-Kellner.
Additionally, it can function as a helpful base for advanced users and an expert community because you can add different programming constructs to the natural language query. Technical programmer users can use LMQL as a building block and build their own programs on top to interact with large language models.
A vast interest and interdisciplinary community is already beginning to form around the new programming language. The researchers declare LMQL a long-term project and plan several follow-ups and papers. They were also accepted to present their work in June at the ACM PLDI, one of the top international conferences on programming language design and implementation.