Autores:
(1) Kexun Zhang, UC Santa Bárbara e contribuição igual;
(2) Hongqiao Chen, Northwood High School e contribuição igual;
(3) Lei Li, Universidade Carnegie Mellon;
(4) William Yang Wang,UC Santa Bárbara.
Grandes modelos de linguagem (LLMs) mostraram capacidades promissoras no uso de ferramentas externas para resolver problemas complexos. No entanto, as abordagens existentes envolvem o ajuste fino nas demonstrações de ferramentas, o que não pode ser generalizado para novas ferramentas sem formação adicional, ou o fornecimento de documentação de ferramentas no contexto, limitando o número de ferramentas. Ambas as abordagens geralmente geram chamadas de ferramenta sintaticamente inválidas. Neste artigo, propomos o TOOLDEC, um algoritmo de decodificação guiado por máquina de estado finito para LLMs aumentados por ferramenta. TOOLDEC elimina erros relacionados a ferramentas para qualquer LLMs aumentados de ferramenta, garantindo nomes de ferramentas válidos e argumentos em conformidade com o tipo. Além disso, o TOOLDEC permite que o LLM selecione ferramentas de forma eficaz usando apenas as informações contidas em seus nomes, sem necessidade de ajuste fino ou documentação contextual. Avaliamos vários métodos anteriores e suas versões aprimoradas com TOOLDEC em uma variedade de tarefas envolvendo ferramentas como funções matemáticas, relações de gráficos de conhecimento e APIs RESTful complexas do mundo real. Nossos experimentos mostram que o TOOLDEC reduz os erros sintáticos a zero, conseqüentemente alcançando um desempenho significativamente melhor e uma aceleração de até 2x. Também mostramos que o TOOLDEC alcança desempenho de generalização superior em ferramentas inéditas, com desempenho até 8x melhor que as linhas de base [1]
Aumentar grandes modelos de linguagem (LLMs) com ferramentas externas (Mialon et al., 2023) permite-lhes resolver problemas complexos. Os LLMs atuais podem utilizar recuperadores (Shen et al., 2023; Gupta & Kembhavi, 2022; Schick et al., 2023), APIs RESTful (Qin et al., 2023; Song et al., 2023), intérpretes de programas (Chen et al., 2023; Song et al., 2023), intérpretes de programas (Chen et al., 2023; Song et al., 2023). al., 2022; Gao et al., 2023) e diversas outras ferramentas. O desempenho de um LLM aumentado por ferramenta depende de sua capacidade de tomar três decisões importantes: quando usar uma ferramenta, qual ferramenta usar e como invocar uma ferramenta. As abordagens existentes aprendem a tomar essas decisões por meio de ajuste fino ou aprendizagem contextual.
No entanto, essas abordagens ainda geram chamadas de ferramentas erradas. Por exemplo, a aprendizagem em contexto pode facilmente gerar nomes de ferramentas inexistentes que não estão no inventário de ferramentas porque ferramentas inexistentes também podem parecer plausíveis como o próximo token (Song et al., 2023; Qin et al., 2023) . Modelos ajustados, embora geralmente chamem as ferramentas pelos nomes corretos, muitas vezes passam argumentos inválidos para as funções corretas da ferramenta (Hao et al., 2023), assim como faz a aprendizagem no contexto. Além disso, as abordagens anteriores não generalizam bem para ferramentas invisíveis. As abordagens de ajuste fino necessitam de dados de treinamento adicionais e de mais ajustes para adotar novas ferramentas. As abordagens de aprendizagem em contexto exigem documentação da ferramenta nos prompts.
Para resolver esses problemas, propomos o TOOLDEC, um algoritmo de decodificação guiado por uma máquina de estados finitos (FSM) para garantir que os LLMs invoquem as ferramentas de maneira adequada. Nosso principal insight é representar explicitamente os estados durante a decodificação do LLM. Cada estado está associado a um conjunto válido de tokens correspondentes a nomes e argumentos de ferramentas. O TOOLDEC faz a transição de estado para estado à medida que a decodificação avança. Em cada etapa de decodificação, o TOOLDEC não coleta amostras de todo o vocabulário do modelo de linguagem. Em vez disso, ele faz amostras de um subconjunto de tokens permitidos pelo estado atual. O FSM que orienta o TOOLDEC é construído a partir da documentação da ferramenta e da assinatura da API para que a máquina represente com precisão a gramática das chamadas da ferramenta. Desta forma, a TOOLDEC consegue sempre gerar
chamadas de ferramenta sintaticamente corretas. A Figura 1 ilustra que um LLM aprimorado pelo TOOLDEC é capaz de gerar a multiplicação correta da chamada de função com argumentos precisos (“3.14” e “123”) e, portanto, obtém o resultado correto retornado pela ferramenta. Mais exemplos comparando o TOOLDEC e outros LLMs de ferramentas podem ser encontrados no Apêndice A.3.
Além disso, o TOOLDEC generaliza para novas ferramentas que nunca apareceram antes com muito mais eficiência. Ao contrário das abordagens anteriores que exigem ajustes finos ou descrições contextualizadas de novas ferramentas, o TOOLDEC constrói automaticamente uma máquina de estado finito a partir da assinatura da API de uma ferramenta (seu nome e tipos de argumentos) e a adiciona ao FSM existente. TOOLDEC é então capaz de chamar novas ferramentas sem ajuste fino ou demonstração no contexto. Embora modelos de linguagem pré-treinados possam gerar nomes de ferramentas quando solicitados, eles geralmente alucinam nomes de ferramentas plausíveis que não estão no inventário. TOOLDEC não faz isso. Na Figura 1, tanto o produto quanto a multiplicação parecem plausíveis para o cenário, mas apenas a multiplicação é uma determinada ferramenta. Como o TOOLDEC apenas chama ferramentas existentes, ele não terá alucinações com uma ferramenta plausível, mas inexistente, e poderá confiar nos nomes das ferramentas para encontrar a ferramenta certa.
As contribuições deste artigo podem ser resumidas da seguinte forma:
• Propomos o TOOLDEC, um algoritmo de decodificação de estado finito para capacitar LLMs a usar ferramentas adequadamente. TOOLDEC desfruta de duas vantagens: suas chamadas de ferramentas geradas são garantidamente sintaticamente corretas e generaliza para ferramentas invisíveis de forma eficiente.
• Verificamos empiricamente o desempenho superior do TOOLDEC em comparação com fortes linhas de base anteriores em quatro conjuntos de dados diversos de diferentes domínios. Nossos extensos experimentos mostram que o TOOLDEC elimina todos os erros de sintaxe e nomes de ferramentas alucinados, resultando em melhor precisão e até 50% menos tempo de inferência. Nossos resultados também indicam que o TOOLDEC é mais de 8x melhor do que as linhas de base no raciocínio matemático com 9 ferramentas invisíveis e 7x melhor do que a resposta a perguntas de conhecimento com 204 ferramentas invisíveis.
Este artigo está disponível no arxiv sob licença CC 4.0 DEED.
[1] Divulgamos nosso código e dados em https://github.com/chenhongqiao/tooldec.