Presentiamo Seal-Tools: Un Nuovo Dataset per l'Apprendimento degli Strumenti LLM
Seal-Tools migliora le capacità degli LLM nella gestione di compiti complessi usando un dataset di strumenti diversificato.
― 8 leggere min
Indice
Negli ultimi anni, i modelli di linguaggio di grandi dimensioni (LLM) hanno fatto passi da gigante nell'eseguire vari compiti. Tanti ricercatori stanno studiando modi per usare questi modelli come agenti per aiutare gli utenti a portare a termine compiti complessi, sfruttando strumenti esterni o plugin. Questi agenti fanno da intermediari tra gli utenti e gli strumenti, sottolineando l'importanza di insegnare agli LLM come comprendere e utilizzare correttamente questi strumenti.
Per raggiungere questo obiettivo, sono fondamentali dataset di Apprendimento degli strumenti di alta qualità per migliorare le capacità degli LLM e valutare le loro performance in modo accurato. Un tipico dataset di apprendimento degli strumenti consiste in una raccolta di strumenti che possono essere utilizzati per diversi compiti e istanze che dimostrano come chiamare questi strumenti. Anche se sono stati creati dataset precedenti, spesso hanno delle limitazioni, come la mancanza di varietà negli strumenti e misure di valutazione scadenti.
La necessità del dataset Seal-Tools
C'è un'urgenza per un dataset di apprendimento degli strumenti di alta qualità e su larga scala. I dataset esistenti, anche se hanno avuto un certo successo, hanno delle carenze in vari modi. Alcuni dataset si basano su strumenti creati manualmente, il che limita il numero di strumenti disponibili. Altri possono raccogliere strumenti da fonti reali, ma i metodi di valutazione utilizzati non sono sempre affidabili e possono essere costosi. Inoltre, i benchmark precedenti tendono ad avere una valutazione grossolana, focalizzandosi principalmente sulla somiglianza testuale.
Per colmare questo gap, presentiamo il dataset Seal-Tools, un nuovo dataset di apprendimento degli strumenti che include strumenti simili a API autoistruiti. Seal-Tools non solo offre una vasta gamma di strumenti, ma fornisce anche istanze pratiche che mostrano come questi strumenti possono essere applicati. Utilizzando un metodo autoistruito, generiamo strumenti e istanze mantenendo il controllo della qualità durante tutto il processo.
Cos'è Seal-Tools?
Seal-Tools è un dataset innovativo progettato per facilitare l'apprendimento degli strumenti da parte degli LLM. Include una grande collezione di strumenti e esempi di come possono essere utilizzati. Una delle caratteristiche chiave di Seal-Tools è l'inclusione di istanze difficili che richiedono l'uso di più strumenti per completare un compito. Questa complessità è riflessa da alcune istanze che coinvolgono chiamate di strumenti annidate.
Per garantire una valutazione precisa e completa dei modelli, abbiamo progettato controlli di formato rigorosi e tre metriche separate focalizzate su diversi aspetti dell'uso degli strumenti. Pertanto, Seal-Tools mira a stabilire un nuovo benchmark per valutare le capacità di chiamata degli strumenti degli LLM.
Sfide nella generazione del dataset
Nei nostri esperimenti iniziali, abbiamo provato a generare strumenti e istanze utilizzando direttamente gli LLM. Anche se questo approccio ha permesso una rapida creazione del dataset, ha portato anche a problemi. I modelli hanno limitazioni sulla lunghezza del contesto, risultando in strumenti duplicati e istanze relativamente semplici che potevano essere risolte facilmente.
Inoltre, garantire la correttezza delle chiamate degli strumenti in ogni istanza si è rivelato difficile a causa degli errori negli output dei modelli, spesso definiti "allucinazione". Per affrontare queste sfide, abbiamo sviluppato un metodo autoistruito che sfrutta gli LLM per creare il dataset Seal-Tools in modo affidabile.
Metodo autoistruito
Il nostro metodo autoistruito inizia usando un LLM per generare un insieme di campi relativi a diversi domini. Ogni campo corrisponde a una categoria distinta di strumenti. Da questi campi, generiamo strumenti specifici, seguendo un approccio strutturato per evitare duplicazioni e migliorare la diversità.
Una volta che abbiamo un pool di strumenti robusto, creiamo istanze in due categorie: istanze a strumento singolo e istanze a più strumenti. Le istanze a strumento singolo invocano solo uno strumento, mentre le istanze a più strumenti coinvolgono diversi strumenti. Seguiamo un processo a più fasi, incorporando diversi controlli di verifica lungo il percorso per ridurre al minimo gli errori causati dalle limitazioni dell'LLM.
Gli strumenti e le istanze sono descritti in un formato JSON rigoroso, assicurando che i dati siano organizzati e facili da valutare.
Generazione dei campi
Il processo di generazione dei campi è fondamentale per produrre strumenti diversificati. Inizialmente, non abbiamo incluso questo passaggio nella creazione del nostro dataset. Tuttavia, abbiamo incontrato frequenti ripetizioni di strumenti, spingendoci a introdurre campi gerarchici. Questo metodo ci ha permesso di generare elenchi specifici di campi e sotto-campi, portando infine alla creazione di 146 campi e 5.860 sotto-campi.
Organizzando gli strumenti secondo i loro campi rilevanti, abbiamo migliorato la diversità e la qualità complessiva del processo di generazione degli strumenti.
Generazione degli strumenti
Il nostro metodo di generazione degli strumenti si concentra sulla creazione di strumenti efficaci che servano a scopi specifici. Inizialmente, volevamo produrre un gran volume di strumenti; tuttavia, generare istanze basate solo sulle informazioni sugli strumenti non ha dato risultati soddisfacenti. I modelli producevano spesso strumenti generici e ripetitivi privi di qualità.
Per migliorare questo processo, abbiamo deciso di generare esempi di valori dei parametri contemporaneamente alla creazione degli strumenti. Guidando i modelli a "creare" entità adatte per i valori dei parametri, abbiamo visto un miglioramento significativo nella qualità dell'output generato.
Dopo aver implementato queste modifiche, abbiamo generato con successo 4.076 strumenti unici, ciascuno progettato per un sotto-campo specifico.
Generazione delle istanze
La fase di generazione delle istanze comporta la creazione di query che mostrano come possono essere utilizzati gli strumenti. Ogni istanza consiste in una query dell'utente e nelle necessarie chiamate degli strumenti. Abbiamo optato per un approccio semplice alle query, dando priorità a descrizioni concise dei compiti.
Per le istanze a strumento singolo, abbiamo selezionato uno strumento e compilato i suoi parametri in base ai valori generati. Questo approccio ci ha permesso di produrre efficacemente 4.076 istanze a strumento singolo.
Nel caso delle istanze a più strumenti, abbiamo affrontato sfide con il formato di output. Per affrontare questo, abbiamo suddiviso il processo di generazione in due passaggi. Prima, il modello seleziona diversi strumenti che possono essere combinati per formare una query coerente. Poi, il modello riempie i valori dei parametri in base agli strumenti scelti. Questo metodo ha portato alla generazione di 10.000 istanze a più strumenti, inclusa una sottocategoria con chiamate annidate.
Queste istanze annidate contengono catene di chiamate di strumenti in cui l'output di uno strumento diventa l'input per un altro, rappresentando così uno scenario applicativo più realistico.
Metriche di Valutazione
Attualmente, non ci sono metriche di valutazione standardizzate per i compiti di apprendimento degli strumenti. Per affrontare questo, abbiamo ideato tre metriche principali di valutazione: Accuratezza del formato, Precisione/Ricordo/F1 score degli strumenti e Precisione/Ricordo/F1 score dei parametri. L'accuratezza del formato valuta quanto bene l'output del modello aderisca al formato atteso. Le metriche di selezione degli strumenti valutano la capacità del modello di scegliere gli strumenti appropriati, mentre le metriche sui parametri si concentrano sull'accuratezza dei valori forniti per ciascun strumento.
Queste metriche sono strumenti fondamentali per esaminare complessivamente la competenza degli LLM nel comprendere e utilizzare gli strumenti.
Risultati
Nei nostri esperimenti, abbiamo affinato il modello LLaMA2-7B utilizzando il dataset Seal-Tools. I risultati hanno indicato che gli attuali LLM hanno ancora margini di miglioramento, in particolare nella gestione delle chiamate di strumenti annidate. Tuttavia, il nostro modello affinato ha mostrato notevoli progressi, superando il suo baseline e mostrando capacità competitive rispetto ad altri modelli popolari come ChatGPT e GPT-4.
Nel valutare le istanze a strumento singolo rispetto a quelle a più strumenti, abbiamo osservato un modello costante: i modelli generalmente performano meglio con le istanze a strumento singolo rispetto a quelle a più strumenti. Questa scoperta è in linea con le nostre aspettative, poiché gestire più strumenti presenta generalmente un livello di complessità maggiore.
Le istanze annidate si sono rivelate le più difficili da risolvere per i modelli, evidenziando la natura esigente delle applicazioni reali che richiedono più strumenti in una sola risposta.
Analisi degli errori
Comprendere gli errori commessi dai modelli può fornire indicazioni su aree da sviluppare ulteriormente. Abbiamo categorizzato i tipi di errori, notando che gli errori di selezione degli strumenti derivano principalmente dalle difficoltà dei modelli nel recuperare tutti gli strumenti necessari. Anche le istanze di allucinazione erano comuni, portando alla Generazione di Strumenti non esistenti.
Per quanto riguarda gli errori di compilazione dei parametri, abbiamo scoperto che i modelli spesso omettevano parametri cruciali o li riempivano con valori non necessari. Alcuni errori derivavano da una mancanza di comprensione dei requisiti delle query o del formato in cui i parametri dovevano essere presentati.
Conclusione
In questo documento, abbiamo presentato il dataset Seal-Tools, una nuova risorsa progettata per migliorare le capacità di apprendimento degli strumenti degli LLM. Il nostro metodo di costruzione del dataset, attentamente controllato, produce dati di alta qualità, incluse istanze difficili che potenziano l'allenamento degli LLM.
I risultati della valutazione dimostrano che gli attuali sistemi di agenti possono essere ulteriormente perfezionati. Seal-Tools mira a servire come un nuovo benchmark nel campo dell'apprendimento degli strumenti, favorendo la ricerca e lo sviluppo continui in quest'area.
Lavori futuri
Andando avanti, ci sono diverse strade per migliorare le performance degli LLM sui compiti di apprendimento degli strumenti. In primo luogo, intendiamo affinare i metodi utilizzati per la selezione degli strumenti, assicurandoci che tutti gli strumenti necessari siano recuperati in modo efficiente. Inoltre, esploreremo modi per mitigare gli errori associati all'allucinazione durante gli output dei modelli.
Mentre espandiamo il dataset Seal-Tools, pianifichiamo anche di investigare le capacità di generalizzazione dei modelli, valutando quanto bene possono adattarsi a vari scenari di apprendimento degli strumenti. Continuando a migliorare il nostro dataset e i metodi di valutazione, speriamo di contribuire in modo significativo all'avanzamento degli LLM nelle applicazioni pratiche.
Seal-Tools funge da piattaforma fondamentale per la ricerca in corso, offrendo un dataset e un framework di valutazione superiori per sviluppare agenti più efficienti e capaci in futuro.
Titolo: Seal-Tools: Self-Instruct Tool Learning Dataset for Agent Tuning and Detailed Benchmark
Estratto: This paper presents a new tool learning dataset Seal-Tools, which contains self-instruct API-like tools. Seal-Tools not only offers a large number of tools, but also includes instances which demonstrate the practical application of tools. Seeking to generate data on a large scale while ensuring reliability, we propose a self-instruct method to generate tools and instances, allowing precise control over the process. Moreover, our Seal-Tools contains hard instances that call multiple tools to complete the job, among which some are nested tool callings. For precise and comprehensive evaluation, we use strict format control and design three metrics from different dimensions. Therefore, Seal-Tools can serve as a new benchmark to evaluate the tool-calling ability of LLMs. Finally, we evaluate several prevalent LLMs and our finetuned model on Seal-Tools. The results show that current systems are far from perfect. The code, data and experiment results are available at https://github.com/fairyshine/Seal-Tools .
Autori: Mengsong Wu, Tong Zhu, Han Han, Chuanyuan Tan, Xiang Zhang, Wenliang Chen
Ultimo aggiornamento: 2024-05-14 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2405.08355
Fonte PDF: https://arxiv.org/pdf/2405.08355
Licenza: https://creativecommons.org/licenses/by/4.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.