Incontra LMQL un linguaggio di programmazione e una piattaforma open source per l’interazione con modelli di linguaggio di grandi dimensioni (LLM)

Meet LMQL, a programming language and open-source platform for interacting with large language models (LLM).

I modelli linguistici di grandi dimensioni hanno sconvolto la comunità di Intelligenza Artificiale. Il loro impatto recente ha contribuito a una vasta gamma di settori come la sanità, la finanza, l’educazione, l’intrattenimento, ecc. I noti modelli linguistici di grandi dimensioni come GPT, DALLE e BERT svolgono compiti straordinari e semplificano la vita. Mentre DALLE 2 può creare immagini in risposta a una semplice descrizione testuale, GPT-3 può scrivere un eccellente saggio, completare codici, riassumere paragrafi testuali lunghi, rispondere a domande come gli esseri umani e generare contenuti a partire da una breve frase in linguaggio naturale. Questi modelli stanno aiutando l’Intelligenza Artificiale e il Machine Learning a muoversi rapidamente attraverso un cambiamento di paradigma.

Recentemente, un team di ricercatori ha introdotto LMQL, un linguaggio di programmazione open source e una piattaforma per l’interazione con il modello linguistico. LMQL, che sta per Language Model Query Language, migliora le capacità dei Modelli Linguistici di Grandi Dimensioni (LLM) combinando prompt, vincoli e scripting. Essendo un linguaggio dichiarativo simile a SQL basato su Python, LMQL estende il prompt di testo statico con il flusso di controllo, la decodifica guidata dai vincoli e l’aumento degli strumenti. Con questo tipo di scripting, LMQL semplifica i flussi di prompt multi-parti con un piccolo pezzo di codice.

I ricercatori hanno utilizzato LMQL per abilitare LMP (Language Model Programming), che generalizza il prompt del modello linguistico da prompt di testo puro a una combinazione di prompt di testo e scripting. LMQL influenza i vincoli e il flusso di controllo da un prompt LMP per generare una procedura di inferenza efficiente. Questi vincoli super logici e di alto livello vengono tradotti in maschere di token con l’aiuto di una semantica di valutazione che viene attentamente applicata durante la generazione.

Il team ha introdotto LMQL per evitare l’alto costo di ri-querying e la convalida del testo generato. Ciò può aiutare LMQL a produrre testo più vicino all’output desiderato al primo tentativo senza bisogno di iterazioni successive. Inoltre, i vincoli di LMQL consentono agli utenti di guidare o indirizzare il processo di generazione del testo secondo le loro specifiche desiderate, ad esempio garantendo che il testo generato segua determinate regole grammaticali o sintattiche o che si evitino determinate parole o frasi.

I ricercatori hanno menzionato come LMQL possa catturare una vasta gamma di metodi di prompt all’avanguardia, come i flussi interattivi, che sono difficili da implementare con le API esistenti. La valutazione mostra che LMQL mantiene o migliora l’accuratezza su numerosi compiti secondari riducendo significativamente il calcolo o il costo nelle API pay-to-use, con un risparmio di costi del 13-85%.

LMQL consente agli utenti di esprimere una vasta gamma di tecniche di prompt comuni e avanzate in modo semplice e conciso. Si integra con Transformers di Hugging Face, OpenAI API e Langchain. Le risorse per gli sviluppatori sono disponibili su lmql.ai, e un IDE basato sul browser Playground è disponibile per sperimentare.

In sintesi, LMQL sembra essere uno sviluppo promettente, poiché la valutazione dimostra come LMQL sia uno strumento potente che può migliorare l’efficienza e l’accuratezza della programmazione dei modelli linguistici. Può rendere più facile agli utenti raggiungere i risultati desiderati con meno risorse.