Эта статья AI представляет DSPy программную модель, которая абстрагирует конвейеры языковых моделей в виде графов преобразования текста.

Представляем вам программную модель DSPy AI, которая абстрагирует конвейеры языковых моделей, превращая их в графы преобразования текста.

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

Научное сообщество машинного обучения (МО) активно исследует методы создания подсказок для языковых моделей и разработки конвейеров для решения сложных задач. К сожалению, существующие конвейеры ЛМ часто основаны на заранее заданных “шаблонах подсказок”, которые являются длинными строками, определенными методом проб и ошибок. В своей стремительности к более системному подходу к разработке и оптимизации конвейеров ЛМ, команда исследователей из различных учреждений, включая Стэнфордский университет, представила DSPy – программную модель, которая абстрагирует конвейеры ЛМ в графы трансформации текста. Это, по сути, императивные вычислительные графы, в которых ЛМ вызываются через декларативные модули.

Модули в DSPy параметризованы, что означает, что они могут учиться применять комбинации методов подсказки, частичной настройки, увеличения и логического вывода путем создания и сбора демонстраций. Был разработан компилятор DSPy для оптимизации любого конвейера DSPy с целью максимизации указанной метрики.

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

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

Через два исследовательских случая было продемонстрировано, что краткие программы DSPy могут выражать и оптимизировать сложные конвейеры ЛМ, способные решать математические задачи, обрабатывать многошаговый поиск, отвечать на сложные вопросы и управлять циклами агентов. В течение нескольких минут после компиляции всего несколько строк кода DSPy позволяют создавать конвейеры, которые превосходят стандартные подсказки с небольшим числом примеров более чем на 25% и 65% соответственно.

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