Multi-module GRPO: Composing Policy Gradients and Prompt Optimization for Language Model Programs

2508.04660v1 cs.CL 2025-08-09
Авторы:

Noah Ziems, Dilara Soylu, Lakshya A Agrawal, Isaac Miller, Liheng Lai, Chen Qian, Kaiqiang Song, Meng Jiang, Dan Klein, Matei Zaharia, Karel D'Oosterlinck, Christopher Potts, Omar Khattab

Резюме на русском

Многомодульная версия Group Relative Policy Optimization (mmGRPO) предлагает улучшение метода Group Relative Policy Optimization (GRPO), который применяется для оптимизации пост-тренировочных языковых моделей (LMs). Однако, AI-системы часто выражаются в виде модульных программ, сочетающих несколько вызовов LM с разными модулями, промпто-шаблонами и инструментами. Ранее не было ясно, как лучше всего использовать GRPO для оптимизации таких модульных систем. mmGRPO расширяет GRPO, обеспечивая группировку вызовов LM по модулям на протяжении роллаутов и учитывая переменную длину и прерывистую траекторию. Это решение позволило повысить точность на 11% в среднем при выполнении задач классификации, многохоп-поиска и приватной делегирования, а также на 5% по сравнению с оптимизацией промптов. Метод open-source в DSPy как `dspy.GRPO`.

Abstract

Group Relative Policy Optimization (GRPO) has proven to be an effective tool for post-training language models (LMs). However, AI systems are increasingly expressed as modular programs that mix together multiple LM calls with distinct prompt templates and other tools, and it is not clear how best to leverage GRPO to improve these systems. We begin to address this challenge by defining mmGRPO, a simple multi-module generalization of GRPO that groups LM calls by module across rollouts and handles variable-length and interrupted trajectories. We find that mmGRPO, composed with automatic prompt optimization, improves accuracy by 11% on average across classification, many-hop search, and privacy-preserving delegation tasks against the post-trained LM, and by 5% against prompt optimization on its own. We open-source mmGRPO in DSPy as the dspy.GRPO optimizer.

Ссылки и действия