Авторы:
(1) Кексун Чжан, Калифорнийский университет в Санта-Барбаре и равный вклад;
(2) Хунцяо Чен, Средняя школа Нортвуда и равный вклад;
(3) Лей Ли, Университет Карнеги-Меллон;
(4) Уильям Ян Ван, Калифорнийский университет, Санта-Барбара.
Большие языковые модели (LLM) показали многообещающие возможности использования внешних инструментов для решения сложных проблем. Однако существующие подходы включают либо тонкую настройку демонстрации инструментов, которая не распространяется на новые инструменты без дополнительного обучения, либо предоставление документации по инструментам в контексте, ограничивая количество инструментов. Оба подхода часто генерируют синтаксически недопустимые вызовы инструментов. В этой статье мы предлагаем TOOLDEC, алгоритм машинного декодирования с конечным числом состояний для LLM, дополненных инструментами. TOOLDEC устраняет ошибки, связанные с инструментом, для любых LLM, дополненных инструментами, обеспечивая допустимые имена инструментов и аргументы, соответствующие типу. Более того, TOOLDEC позволяет LLM эффективно выбирать инструменты, используя только информацию, содержащуюся в их названиях, без необходимости тонкой настройки или контекстной документации. Мы оценили несколько предыдущих методов и их расширенные с помощью TOOLDEC версии на различных задачах, включающих такие инструменты, как математические функции, отношения графов знаний и сложные реальные RESTful API. Наши эксперименты показывают, что TOOLDEC сводит синтаксические ошибки к нулю, следовательно, достигается значительно более высокая производительность и ускорение почти в 2 раза. Мы также показываем, что TOOLDEC достигает превосходной производительности обобщения на невидимых инструментах, работая до 8 раз лучше, чем базовые показатели [1]
Дополнение больших языковых моделей (LLM) внешними инструментами (Mialon et al., 2023) позволяет им решать сложные проблемы. Современные LLM могут использовать ретриверы (Shen et al., 2023; Gupta & Kembhavi, 2022; Schick et al., 2023), RESTful API (Qin et al., 2023; Song et al., 2023), программные интерпретаторы (Chen et al., 2023). al., 2022; Gao et al., 2023) и различные другие инструменты. Производительность LLM, дополненного инструментами, зависит от его способности принимать три ключевых решения: когда использовать инструмент, какой инструмент использовать и как вызывать инструмент. Существующие подходы учатся принимать эти решения посредством тонкой настройки или контекстного обучения.
Однако эти подходы по-прежнему приводят к ошибочным вызовам инструментов. Например, контекстное обучение может легко генерировать несуществующие названия инструментов, которых нет в инвентаре инструментов, поскольку несуществующие инструменты также могут выглядеть правдоподобно в качестве следующего токена (Song et al., 2023; Qin et al., 2023). . Точно настроенные модели, хотя обычно называют инструменты правильными именами, часто передают неверные аргументы нужным функциям инструментов (Hao et al., 2023), как и контекстное обучение. Более того, предыдущие подходы плохо распространяются на невидимые инструменты. Подходы к точной настройке требуют дополнительных обучающих данных и дальнейшей точной настройки для внедрения новых инструментов. Подходы к контекстному обучению требуют документирования инструментов в подсказках.
Для решения этих проблем мы предлагаем TOOLDEC — алгоритм декодирования, управляемый конечным автоматом (FSM), который обеспечивает правильный вызов инструментов LLM. Наша основная идея — явно представлять состояния во время декодирования LLM. Каждое состояние связано с допустимым набором токенов, соответствующих именам инструментов и аргументам инструментов. TOOLDEC переходит из состояния в состояние по мере выполнения декодирования. На каждом этапе декодирования TOOLDEC не осуществляет выборку из всего словаря языковой модели. Вместо этого он выбирает подмножество токенов, разрешенных текущим состоянием. FSM, который дает указания для TOOLDEC, построен на основе документации инструмента и подписи API, поэтому машина точно представляет грамматику вызовов инструмента. Таким образом, TOOLDEC всегда может генерировать
синтаксически правильные вызовы инструментов. На рисунке 1 показано, что LLM, улучшенный с помощью TOOLDEC, способен генерировать правильное умножение вызова функции с точными аргументами («3,14» и «123») и, следовательно, получает правильный результат, возвращаемый инструментом. Дополнительные примеры сравнения TOOLDEC и других инструментальных программ LLM можно найти в Приложении A.3.
Более того, TOOLDEC обобщает новые инструменты, которые никогда раньше не появлялись, и были гораздо более эффективными. В отличие от предыдущих подходов, которые требуют тонкой настройки или контекстного описания новых инструментов, TOOLDEC автоматически создает конечный автомат на основе сигнатуры API инструмента (его имени и типов аргументов) и добавляет его к существующему автомату. Тогда TOOLDEC сможет вызывать новые инструменты без тонкой настройки или контекстной демонстрации. Хотя предварительно обученные языковые модели могут генерировать имена инструментов по запросу, они часто галлюцинируют правдоподобные названия инструментов, которых нет в инвентаре. Компания TOOLDEC этого не делает. На рисунке 1 и произведение, и умножение кажутся правдоподобными для данного сценария, но в качестве инструмента используется только умножение. Поскольку TOOLDEC вызывает только существующие инструменты, он не будет галлюцинировать правдоподобный, но несуществующий инструмент и может полагаться на имена инструментов, чтобы найти правильный инструмент.
Вклад этой статьи можно резюмировать следующим образом:
• Мы предлагаем TOOLDEC, алгоритм декодирования с конечным состоянием, позволяющий специалистам LLM правильно использовать инструменты. TOOLDEC имеет два преимущества: генерируемые им вызовы инструментов гарантированно синтаксически корректны и эффективно обобщаются на невидимые инструменты.
• Мы эмпирически подтверждаем превосходную производительность TOOLDEC по сравнению с предыдущими сильными базовыми показателями на четырех различных наборах данных из разных областей. Наши обширные эксперименты показывают, что TOOLDEC устраняет все синтаксические ошибки и галлюцинационные названия инструментов, что приводит к повышению точности и сокращению времени вывода на целых 50%. Наши результаты также показывают, что TOOLDEC более чем в 8 раз лучше базовых показателей по математическим рассуждениям с помощью 9 невидимых инструментов и в 7 раз лучше, чем ответы на вопросы знаний с помощью 204 невидимых инструментов.
Этот документ доступен на arxiv под лицензией CC 4.0 DEED.
[1] Мы публикуем наш код и данные по адресу https://github.com/chenhongqiao/tooldec.