paint-brush
Синтаксические ошибки и универсальное использование инструмента для LLM: ToolDec устраняет синтаксические ошибкик@textmodels
218 чтения

Синтаксические ошибки и универсальное использование инструмента для LLM: ToolDec устраняет синтаксические ошибки

Слишком долго; Читать

Исследователи предлагают TOOLDEC, машинное декодирование с конечным числом состояний для LLM, уменьшающее количество ошибок и улучшающее использование инструментов.
featured image - Синтаксические ошибки и универсальное использование инструмента для LLM: ToolDec устраняет синтаксические ошибки
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

Авторы:

(1) Кексун Чжан, Калифорнийский университет в Санта-Барбаре и равный вклад;

(2) Хунцяо Чен, Средняя школа Нортвуда и равный вклад;

(3) Лей Ли, Университет Карнеги-Меллон;

(4) Уильям Ян Ван, Калифорнийский университет, Санта-Барбара.

Таблица ссылок

4. ЭКСПЕРИМЕНТ I: TOOLDEC УСТРАНЯЕТ СИНТАКСИСНЫЕ ОШИБКИ

В этом разделе мы покажем, что TOOLDEC может устранять синтаксические ошибки при генерации вызовов инструментов. Мы выбрали два последних базовых уровня — ToolLLM и ToolkenGPT, представляющие парадигму контекстного обучения и тонкой настройки, чтобы продемонстрировать возможности TOOLDEC. Поскольку настройки использования инструментов для двух базовых показателей различны и не могут быть применены друг к другу, мы тестируем производительность TOOLDEC отдельно для двух базовых показателей, используя тесты из оригинальных статей. Путем обширных экспериментов мы показываем, что TOOLDEC может полностью устранить синтаксические ошибки, что приводит к повышению точности и сокращению времени вывода.

4.1 БАЗОВЫЕ ПОЛОЖЕНИЯ И ОЦЕНКИ

ToolLLM (Цинь и др., 2023). ToolLLM — это подход к контекстному обучению языковых моделей, дополненных инструментами. Для использования инструментов он использует настроенную на инструкции модель LLaMA-7B (Touvron et al., 2023). Учитывая инструкцию на естественном языке для задачи, зависящей от инструмента, средство извлечения API сначала извлекает небольшое подмножество соответствующих функций. Текстовое описание и схема этих соответствующих функций доступны в контексте. Затем ToolLLM выполняет многоэтапный процесс рассуждения, используя функции для получения окончательного ответа.


ToolLLM оценивается с помощью ToolEval, набора данных, предложенного в той же статье. ToolEval содержит задачи, включающие огромный набор (более 10 000) общедоступных API REST. Для оценки нашего метода мы используем самые сложные подмножества ToolEval — I2-Category и I3-Instruction. Они содержат задачи, для решения которых требуются сложные и невидимые инструменты из нескольких категорий (таких как геолокация, дата/время и другие). В среднем для задачи категории I2 требуется 6,76 инструментов, а для задачи категории I3 — 8,24 инструмента. ToolEval имеет два основных показателя: Процент успешности измеряет процент задач, для которых модель дает ответ за определенное количество шагов рассуждения. WinRate использует автоматический оценщик, основанный на LLM, который следует заранее определенному набору критериев для лучшего пути. Он сравнивает качество и правильность базовых ответов с эталонным ответом, полученным ChatGPT. Цинь и др. (2023) обнаружили, что автоматический оценщик имеет высокую корреляцию 75,8% с аннотаторами-людьми. Помимо этих двух показателей, мы также измеряем коэффициент ошибок инструмента — долю задач, в которых имеется хотя бы одна ошибка, связанная с инструментом.


ToolkenGPT (Хао и др., 2023). ToolkenGPT — это подход к тонкой настройке использования инструментов. ToolkenGPT представляет каждый инструмент как специальный токен и оптимизирует только внедрение токенов инструментов для их использования. Во время вывода ToolkenGPT вызывает инструмент, как только прогнозируется соответствующий специальный токен. Во время вызова инструмента он передает аргументы, обучаясь на контекстных демонстрациях. ToolkenGPT использует LLaMA-33B (Touvron et al., 2023) в качестве базовой модели.


Таблица 3: Результаты ToolEval. ToolLLM, улучшенный с помощью TOOLDEC, превзошел базовые показатели ToolLLM по всем показателям. TOOLDEC устранил все ошибки инструмента и даже смог немного обойти ChatGPT.


4.2 ИНТЕГРАЦИЯ TOOLDEC С БАЗОВЫМИ МОДЕЛЯМИ

ИнструментLLM+TOOLDEC. Следуя Цинь и др. (2023) мы используем ReAct (Yao et al., 2023) для планирования вызовов инструментов ToolLLM. Это соответствует второму случаю переключения режимов в разделе 3.2. FSM для ToolLLM состоит из трех частей. Во-первых, это формат FSM, который реализует синтаксис ReAct «Мысль, Действие, Действие». После декодирования «Действие:» этот автомат переходит в начальное состояние имени функции FSM, что гарантирует, что декодированное имя функции всегда допустимо. Мы также создали аргумент функции FSM на основе JSON. Мы позволили LLM обдумать 5 шагов, прежде чем он должен объявить завершающее действие, которое будет считаться «пройденным».


ИнструменткенGPT+TOOLDEC. Поскольку ToolkenGPT использует специальные токены для вызова инструментов, TOOLDEC применяется только для обеспечения синтаксиса аргументов. В этом эксперименте наш автомат гарантирует, что каждый аргумент является допустимым числом и аргументы разделены запятыми. Это также гарантирует, что фактическое количество аргументов, переданных функции, будет именно тем числом, которое ей необходимо. Мы сравнили TOOLDEC с двумя вариантами базового уровня в работе Hao et al. (2023), один с обратным следом, другой без. Backtrace пытается избежать неудачных вызовов инструмента, позволяя LLM вернуться и попробовать следующий возможный токен вместо неудачного вызова инструмента. Чтобы оценить TOOLDEC, мы сообщаем среднее время вывода на одну проблему и частоту ошибок инструмента в дополнение к точности.

4.3 РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА

TOOLDEC совершенствует инструмент контекстного обучения LLM. В Таблице 3 показаны результаты компании TOOLDEC в исследовании ToolEval. Компания TOOLDEC достигла 55% побед по категории I2 и 60% по инструкциям I3. В качестве замены исходному алгоритму декодирования TOOLDEC устранил все три типа ошибок, связанных с инструментом, и достиг наилучшего процента побед и проходимости, даже превзойдя ChatGPT.


Высокая частота ошибок инструмента в базовых версиях предполагает, что даже после точной настройки инструкций ToolLLM по-прежнему не имеет возможности точно вызывать внешние инструменты из документации инструмента. Эта неспособность более заметна, когда имеется большое разнообразие доступных инструментов, как в I3-Instruction. Более того, эти ошибки существенно повлияли на способность модели выполнять задачи.


Рисунок 4. Частота ошибок трех типов ошибок, связанных с инструментом, по отношению к общему количеству вызовов инструмента. Компания TOOLDEC свела к нулю все три ошибки, связанные с инструментами.


На рисунке 4 мы представляем частоту ошибок каждого типа ошибок в двух тестах. Для ToolLLM ошибка имени, то есть вызов несуществующего инструмента, была наиболее распространенной синтаксической ошибкой при вызове инструмента. Компания TOOLDEC полностью устранила все три ошибки.



Поскольку галлюцинация имени функции является наиболее распространенной ошибкой, связанной с инструментом, немного лучшим базовым вариантом было смягчить ее с помощью нечеткого сопоставления по суффиксу. Мы представляем результаты базового плана с нечетким сопоставлением как ToolLLM + Fuzzy Matching и без него как ToolLLM. Это смягчение увеличило процент проходимости, но мало повлияло на процент побед, как видно из Таблицы 3, поскольку часто можно было выбрать неправильные API, когда модель не могла точно вызвать нужный ей инструмент. В целом, наши эксперименты с ToolLLM показывают, что TOOLDEC очень эффективен при LLM для контекстного обучения. В следующем базовом тесте ToolkenGPT мы показываем, что TOOLDEC также полезен для точной настройки инструментов LLM.


TOOLDEC совершенствует инструменты точной настройки LLM. В таблице 4 показаны результаты FuncQAmulti. Хотя ToolkenGPT исключает возможность вызова несуществующих имен инструментов за счет тонкой настройки специального встраивания токена, он все равно может страдать от других синтаксических ошибок, о чем свидетельствует уровень ошибок инструмента в 27,9%. В качестве замены TOOLDEC повысил точность ToolkenGPT, но при этом стал намного быстрее в выводе. Хотя ToolkenGPT + backtrace достиг немного большей точности, чем TOOLDEC, на тестирование разных инструментов ушло в два раза больше времени. Обратите внимание: поскольку TOOLDEC устранил все ошибки инструмента, не было ни одного неудачного вызова инструмента для повторной попытки обратной трассировки. Результаты подчеркивают актуальность ошибок, связанных с инструментами, и применимость TOOLDEC как для недавнего контекстного обучения, так и для тонкой настройки LLM, дополненных инструментами.


Этот документ доступен на arxiv под лицензией CC 4.0 DEED.