I modelli linguistici, come ChatGPT, sono ormai noti alla comunità tecnologica e al pubblico. Gli utenti interagiscono con questi modelli linguistici formulando le loro istruzioni e domande in linguaggio naturale. Gli utenti non hanno bisogno di competenze di programmazione per farlo.
Queste interazioni funzionano bene in alcuni casi e portano al risultato desiderato. In alcune situazioni, tuttavia, il modello linguistico non comprende il comando e la risposta generata è inaspettata o insoddisfacente. In questo caso, gli utenti fanno immediatamente un’altra richiesta per ottenere la risposta desiderata. ChatGPT tenta quindi di correggere gli errori e di adattare il suo output. Tuttavia, utilizzare un modello linguistico in questo modo non è sistematico, è arbitrario e può richiedere del tempo prima che il risultato desiderato soddisfi gli utenti.
Per risolvere questo problema, i ricercatori hanno sviluppato un nuovo linguaggio di programmazione e una piattaforma open-source chiamata LMQL (Language Model Query Language). LMQL consente di estendere e controllare meglio l’interazione con modelli linguistici di grandi dimensioni come ChatGPT. LMQL rappresenta un nuovo modo di programmare e una nuova forma di interazione tra computer e uomo, in quanto gli utenti interagiscono direttamente con il computer e lo istruiscono.
LMQL è il primo linguaggio che combina le capacità dei linguaggi naturali e dei linguaggi di programmazione per comunicare al meglio con modelli linguistici di grandi dimensioni come ChatGPT. Per semplici interrogazioni, è sufficiente utilizzare ChatGPT con il linguaggio naturale. Tuttavia, per compiti più complessi e specifici, come la creazione di un database o l’analisi dei dati, è essenziale fornire istruzioni precise al modello linguistico. Pertanto, il formalismo dei linguaggi di programmazione è necessario per controllare con precisione il modello linguistico con costrutti formali e garantire che gli utenti ottengano la risposta desiderata. Martin Vechev, professore di informatica e uno degli sviluppatori, precisa: "Fondamentalmente, LMQL consente di ottenere il risultato desiderato in modo molto più mirato. Riducendo il numero di interazioni necessarie tra l’utente:in e il modello linguistico, è possibile ridurre anche il costo dei processi di scambio. L’uso di LMQL aumenta le possibilità di ottenere il risultato desiderato. A volte può persino essere l’uso di LMQL a portare al risultato desiderato, perché consente di formulare la query in modo più preciso".
Un vantaggio decisivo
Gli insiemi di dati con cui vengono addestrati i modelli linguistici di grandi dimensioni e su cui si basano sono così vasti che gli utenti non possono più controllare e capire quali processi avvengono all’interno di un modello. Per questo motivo, a volte i modelli producono risultati indesiderati o controversi. Secondo i ricercatori, uno dei problemi principali è che gli utenti non capiscono perché è stato generato un certo risultato e come possono evitare questo risultato indesiderato.LMQL consente all’utente di formulare vincoli di sicurezza. Questi aiutano a indirizzare il modello nella giusta direzione e a tenerlo lontano da risultati indesiderati o inaspettati. "Con LMQL è possibile vincolare il modello linguistico a rimanere rigorosamente all’interno di una determinata struttura. In questo modo gli utenti hanno un maggiore controllo sul comportamento del modello linguistico. Naturalmente è difficile evitare completamente i comportamenti indesiderati, ma LMQL fa un passo avanti in questa direzione", afferma Luca Beurer-Kellner, che ha contribuito allo sviluppo del nuovo linguaggio di programmazione. Il linguaggio di programmazione LMQL consente all’utente di escludere alcune parole, ad esempio, o di impedire al modello di eseguire determinati processi di ragionamento.
Latrasparenza è fondamentale
Molte aziende sviluppano i loro modelli linguistici di grandi dimensioni a porte chiuse. Questo rende i modelli non trasparenti. Gli utenti non possono più capire perché hanno ricevuto un determinato output. Per contrastare questa situazione, i ricercatori affermano che la scienza deve sviluppare strumenti open-source come LMQL che siano trasparenti, apertamente accessibili e adattabili. Marc Fischer, che ha contribuito allo sviluppo del nuovo linguaggio di programmazione, spiega: "È fondamentale, sia per la comunità tecnologica che per il pubblico non tecnico, che il codice sorgente di LMQL sia aperto e liberamente disponibile, in modo che gli utenti non si trovino davanti un’altra scatola nera". Con la ricerca sui modelli linguistici che avanza rapidamente, è importante che LMQL sia trasparente, consentendo un rapido sviluppo".Uno strumento anche per gli utenti meno esperti
In termini di struttura sintattica, LMQL è un linguaggio di programmazione dichiarativo, simile a SQL, che richiede meno esperienza per ottenere i risultati desiderati. È quindi uno strumento innovativo per i ricercatori di diverse discipline. "Se non siete seriamente interessati alla programmazione o non avete tempo per farlo perché non è una parte fondamentale del vostro lavoro, LMQL rende l’interazione precisa con modelli linguistici di grandi dimensioni facile da capire e molto più accessibile", spiega Beurer-Kellner.Inoltre, LMQL può servire come base utile per programmatori esperti e non, in quanto alla query in linguaggio naturale possono essere aggiunti vari costrutti di programmazione. I programmatori esperti possono usare LMQL come base per scrivere i propri programmi per interagire con modelli linguistici di grandi dimensioni.
L’interesse per LMQL sta crescendo. Attorno al nuovo linguaggio di programmazione si è già formata una comunità interdisciplinare. I ricercatori vedono LMQL come un progetto a lungo termine e stanno già pianificando progetti di follow-up e la pubblicazione di ulteriori articoli. Sono stati inoltre invitati a presentare il loro lavoro a una delle più importanti conferenze internazionali sulla progettazione e l’implementazione di linguaggi di programmazione che si terrà a giugno.