O notável sucesso da série O1 e Deepseek-R1 do OpenAI demonstrou inequivocamente o poder do aprendizado de reforço em larga escala (RL) na obtenção de comportamentos sofisticados de raciocínio e aprimorando significativamente as capacidades de grandes modelos de linguagem (LLMs).
No entanto, as metodologias principais de treinamento por trás desses modelos de raciocínio inovador geralmente permanecem veladas em seus relatórios técnicos. Esforços recentes da comunidade se concentraram predominantemente no raciocínio matemático, deixando o desafio da generalização entre domínios amplamente inexplorada. Além disso, o aprendizado de reforço padrão com o treinamento de otimização de preferências (GRPO) é atormentado por questões comuns, como gargalos de desempenho, utilização ineficiente de amostras e dificuldades no cultivo de habilidades de raciocínio especializado ao lidar com conjuntos de dados de domínio misto. Esses desafios complicam a escala efetiva dos métodos RL para o LLMS.
Abordando essas limitações, pesquisadores da equipe de Kwaipilot em Kuaishou introduziram uma nova estrutura de aprendizado de reforço: Otimização de políticas de amostragem histórica de duas etapas (SRPO). Essa abordagem inovadora foi projetada para enfrentar sistematicamente os desafios de treinamento acima mencionados em várias dimensões. A equipe divulgou publicamente um relatório técnico detalhando os meandros de seu método de treinamento e também de código aberto SRPO-QWEN-32B modelo.
Notavelmente, este trabalho marca o Primeira instância para alcançar o desempenho do nível Deepseek-R1-zero, simultaneamente em domínios matemáticos e de código. Ao alavancar o mesmo modelo básico que o DeepSeek (QWEN2.5-32B) e empregar uma abordagem de treinamento de aprendizado puramente de reforço, a SRPO alcançou resultados impressionantes nos benchmarks AIME24 (50) e LiveCodeBench (41.6), superando o desempenho de Deepseek-R1-zero-32b.
Ainda mais notavelmente, o SRPO alcança esse nível de desempenho apenas com um décimo das etapas de treinamento exigido por r1-zero.
Desafios com baunilha GRPO
Nas suas explorações iniciais, a equipe Kwaipilot experimentou o algoritmo GRPO padrão. No entanto, eles rapidamente encontraram gargalos que impediram o modelo de atingir os níveis desejados de desempenho R1-zero. Essas questões incluídas:
- Conflitos de otimização de domínio cruzado (matemática vs. código): Problemas matemáticos tendem a provocar trajetórias de raciocínio mais longas e mais detalhadas (berço longo), enquanto os dados do código exibem uma inclinação mais fraca para isso. Mixar diretamente esses dois tipos de dados levou a conflitos, resultando em desempenho abaixo do ideal em ambos os domínios.
- Eficiência reduzida de treinamento devido a recompensas de grupo semelhantes: O algoritmo GRPO depende da variação das recompensas diferentes de zero dentro de um grupo amostrado para calcular a vantagem. Quando os lançamentos dentro de um grupo produzem valores de recompensa quase idênticos, a vantagem calculada se aproxima de zero. Se uma parte significativa do lote de treinamento exibir esse fenômeno, contribuições eficazes de gradiente se tornarão mínimas, reduzindo drasticamente a eficiência do treinamento.
- Saturação prematura de desempenho: O treinamento da GRPO encontrou platôs de desempenho precoce e saturação de recompensa nas avaliações de referência. Este problema foi parcialmente atribuído à qualidade insuficiente dos dados. Quando os dados de treinamento carecem de complexidade ou diversidade suficientes, particularmente com uma abundância de problemas mais simples, o modelo tende a manter conservadoramente seu desempenho em tarefas mais fáceis, dificultando sua capacidade de desenvolver o raciocínio complexo e aprofundado necessário para problemas desafiadores.
Treinamento de dois estágios
Para abordar os conflitos inerentes à duração da resposta entre os domínios matemática e de código, a equipe Kwaipilot implementou um paradigma de treinamento em duas etapas:
- Etapa 1: Provocando habilidades de raciocínio: Essa fase de treinamento inicial se concentra exclusivamente em desafiar dados matemáticos. O objetivo principal é incentivar completamente a escala de tempo de teste do modelo, promovendo recursos como pausas reflexivas, retrocesso e decomposição passo a passo.
- Etapa 2: Integração de habilidades: Nesta fase, os dados do código são introduzidos no processo de treinamento. Com base na fundação de raciocínio estabelecida no estágio 1, esta fase visa melhorar ainda mais as habilidades de codificação, enquanto fortalece progressivamente as capacidades de pensamento processual, recursão e chamada de ferramentas.
Análise comparativa de estratégias de treinamento
O impacto de diferentes estratégias de dados de treinamento no comprimento da resposta foi analisado, revelando as seguintes informações:
- Treinamento misto: Os modelos treinados em uma mistura de dados de matemática e código mostraram crescimento limitado no comprimento da resposta e baixo desempenho de referência. Embora os problemas matemáticos tenham provocado alguns padrões de raciocínio, os problemas de código geralmente resultaram em respostas curtas e diretas focadas na saída imediata do código com análise ou planejamento preliminar mínimo.
- Treinamento somente matemático: O treinamento apenas em dados matemáticos levou a um aumento estável na duração da resposta e ao excelente desempenho nos benchmarks matemáticos. Fundamentalmente, promoveu habilidades de raciocínio fortes e generalizáveis; Quando confrontado com as tarefas de programação, o modelo tentou raciocínio detalhado e passo a passo, incluindo etapas meticulosas de verificação e revisitar na solução de problemas matemáticos.
- Treinamento somente de código: Embora mostre melhor desempenho nos benchmarks de código, o desenvolvimento de comportamento explícito de raciocínio foi mínimo e a obtenção de aumentos significativos no comprimento da resposta se mostrou difícil. As respostas aos problemas de código e matemática foram visivelmente mais curtas em comparação com o treinamento somente matemático, com as soluções de código geralmente sendo geradas diretamente sem raciocínio passo a passo substancial ou análise inicial.
- Treinamento encenado: A abordagem de treinamento em dois estágios proposta pela equipe de Kwaipilot produziu resultados superiores em domínios matemáticos e de programação. O modelo gerou consistentemente o raciocínio detalhado passo a passo para problemas matemáticos e padrões de raciocínio estruturado para tarefas de programação. Notavelmente, surgiram comportamentos complexos, como o modelo que utiliza espontaneamente o código para ajudar no raciocínio matemático.
Reamostragem histórica
A equipe de Kwaipilot observou que, durante os estágios meados do treinamento, quase 50% dos grupos amostrados em um lote produziam recompensas idênticas. Isso geralmente ocorreu quando o modelo conseguiu constantemente os problemas mais fáceis, levando a variação mínima de recompensa e atualizações ineficazes de gradiente.
Para abordar essa ineficiência e melhorar a qualidade do sinal de gradiente, eles introduziram Reamostragem histórica. Durante o treinamento, eles registraram os resultados de recompensa de todos os lançamentos em cada época. No final de uma época, eles reconstruíram o conjunto de dados para a próxima época com base nos seguintes critérios:
- Filtrando amostras excessivamente simples: Amostras em que todos os lançamentos resultaram em respostas corretas foram excluídas, pois não forneceram sinal informativo para a melhoria da política.
- Mantendo amostras informativas: Amostras com resultados diversos (corretos e incorretos) ou todos os resultados incorretos foram mantidos. Essas amostras geraram variação positiva de recompensa, garantindo vantagens diferentes de zero e sinais de gradiente eficazes. Além disso, também foram mantidas amostras difíceis em que todos os lançamentos estavam incorretos na época atual. A lógica é que esses problemas inicialmente desafiadores podem se tornar relativamente mais fáceis para a política atualizada, gerando gradientes eficazes no treinamento subsequente. Essa estratégia se alinha ao princípio do aprendizado do currículo, expondo gradualmente o modelo a amostras cada vez mais desafiadoras, em média, para aumentar a eficiência do treinamento.
Comparado ao método de amostragem dinâmica proposto no DAPO, a reamostragem da história melhorou significativamente a eficiência computacional e resultou em um crescimento mais estável do comprimento da resposta.
Dados
A equipe da Kwaipilot realizou a meticulosa limpeza e filtragem de dados em conjuntos de dados de código e matemática disponíveis ao público. Eles aplicaram regras heurísticas para filtrar URLs irrelevantes, formatando o ruído e garantiu a integridade dos campos centrais (Pergunta e resposta da verdade fundamental) nos dados originais. Seguindo a abordagem de limpeza de dados do Prime para dados matemáticos, eles removeram perguntas de várias partes, problemas de prova pura e aqueles que exigem entendimento de imagem ou tabela. Para dados de código, eles excluíram problemas dependentes de ambientes específicos, E/S de arquivo ou interações de rede, com foco na lógica algorítmica.
Antes da ingestão de dados, eles realizaram a verificação de correção para problemas de matemática e código para garantir a precisão e a solvabilidade das respostas, descartando aqueles com soluções incorretas ou ambíguas. Posteriormente, eles avaliaram a dificuldade de cada problema, categorizando -os em níveis fáceis, médios e difíceis com base na taxa de aprovação (pass@k).
Resultados experimentais
Esta seção detalha os resultados experimentais obtidos usando o método SRPO. A equipe de Kwaipilot se concentrou em observar as mudanças nas recompensas e métricas, como o comprimento da resposta durante o treinamento.
Processo de treinamento
A figura acima ilustra a curva de recompensa completa e a curva de comprimento de resposta durante o treinamento SRPO. Após o crescimento inicial da recompensa, o treinamento passou para o segundo estágio. No início da segunda etapa, a recompensa geral diminuiu devido à falta anterior de treinamento do modelo, seguida de um aumento constante na recompensa durante o treinamento subsequente. A integração de dados de código não aumentou significativamente o comprimento da resposta, que alinhou com suas expectativas. Simultaneamente, os resultados de referência indicaram uma melhoria contínua e estável nas habilidades matemáticas e de codificação do modelo, demonstrando a eficácia do novo método.
Especificamente, a reamostragem histórica garantiu que as atualizações do gradiente permanecessem efetivas em cada etapa de treinamento, aumentando diretamente a proporção de gradientes informativos. Essa eficiência aprimorada de amostragem levou ao crescimento estável da recompensa, mostrando claramente a eficiência de treinamento aprimorada alcançada pela estratégia de reamostragem.
Comportamentos de raciocínio
A equipe de Kwaipilot identificou três padrões reflexivos representativos: verifique, novamente, hesitação e exploração. Eles analisaram estatisticamente as respostas contendo esses padrões e registraram o comprimento médio da resposta para cada um. Durante o treinamento de RL, eles observaram um aumento gradual na frequência da auto-reflexão, correção e retrocesso do modelo, indicando o surgimento de uma capacidade de “auto-verificação”. Eles afirmam que o surgimento de “reflexão”, semelhante aos processos cognitivos humanos, no modelo durante a RL é um comportamento adaptativo resultante do processo de otimização de políticas.
Como mostrado na figura acima, o modelo exibiu quase nenhuma verificação proativa e reflexão das etapas anteriores de raciocínio nos estágios iniciais do treinamento. No entanto, à medida que o treinamento progredia, o modelo exibiu comportamentos reflexivos e de backtracking significativos, formando padrões de resposta, como raciocínio passo a passo, substituição numérica, verificação passo a passo e auto-otimização.
Curiosamente, eles também descobriram que o modelo aprendeu a usar espontaneamente o código do programa para verificação ao resolver problemas matemáticos. Primeiro, ele forneceria um processo de solução através do raciocínio matemático e depois escreveria de maneira proativa o código do programa para verificar a correção da solução. Essas instâncias demonstraram a capacidade do modelo de alavancar o pensamento processual para a auto-corrigir e várias tentativas, indicando ainda que, nos estágios posteriores do treinamento, o modelo havia dominado o pensamento amplo e a aplicação integrada de várias abordagens de raciocínio baseadas em código para a solução de problemas.
O artigo SRPO: uma implementação de domínio cruzado de aprendizado de reforço em larga escala no LLM está em arxiv
Tente com o SRPO-QWEN-32B Modelo no Huggingface
Assim:
Como Carregando…