Умный помощник для больших языковых моделей

Большие языковые модели (БЯМ) превосходно используют текстовые рассуждения для понимания контекста документа и предоставления логических ответов о его содержании. Однако они часто испытывают трудности с решением даже простейших математических задач.

Текстовые рассуждения обычно не лучший способ для решения вычислительных или алгоритмических задач. Хотя некоторые БЯМ могут генерировать код, например, на Python, для обработки символьных запросов, модели не всегда знают, когда использовать код и какой код будет наиболее эффективным.

В чём нуждается БЯМ?

Похоже, БЯМ может понадобиться тренер, который поможет им выбрать наилучшую технику.

И вот CodeSteer — умный помощник, разработанный исследователями MIT, который направляет БЯМ на переключение между генерацией кода и текста, пока модель не даст правильный ответ на запрос.

CodeSteer, сам по себе являющийся небольшой языковой моделью, автоматически генерирует серию подсказок, чтобы итеративно направлять более крупную языковую модель. Он анализирует текущие и предыдущие ответы модели после каждого раунда и даёт указания, как модель может исправить или усовершенствовать решение, пока не сочтёт ответ правильным.

Исследователи обнаружили, что добавление к более крупной БЯМ помощника CodeSteer повысило её точность в решении символьных задач, таких как умножение чисел, игра в судоку и складывание блоков, более чем на 30 процентов. Это также позволило менее продвинутым моделям превзойти более продвинутые модели с улучшенными навыками рассуждения.

Улучшение возможностей решения проблем

Этот прогресс может улучшить возможности БЯМ для решения сложных задач, которые особенно трудно решить с помощью одних только текстовых рассуждений, например, для генерации путей для роботов в неопределённых условиях или планирования поставок в международной цепочке поставок.

«Существует гонка за разработкой всё более совершенных моделей, способных делать всё, но мы выбрали дополнительный подход. Исследователи потратили годы на разработку эффективных технологий и инструментов для решения проблем во многих областях. Мы хотим, чтобы БЯМ могли выбирать правильные инструменты и методы и использовать опыт других для расширения своих собственных возможностей», — говорит Чучу Фань, доцент кафедры аэронавтики и астронавтики (AeroAstro) и главный исследователь в Лаборатории информационных и управляющих систем MIT (LIDS).

Тренер для БЯМ

Попросите БЯМ определить, какое число больше: 9,11 или 9,9, и она часто даст неправильный ответ, используя текстовые рассуждения. Но попросите её использовать код для ответа на тот же вопрос, и она может сгенерировать и выполнить скрипт на Python для сравнения двух чисел, легко решив задачу.

Изначально обученные понимать и предсказывать человеческий язык, БЯМ с большей вероятностью будут отвечать на запросы, используя текст, даже когда код был бы более эффективным. И хотя они научились генерировать код посредством тонкой настройки, эти модели часто генерируют неправильную или менее эффективную версию кода.

Вместо того чтобы пытаться переобучить мощную БЯМ вроде GPT-4 или Claude для улучшения этих возможностей, исследователи MIT настраивают более мелкую и лёгкую языковую модель, чтобы направлять более крупную модель между текстом и кодом. Тонкая настройка более мелкой модели не меняет более крупную БЯМ, поэтому нет риска, что это подорвёт другие способности более крупной модели.

«Мы также были вдохновлены людьми. В спорте тренер может быть не лучше, чем звёздный спортсмен в команде, но тренер всё равно может дать полезные указания, чтобы направить спортсмена. Этот метод управления работает и для БЯМ», — говорит Чэнь.

Этот тренер, CodeSteer, работает совместно с более крупной языковой моделью. Сначала он анализирует запрос и определяет, подходит ли текст или код для решения этой задачи и какой код будет лучшим.

Затем он генерирует подсказку для более крупной языковой модели, предлагая ей использовать метод кодирования или текстовые рассуждения для ответа на запрос. Более крупная модель следует этой подсказке, чтобы ответить на запрос, и отправляет результат обратно в CodeSteer, который его анализирует.

Если ответ неправильный, CodeSteer продолжит предлагать языковой модели попробовать разные варианты, которые могут решить проблему, например, включить алгоритм поиска или ограничение в свой код на Python, пока ответ не будет правильным.

«Мы обнаружили, что более крупная БЯМ часто пытается быть ленивой и использует более короткий, менее эффективный код, который не будет выполнять правильный символьный расчёт. Мы разработали CodeSteer, чтобы избежать этого явления», — говорит Чэнь.

Решение сложных задач

В будущем исследователи хотят оптимизировать CodeSteer, чтобы ускорить его итеративный процесс подсказок. Кроме того, они изучают, как эффективно настроить унифицированную модель со способностью переключаться между текстовыми рассуждениями и генерацией кода, вместо того чтобы полагаться на отдельного помощника.

«Авторы представляют элегантное решение для решения важнейшей задачи использования инструментов в БЯМ. Этот простой, но эффективный метод позволяет современным БЯМ добиться значительных улучшений производительности, не требуя прямой настройки», — говорит Джинсунг Юн, научный сотрудник Google Cloud AI, который не участвовал в этой работе.

«Их успех в обучении более мелкой специализированной модели для стратегического управления более крупными продвинутыми моделями особенно впечатляет», — добавляет Чи Ван, старший научный сотрудник Google DeepMind, который не участвовал в этой работе.

Это исследование частично поддержано Управлением военно-морских исследований США и MIT-IBM Watson AI Lab.

1. Какие проблемы больших языковых моделей решает CodeSteer?

CodeSteer решает проблему выбора наиболее эффективной техники для решения задачи: текстовых рассуждений или генерации кода. Он помогает большим языковым моделям (БЯМ) переключаться между этими двумя подходами, чтобы достичь более точного и эффективного решения.

2. Каким образом CodeSteer улучшает точность решения символьных задач БЯМ?

CodeSteer улучшает точность решения символьных задач БЯМ путём анализа текущих и предыдущих ответов модели и предоставления ей указаний, как исправить или усовершенствовать решение. Это позволяет БЯМ более точно решать задачи, которые трудно решить с помощью одних только текстовых рассуждений.

3. Какие перспективы открывает использование CodeSteer для решения сложных задач?

Использование CodeSteer открывает перспективы для решения сложных задач, которые трудно решить с помощью одних только текстовых рассуждений. Например, это может быть генерация путей для роботов в неопределённых условиях или планирование поставок в международной цепочке поставок.

4. В чём заключается преимущество использования более мелкой языковой модели для управления более крупной?

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

5. Какие планы у исследователей по оптимизации CodeSteer в будущем?

В будущем исследователи планируют оптимизировать CodeSteer, чтобы ускорить его итеративный процесс подсказок. Кроме того, они изучают, как эффективно настроить унифицированную модель со способностью переключаться между текстовыми рассуждениями и генерацией кода, вместо того чтобы полагаться на отдельного помощника.

Источник

Оставьте комментарий