Reward Modeling
A modelação de recompensas treina uma rede para pontuar as saídas de IA como as pessoas fariam, com base em comparações de preferências. Abrange a perda de Bradley-Terry, tipos e riscos.
A modelagem de recompensas consiste em treinar uma rede neural, chamada modelo de recompensa, para pontuar as saídas de um sistema de IA da forma como as pessoas as avaliariam. Na aprendizagem por reforço padrão, o ambiente fornece uma recompensa, como a pontuação de um jogo. Muitos objetivos não têm uma pontuação desse tipo: é fácil avaliar uma resposta útil, uma imagem bem composta ou um robô que entrega um copo com cuidado, mas é difícil defini-los em código. Um modelo de recompensa aprende essa avaliação a partir de feedback humano, geralmente comparações entre duas saídas, e depois pontua novas saídas automaticamente, com muito mais rapidez e consistência do que as pessoas conseguiriam. Os modelos de recompensa são o componente que viabiliza a aprendizagem por reforço com feedback humano (RLHF) e também são usados para reordenar respostas candidatas, filtrar dados de treinamento e avaliar modelos.
Como um modelo de recompensa é treinado#
Os dados de treinamento consistem em comparações. As pessoas recebem uma instrução com duas ou mais respostas de um modelo e escolhem a melhor; no trabalho da OpenAI sobre o InstructGPT, os avaliadores classificaram de 4 a 9 respostas por instrução, e cada par dessa classificação tornou-se uma comparação de treinamento. Usa-se a classificação em vez de pontuações absolutas porque as pessoas concordam muito mais sobre qual de duas respostas é melhor do que sobre se uma resposta merece 6 ou 7 em 10.
O modelo de recompensa costuma ser um modelo de linguagem grande (LLM) pré-treinado, muitas vezes o próprio modelo a ser alinhado, cuja camada de saída é substituída por uma camada linear que mapeia o embedding final para um número. O treinamento usa o modelo Bradley-Terry de comparações em pares, segundo o qual a probabilidade de as pessoas preferirem a resposta A à resposta B é a sigmoide da diferença entre as recompensas. A função de perda é o logaritmo negativo dessa probabilidade para a resposta que as pessoas realmente escolheram. Este exemplo em PyTorch treina uma camada linear de recompensa com 2.000 comparações simuladas:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
# 2,000 preference pairs: embeddings of two responses to the same prompt
# Simulated raters prefer the response with higher hidden quality, with some noise
hidden_quality = torch.randn(64)
a, b = torch.randn(2000, 64), torch.randn(2000, 64)
a_wins = (a @ hidden_quality + torch.randn(2000) * 2 > b @ hidden_quality).unsqueeze(1)
chosen, rejected = torch.where(a_wins, a, b), torch.where(a_wins, b, a)
# Reward model: a linear head mapping a response embedding to one scalar score
reward_model = torch.nn.Linear(64, 1)
optimizer = torch.optim.Adam(reward_model.parameters(), lr=0.01)
train, test = slice(0, 1500), slice(1500, 2000)
for step in range(300):
# Bradley-Terry loss: maximize the probability that the chosen response scores higher
margin = reward_model(chosen[train]) - reward_model(rejected[train])
loss = -F.logsigmoid(margin).mean()
optimizer.zero_grad()
loss.backward()
optimizer.step()
accuracy = (reward_model(chosen[test]) > reward_model(rejected[test])).float().mean()
print(f"Held-out pairs ranked like the raters: {accuracy:.1%}")Ele imprime 94.8%. Os próprios avaliadores simulados, sujeitos a ruído, contradizem a classificação de qualidade sem ruído em cerca de 5% desses pares reservados para teste; assim, o modelo de recompensa aprendeu as preferências tão bem quanto os rótulos permitem, embora nunca tenha visto uma única pontuação absoluta. A precisão em pares de comparações reservados para teste também é usada para comparar modelos de recompensa reais, por exemplo, no benchmark RewardBench. Como apenas as diferenças entre as recompensas entram na função de perda, a escala das pontuações é arbitrária, e os pipelines muitas vezes as normalizam antes da aprendizagem por reforço.
Tipos de modelos de recompensa#
- Modelos de recompensa de resultado: pontuam uma resposta ou episódio completo; são a opção padrão no RLHF.
- Modelos de recompensa de processo: pontuam cada etapa intermediária de uma solução. O conjunto de dados PRM800K da OpenAI contém 800.000 rótulos humanos por etapa de soluções matemáticas.
- Modelos de recompensa generativos: um LLM atua como avaliador e escreve uma crítica ou um veredito, permitindo que um único modelo avalie muitos tipos de tarefas e explique suas pontuações.
- Modelos de recompensa implícitos: a otimização direta de preferências (DPO) treina a política diretamente com pares de preferências, e a razão entre as probabilidades logarítmicas da política e do modelo de referência atua como recompensa.
- Modelos de recompensa de imagens: o ImageReward foi treinado com 137.000 comparações de imagens geradas, avaliadas por especialistas, e é usado para ajustar modelos de texto para imagem, buscando resultados atraentes e fiéis às instruções.
A aprendizagem robótica aplica a mesma ideia com modelos de visão. Um classificador de imagens treinado com quadros de câmera que as pessoas rotularam como tentativas bem-sucedidas ou malsucedidas — por exemplo, um copo colocado na vertical ou derrubado — produz uma probabilidade de sucesso que serve como recompensa para uma política de aprendizagem. Um modelo Ultralytics YOLO26 treinado com esses quadros usando a tarefa de classificação desempenha esse papel, pontuando cada quadro de uma tentativa em milissegundos.
Como manter a precisão do modelo de recompensa#
Um modelo de recompensa só é preciso para saídas semelhantes aos dados de treinamento. À medida que a política melhora, ela produz respostas que o modelo de recompensa nunca viu; por isso, a equipe do Llama 2 da Meta coletou novas comparações das saídas do modelo mais recente e treinou novamente o modelo de recompensa antes de cada nova rodada de aprendizagem por reforço:
Otimizar demais em relação a qualquer recompensa aprendida leva à exploração da recompensa. O estudo da OpenAI sobre a sobreotimização do modelo de recompensa usou um grande modelo de recompensa «dourado» no lugar de avaliadores humanos e constatou que, à medida que uma política era otimizada em relação a um modelo de recompensa substituto menor, a pontuação dourada primeiro aumentava e depois caía, enquanto a pontuação do modelo substituto continuava subindo; o efeito diminuía gradualmente à medida que o modelo substituto crescia. Os modelos de recompensa também absorvem vieses dos avaliadores, como a preferência por respostas mais longas ou mais concordantes, que a aprendizagem por reforço amplifica, levando à verbosidade e à bajulação. Uma penalidade KL em relação ao modelo original, conjuntos de modelos de recompensa e treinamento periódico com novas comparações limitam os danos.
Modelagem de recompensas vs. termos relacionados#
- RLHF: pipeline completo de ajuste fino supervisionado, modelagem de recompensas a partir de comparações humanas e otimização por aprendizagem por reforço. A modelagem de recompensas é a segunda etapa.
- Função de recompensa: recompensa escrita manualmente, como +1 por alcançar um objetivo. Um modelo de recompensa é aprendido a partir de dados porque ninguém consegue escrever a função.
- Recompensas verificáveis: um programa compara a resposta com uma solução conhecida, como um teste unitário ou um resultado matemático de referência. É mais difícil explorar esse método do que um modelo aprendido, mas ele só funciona quando as respostas podem ser verificadas.
- Aprendizagem por reforço inversa: infere uma função de recompensa a partir de demonstrações da tarefa por especialistas, enquanto a modelagem de recompensas para RLHF aprende com as comparações das pessoas entre as próprias saídas do sistema.










