Simple Science

Ciência de ponta explicada de forma simples

# Informática# Computação e linguagem

Apresentando o Seal-Tools: Um Novo Conjunto de Dados para Aprendizado de Ferramentas de LLM

Seal-Tools melhora as capacidades de LLM na gestão de tarefas complexas usando um conjunto de ferramentas bem diversificado.

― 10 min ler


Lançamento do Conjunto deLançamento do Conjunto deDados Seal-Toolsno aprendizado dos ferramentas LLM.Um novo conjunto de dados que dá um up
Índice

Nos últimos anos, os grandes modelos de linguagem (LLMs) deram um grande salto em várias tarefas. Muitos pesquisadores estão buscando maneiras de usar esses modelos como agentes pra ajudar os usuários a completar tarefas complexas usando ferramentas externas ou plugins. Esses agentes funcionam como intermediários entre os usuários e as ferramentas, destacando a importância de ensinar os LLMs a entender e usar essas ferramentas corretamente.

Pra isso, conjuntos de dados de Aprendizado de Ferramentas de alta qualidade são essenciais pra melhorar as capacidades dos LLMs e avaliar seu desempenho de forma precisa. Um conjunto de dados típico de aprendizado de ferramentas consiste em uma coleção de ferramentas que podem ser usadas pra diferentes tarefas e instâncias que mostram como chamar essas ferramentas. Embora conjuntos de dados anteriores tenham sido criados, eles frequentemente têm limitações, como falta de variedade nas ferramentas e medidas de avaliação ruins.

A Necessidade do Conjunto de Dados Seal-Tools

A demanda por um conjunto de dados de aprendizado de ferramentas em larga escala e de alta qualidade se tornou urgente. Conjuntos de dados existentes, embora tenham sido bem-sucedidos até certo ponto, falham de várias maneiras. Alguns conjuntos dependem de ferramentas criadas manualmente, o que limita o número de ferramentas disponíveis. Outros podem coletar ferramentas de fontes do mundo real, mas os métodos de avaliação usados nem sempre são confiáveis e podem ser caros. Além disso, benchmarks anteriores tendem a ter uma avaliação muito geral, focando principalmente na similaridade de texto.

Pra preencher essa lacuna, apresentamos o conjunto de dados Seal-Tools, um novo conjunto de dados de aprendizado de ferramentas que inclui ferramentas do tipo API auto-instruídas. O Seal-Tools não só oferece uma ampla gama de ferramentas, mas também fornece instâncias práticas mostrando como essas ferramentas podem ser aplicadas. Usando um método de auto-instrução, geramos ferramentas e instâncias enquanto mantemos o controle de qualidade durante todo o processo.

O que é o Seal-Tools?

O Seal-Tools é um conjunto de dados inovador projetado pra facilitar o aprendizado de ferramentas pelos LLMs. Ele incorpora uma grande coleção de ferramentas e exemplos de como elas podem ser usadas. Uma das principais características do Seal-Tools é a inclusão de instâncias difíceis que exigem o uso de várias ferramentas pra completar uma tarefa. Essa complexidade se reflete em algumas instâncias que envolvem chamadas de ferramentas aninhadas.

Pra garantir uma avaliação precisa e abrangente dos modelos, projetamos controles de formato rigorosos e três métricas separadas focando em diferentes aspectos do uso das ferramentas. Assim, o Seal-Tools tem como objetivo estabelecer um novo benchmark pra avaliar as capacidades de chamada de ferramentas dos LLMs.

Desafios na Geração do Conjunto de Dados

Em nossos experimentos iniciais, tentamos gerar ferramentas e instâncias utilizando LLMs diretamente. Embora essa abordagem permitisse a criação rápida de conjuntos de dados, também trouxe problemas. Os modelos têm limitações no comprimento do contexto, resultando em ferramentas duplicadas e instâncias relativamente simples que poderiam ser resolvidas facilmente.

Além disso, garantir a correção das chamadas de ferramentas em cada instância provou ser desafiador devido a erros nas saídas dos modelos, muitas vezes referidos como "alucinações." Pra resolver esses desafios, desenvolvemos um método de auto-instrução que aproveita os LLMs pra criar o conjunto de dados Seal-Tools de forma confiável.

Método de Auto-Instrução

Nosso método de auto-instrução começa usando um LLM pra gerar um conjunto de campos relacionados a diferentes domínios. Cada campo corresponde a uma categoria distinta de ferramentas. A partir desses campos, geramos ferramentas específicas, seguindo uma abordagem estruturada pra evitar duplicação e aumentar a diversidade.

Uma vez que temos um bom pool de ferramentas, criamos instâncias em duas categorias: instâncias de ferramenta única e instâncias de múltiplas ferramentas. Instâncias de ferramenta única invocam apenas uma ferramenta, enquanto instâncias de múltiplas ferramentas envolvem várias ferramentas. Seguimos um processo em várias etapas, incorporando várias verificações ao longo do caminho pra minimizar erros causados pelas limitações do LLM.

As ferramentas e instâncias são descritas em um formato JSON rigoroso, garantindo que os dados estejam organizados e fáceis de avaliar.

Geração de Campos

O processo de geração de campos é crucial pra produzir ferramentas diversas. Inicialmente, não incluímos essa etapa na criação do nosso conjunto de dados. No entanto, encontramos repetições frequentes de ferramentas, nos levando a introduzir campos hierárquicos. Esse método permitiu gerar listas específicas de campos e subcampos, o que resultou na criação bem-sucedida de 146 campos e 5.860 subcampos.

Ao organizar as ferramentas de acordo com seus campos relevantes, aumentamos a diversidade e a qualidade geral do processo de Geração de Ferramentas.

Geração de Ferramentas

Nosso método de geração de ferramentas foca na criação de ferramentas eficazes que servem a propósitos específicos. Inicialmente, nosso objetivo era produzir um grande volume de ferramentas; no entanto, gerar instâncias apenas com base nas informações das ferramentas não trouxe resultados satisfatórios. Os modelos muitas vezes produziam ferramentas genéricas e repetitivas, sem qualidade.

Pra melhorar esse processo, decidimos gerar exemplos de valores de parâmetros simultaneamente enquanto criávamos as ferramentas. Ao direcionar os modelos pra "criar" entidades adequadas pra valores de parâmetros, vimos uma melhoria significativa na qualidade da saída gerada.

Depois de implementar essas mudanças, conseguimos gerar 4.076 ferramentas únicas, cada uma adaptada a um subcampo específico.

Geração de Instâncias

A etapa de geração de instâncias envolve a criação de consultas que mostram como as ferramentas podem ser utilizadas. Cada instância consiste em uma consulta do usuário e nas chamadas de ferramentas necessárias. Optamos por uma abordagem direta pra consultas, priorizando descrições de tarefas concisas.

Pra instâncias de ferramenta única, selecionamos uma ferramenta e preenchermos seus parâmetros com base nos valores gerados. Essa abordagem nos permitiu produzir 4.076 instâncias de ferramenta única de forma eficaz.

No caso das instâncias de múltiplas ferramentas, enfrentamos desafios com o formato da saída. Pra lidar com isso, dividimos o processo de geração em duas etapas. Primeiro, o modelo seleciona várias ferramentas que podem ser combinadas pra formar uma consulta coerente. Em seguida, o modelo preenche os valores dos parâmetros com base nas ferramentas escolhidas. Esse método gerou 10.000 instâncias de múltiplas ferramentas, incluindo um subconjunto com chamadas aninhadas.

Essas instâncias aninhadas contêm cadeias de chamadas de ferramentas, onde a saída de uma ferramenta se torna a entrada de outra, representando um cenário de aplicação mais realista.

Métricas de Avaliação

Atualmente, não existem métricas de avaliação padronizadas para tarefas de aprendizado de ferramentas. Pra resolver isso, elaboramos três principais métricas de avaliação: Acurácia de Formato, Precisão/Recall/F1 de Ferramentas, e Precisão/Recall/F1 de Parâmetros. A Acurácia de Formato avalia o quanto a saída do modelo se adere ao formato esperado. As métricas de seleção de ferramentas avaliam a capacidade do modelo de selecionar as ferramentas apropriadas, enquanto as métricas de parâmetros focam na precisão dos valores fornecidos pra cada ferramenta.

Essas métricas são fundamentais pra examinar de forma abrangente a proficiência dos LLMs em entender e utilizar ferramentas.

Resultados

Em nossos experimentos, ajustamos o modelo LLaMA2-7B usando o conjunto de dados Seal-Tools. Os resultados indicaram que os LLMs atuais ainda têm espaço pra melhorias, especialmente na manipulação de chamadas de ferramentas aninhadas. Nosso modelo ajustado, no entanto, apresentou um progresso considerável, superando sua linha de base e mostrando capacidades competitivas em relação a outros modelos populares como ChatGPT e GPT-4.

Ao avaliar instâncias de ferramenta única versus instâncias de múltiplas ferramentas, observamos um padrão consistente: os modelos geralmente se saíram melhor com instâncias de ferramenta única do que com instâncias de múltiplas ferramentas. Essa descoberta está alinhada com nossas expectativas, já que lidar com várias ferramentas geralmente apresenta um nível mais alto de complexidade.

As instâncias aninhadas se mostraram as mais desafiadoras pra os modelos resolverem, destacando a natureza exigente de aplicações do mundo real que requerem várias ferramentas em uma única resposta.

Análise de Erros

Entender os erros cometidos pelos modelos pode esclarecer áreas pra mais desenvolvimento. Categorizamos os tipos de erros, observando que os erros na seleção de ferramentas geralmente surgiam da dificuldade dos modelos em recuperar todas as ferramentas necessárias. Casos de alucinação também eram comuns, levando à geração de ferramentas que não existem.

Quanto aos erros de preenchimento de parâmetros, descobrimos que os modelos frequentemente omitiram parâmetros cruciais ou os preencheram com valores desnecessários. Alguns erros surgiram de uma falta de compreensão dos requisitos da consulta ou do formato em que os parâmetros deveriam ser apresentados.

Conclusão

Neste artigo, apresentamos o conjunto de dados Seal-Tools, um novo recurso projetado pra melhorar as capacidades de aprendizado de ferramentas dos LLMs. Nosso método de construção de conjunto de dados cuidadosamente controlado produz dados de alta qualidade, incluindo instâncias difíceis que aumentam o treinamento dos LLMs.

Os resultados da avaliação demonstram que os sistemas de agentes atuais podem ser refinados ainda mais. O Seal-Tools tem como objetivo servir como um novo benchmark no domínio do aprendizado de ferramentas, promovendo pesquisa e desenvolvimento contínuos nesta área.

Trabalho Futuro

Seguindo em frente, há várias maneiras de aprimorar o desempenho dos LLMs em tarefas de aprendizado de ferramentas. Primeiro, pretendemos refinar os métodos usados pra seleção de ferramentas, garantindo que todas as ferramentas necessárias sejam recuperadas de forma eficiente. Além disso, vamos explorar maneiras de mitigar os erros associados às alucinações durante as saídas dos modelos.

À medida que expandimos o conjunto de dados Seal-Tools, também planejamos investigar as capacidades de generalização dos modelos, avaliando o quanto eles conseguem se adaptar a vários cenários de aprendizado de ferramentas. Ao melhorar continuamente nosso conjunto de dados e métodos de avaliação, esperamos contribuir significativamente para o avanço dos LLMs em aplicações práticas.

O Seal-Tools serve como uma plataforma fundamental pra pesquisa contínua, oferecendo um conjunto de dados superior e uma estrutura de avaliação pra desenvolver agentes mais eficientes e capazes no futuro.

Fonte original

Título: Seal-Tools: Self-Instruct Tool Learning Dataset for Agent Tuning and Detailed Benchmark

Resumo: 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 .

Autores: Mengsong Wu, Tong Zhu, Han Han, Chuanyuan Tan, Xiang Zhang, Wenliang Chen

Última atualização: 2024-05-14 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2405.08355

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

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes