Sci Simple

New Science Research Articles Everyday

# Informatica # Basi di dati # Intelligenza artificiale # Linguaggi di programmazione

Sviluppi negli Strumenti di Generazione di Query sui Log

Rivoluzionando il modo in cui cerchiamo nei log con modelli ottimizzati.

Vishwanath Seshagiri, Siddharth Balyan, Vaastav Anand, Kaustubh Dhole, Ishan Sharma, Avani Wildani, José Cambronero, Andreas Züfle

― 6 leggere min


Strumenti di query log Strumenti di query log migliorati significativamente le query di log. I modelli ottimizzati migliorano
Indice

Nel mondo dei dati e della tecnologia, poter fare domande e ottenere risposte dai log è davvero utile. Immagina i log come quei registri che dicono cosa è successo in un sistema informatico, un po' come un diario ma per le macchine. Per semplificare le cose, i ricercatori hanno lavorato su strumenti che possono trasformare domande normali in query che i computer possono capire. Questo processo si chiama Generazione di query.

Framework di Valutazione per la Generazione di Query

Per controllare quanto bene funzionano questi strumenti, gli esperti hanno creato un sistema completo per valutarli. Questo sistema esamina diverse aree importanti. Prima di tutto, confronta modelli che sono stati ottimizzati, o migliorati, con quelli di base. Secondo, valuta come la dimensione dei dati usati per ottimizzare i modelli influisce sulle loro Prestazioni. Terzo, controlla quanto bene questi modelli possono funzionare in diverse impostazioni o applicazioni. Infine, viene effettuata una revisione dettagliata delle query generate, usando un punteggio speciale per misurare la loro qualità.

Usare questo approccio strutturato aiuta a avere una chiara visione di quanto siano affidabili questi strumenti e di quanto efficacemente possano adattarsi a varie situazioni.

Preparazione dei Dati

Per assicurarsi che tutto funzionasse senza intoppi con il sistema di indicizzazione del computer, i log sono stati elaborati in un formato che il sistema poteva capire. Questo è stato fatto seguendo dei template. Sono stati creati coppie chiave-valore dai template, con etichette composte da chiavi di log specifiche. Poi, sono stati utilizzati strumenti esistenti per estrarre i valori necessari da ciascuna riga nei log.

Poiché il sistema cerca query basate sul tempo, i timestamp nei log sono stati aggiornati. Sono stati cambiati in date più recenti mantenendo l'ordine delle righe di log corretto. La maggior parte delle query log deve cercare dati dell'ultima settimana, quindi questo passaggio è stato molto importante per rendere più facile la ricerca e l'analisi dei log.

Esecuzione dei Test

Domande in linguaggio naturale da un set di test sono state elaborate attraverso diversi strumenti, come i modelli e i servizi più recenti. Le query generate sono state eseguite su un sistema locale, assicurandosi che non ci fossero problemi con i ritardi di rete. I risultati di queste query sono stati confrontati in base a diversi parametri di prestazione.

Prestazioni dei Modelli Ottimizzati

Durante i test, il team voleva vedere quanto bene i modelli migliorati potessero generare query rispetto ai modelli di base. Hanno utilizzato metà dei Campioni per ottimizzare i modelli, seguendo un metodo specifico. I risultati hanno mostrato miglioramenti significativi nel ottenere risposte accurate e nel produrre query rilevanti.

La maggior parte delle query generate erano utilizzabili. Tuttavia, circa il 10% di esse presentava errori di Sintassi, come righe di log mancanti o espressioni incorrecte. Tra i modelli migliorati, uno si è distinto per le sue ottime prestazioni, mostrando punteggi di accuratezza impressionanti dopo l'ottimizzazione.

Alcuni modelli hanno mostrato miglioramenti notevoli, con l'accuratezza che è passata da livelli molto bassi a livelli ragionevolmente alti. Mentre un modello ha fatto i progressi più significativi, anche altri hanno mostrato guadagni significativi, migliorando la loro capacità di generare query corrette. I punteggi di perplexity hanno anche indicato che alcuni modelli avevano una coerenza migliore, mostrando la loro capacità di prevedere output utili.

Esempi di Query Prima e Dopo l'Ottimizzazione

Per vedere la differenza prima e dopo l'ottimizzazione, sono stati analizzati alcuni esempi di query generate. Prima dell'ottimizzazione, i modelli presentavano diversi errori comuni. Questi includevano uso errato delle etichette, timestamp mal posizionati e problemi di sintassi. Ad esempio, una query errata aveva un uso sbagliato delle etichette, mentre un'altra aveva errori nel formato temporale.

Dopo l'ottimizzazione, la qualità delle query generate è migliorata enormemente. Le versioni corrette hanno implementato la sintassi appropriata e catturato i dati di log previsti in modo più efficace. Le query generate ora corrispondono ai formati necessari, dimostrando l'effetto positivo del processo di miglioramento.

Analisi degli Effetti dei Campioni Ottimizzati

I ricercatori hanno esplorato come il numero di campioni usati per l'addestramento ha influito sui modelli. Hanno usato diverse dimensioni di campioni per l'ottimizzazione e hanno valutato le prestazioni dei modelli su un set di test. I risultati hanno costantemente mostrato un modello: man mano che il numero di campioni aumentava, la prestazione migliorava fino a raggiungere un plateau.

Ad esempio, un modello ha mostrato un aumento significativo dell'accuratezza dal 20% al 60% dei dati di addestramento. Dopo aver raggiunto il 60%, i miglioramenti sono diventati meno evidenti, suggerendo che c'è un limite a quanto un modello possa migliorare con più dati di addestramento. La maggior parte dei miglioramenti è avvenuta nelle fasi iniziali dell'aumento delle dimensioni dei campioni.

Trasferibilità dei Modelli Ottimizzati

Per controllare se i modelli migliorati potevano gestire diverse applicazioni, i ricercatori li hanno testati su dati che non avevano mai visto prima. I modelli sono stati ottimizzati utilizzando dati provenienti da due applicazioni e poi valutati su una terza applicazione sconosciuta. I risultati hanno mostrato che, mentre i modelli ottimizzati hanno performato meglio rispetto a quelli non ottimizzati, avevano comunque alcune limitazioni.

Un modello, in particolare, ha mostrato una prestazione abbastanza buona in tutte le applicazioni. Anche se i risultati variavano, ha comunque superato significativamente i modelli che non erano stati migliorati. Modelli più piccoli hanno mostrato qualche miglioramento, ma hanno ancora lottato per catturare tutti i modelli di log necessari.

Analisi della Qualità del Codice

Per guardare alla qualità delle query generate, i ricercatori hanno impiegato un sistema di punteggio speciale. Hanno ottimizzato il modello di punteggio per valutare con precisione la qualità degli output. Il punteggio ha mostrato che un modello ha costantemente raggiunto le valutazioni più alte in tutte le applicazioni, indicando che le sue query erano molto vicine alle migliori query di riferimento.

D'altra parte, un altro modello ha ottenuto punteggi molto più bassi, suggerendo che il suo output necessita di un miglioramento significativo per funzionare correttamente. Il terzo modello ha mostrato prestazioni moderate, indicando che ha ancora del lavoro da fare per migliorare la sua generazione di query.

Conclusione

In generale, questa valutazione ha dimostrato che i modelli ottimizzati possono generare efficacemente query di log. Alcuni modelli hanno chiaramente superato altri, con uno che brillava in precisione e qualità. Tuttavia, i modelli meno riusciti mostrano che c'è spazio per miglioramenti, in particolare nella generazione di query valide e affidabili.

Tutto questo processo è come cucinare; hai bisogno dei giusti ingredienti e di una buona ricetta per fare un piatto delizioso. Ottimizzare i modelli è essenzialmente aggiungere le spezie giuste per assicurarti che servano query perfette ogni volta. E proprio come padroneggiare una ricetta richiede pratica, migliorare questi modelli richiede ulteriore lavoro e aggiustamenti per raggiungere il loro pieno potenziale nella generazione di query di log accurate.

Fonte originale

Titolo: Chatting with Logs: An exploratory study on Finetuning LLMs for LogQL

Estratto: Logging is a critical function in modern distributed applications, but the lack of standardization in log query languages and formats creates significant challenges. Developers currently must write ad hoc queries in platform-specific languages, requiring expertise in both the query language and application-specific log details -- an impractical expectation given the variety of platforms and volume of logs and applications. While generating these queries with large language models (LLMs) seems intuitive, we show that current LLMs struggle with log-specific query generation due to the lack of exposure to domain-specific knowledge. We propose a novel natural language (NL) interface to address these inconsistencies and aide log query generation, enabling developers to create queries in a target log query language by providing NL inputs. We further introduce ~\textbf{NL2QL}, a manually annotated, real-world dataset of natural language questions paired with corresponding LogQL queries spread across three log formats, to promote the training and evaluation of NL-to-loq query systems. Using NL2QL, we subsequently fine-tune and evaluate several state of the art LLMs, and demonstrate their improved capability to generate accurate LogQL queries. We perform further ablation studies to demonstrate the effect of additional training data, and the transferability across different log formats. In our experiments, we find up to 75\% improvement of finetuned models to generate LogQL queries compared to non finetuned models.

Autori: Vishwanath Seshagiri, Siddharth Balyan, Vaastav Anand, Kaustubh Dhole, Ishan Sharma, Avani Wildani, José Cambronero, Andreas Züfle

Ultimo aggiornamento: 2024-12-04 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2412.03612

Fonte PDF: https://arxiv.org/pdf/2412.03612

Licenza: https://creativecommons.org/publicdomain/zero/1.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Articoli simili