Pesquisa de sites

Ambientes de Aprendizagem por Reforço


Introdução

Uma área ativa de interesse contínuo para investigadores e engenheiros de IA é adotar LLMs em sistemas autónomos de ponta a ponta compostos por arquiteturas multiagente. Embora os LLMs sejam impressionantes por si só, para realmente extrair valor deles, estamos a ver a indústria recorrer a ambientes de Aprendizagem por Reforço (RL).

Os ambientes de RL não são novos; eles precedem os LLMs. Na verdade, não se pode falar de agentes sem falar de ambientes. Geralmente, num contexto de RL, um ambiente fornece uma recompensa ou penalização por uma ação que um agente realiza nesse ambiente. O agente é forçado a adaptar-se para maximizar a recompensa cumulativa. Esta adaptação para maximizar a recompensa é o cerne do aprendizado por reforço.

Agora, com a ascensão dos LLMs, o agente é, na verdade, muitas vezes um modelo. Os pesos do modelo são atualizados a partir da avaliação das suas tentativas em diferentes tarefas, permitindo que o modelo se adapte. O uso do computador, como num sistema de IA que consegue navegar no seu computador, é uma tarefa multiagente particularmente interessante. Na verdade, explorámos este tema num artigo anterior sobre o trabalho da Microsoft com a escalabilidade dos dados de uso do computador através de pipelines multiagente para o seu modelo, Fara-7B.

Principais Conclusões

  • A indústria está a recorrer a ambientes de Aprendizagem por Reforço (RL) para extrair valor real dos Modelos de Linguagem de Grande Dimensão (LLMs).
  • Um ambiente de Aprendizagem por Reforço fornece uma recompensa ou penalização pela ação de um agente, forçando o agente (geralmente um LLM/modelo) a adaptar os seus pesos para maximizar a recompensa cumulativa.
  • Ao contrário das recompensas subjetivas no RLHF, o RLVR utiliza recompensas objetivas e verificáveis (por exemplo, em tarefas de matemática e programação) que são "não manipuláveis", garantindo que o modelo desenvolva o raciocínio desejado.
  • As empresas estão a utilizar ambientes de RL, frequentemente chamados de "arneses" ou "ginásios de UI", para treinar modelos especificamente para utilização nos seus próprios produtos de software (por exemplo, o Composer da Cursor, o Codex da OpenAI).

Aprendizagem por Reforço a partir de Recompensas Verificáveis

O recente aumento do discurso e do interesse em ambientes de RL pode talvez ser atribuído ao sucesso do RLVR (Aprendizagem por Reforço a partir de Recompensas Verificáveis), onde as tarefas podem ser verificadas, como com matemática e código. Gostamos da forma como o post de blog de Andrej Karpathy, 2025 LLM Year in Review, coloca o RLVR no contexto do progresso feito no ano passado. Karpathy explica o que torna o RLVR eficaz: recompensas que são verificáveis não podem ser manipuladas. Uma função de recompensa que não pode ser manipulada é aquela que está diretamente ligada ao resultado bem-sucedido e verificável de uma tarefa (como resolver um puzzle ou passar num caso de teste), tornando difícil para o LLM alcançar uma recompensa elevada sem realmente desenvolver as estratégias desejadas de raciocínio e resolução de problemas (manipulação de recompensas).

Ambientes de RL para Produtos

Will Brown explica que os modelos são treinados para um produto específico dando exemplos do Composer da Cursor e do Codex da Open AI, onde o modelo é treinado num arnês, que é essencialmente um ambiente de RL que representa o produto. No mesmo sentido, as empresas estão a começar a construir ambientes à volta do seu software – que ouvimos ser chamados de ginásios de UI.

Criar um Ambiente de RL

Existem múltiplas formas de criar ambientes de RL. Primeiro, considere o seu objetivo. O que quer que o seu modelo alcance? Depois, precisa de escolher uma framework. Dependendo da framework, o ambiente será definido de diferentes maneiras.

Os frameworks potenciais incluem o hub de ambientes da Prime Intellect, o SkyRL (que possui ferramentas reutilizáveis), o OpenEnv do PyTorch e o Gymnasium da OpenAI. A Thinking Machines também disponibiliza documentação e um manual prático sobre ambientes de RL.

Independentemente do framework, normalmente precisará de pensar e especificar os principais componentes do seu ambiente de RL:

  • Espaço de estados: A informação que o agente observa. Isto pode ser pixels de um ecrã de jogo, leituras numéricas de sensores, capturas de ecrã ou representações do mundo.
  • Espaço de ação: Todas as ações potenciais que o agente pode realizar. As ações podem ser discretas (como pressionar botões) ou contínuas (como controlar motores).
  • Função de recompensa: A função de recompensa molda os comportamentos que surgem. Recompensas escassas (apenas ao completar a tarefa) podem ser difíceis de aprender, enquanto recompensas densas (feedback frequente) podem recompensar comportamentos não intencionados.
  • Condições de término do episódio: Aqui, determinamos quando a “tarefa” termina. Isto pode ocorrer após atingir um objetivo, ultrapassar um limite de tempo ou entrar num estado de falha.

Depois de definir estes componentes, irá implementar a dinâmica do ambiente tal como nas regras que governam a forma como os estados mudam com base nas ações.

Passo 0: Considerar o que vamos precisar

Comece por configurar um Droplet com GPU. Tenha em atenção quantas GPUs vai precisar. Vamos utilizar 4 H100s. Vai também precisar de uma conta no Weights and Biases.

Passo 1: Clona o repositório e configura o ambiente

git clone https://github.com/NovaSky-AI/SkyRL.git
cd SkyRL
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[vllm]"   ##or ".[sglang]" for alternative inference backends

uv pip install -r requirements.txt

# may need to:
snap install astral-uv

Passo 2: Prepare um Conjunto de Dados para o Treino de RL

O SkyRL espera dados no formato Parquet com um esquema adequado para instrução e RL (prompt, conclusões, recompensas, etc.).
Pode usar um dos exemplos incorporados, como o GSM8K para raciocínio matemático (um bom ponto de partida antes de avançar para tarefas ao estilo SWE-Bench), ou preparar o seu próprio para um ambiente personalizado.

Vamos gerar dados GSM8K (estilo de raciocínio + uso de ferramentas) com o gsm8k_dataset.py.

cd skyrl-train
uv run examples/gsm8k/gsm8k_dataset.py --output_dir ~/data/gsm8k

Portanto, isto cria train.parquet e validation.parquet com campos como:

  • prompt
  • conclusão (ou trajectórias)
  • recompensa (para configurações offline/híbridas; RL online calcula recompensas em tempo real)

Para tarefas mais autónomas, poderíamos talvez usar o SWE-Bench ou um benchmark similar que analise tarefas verificáveis. O SkyRL integra na verdade o runtime OpenHands (SkyRL-OpenHands) para ambientes de edição de código.

Passo 3: Criar um ficheiro de configuração YAML para configurar uma sessão de treino

Vamos criar um ficheiro YAML para configurar uma execução de treino GRPO: examples/gsm8k/gsm8k-grpo.yaml

data:
  train_data: ["~/data/gsm8k/train.parquet"]
  val_data: ["~/data/gsm8k/validation.parquet"]

trainer:
  algorithm:
    name: grpo
    advantage_estimator: grpo
  policy:
    model:
      path: Qwen/Qwen2.5-1.5B-Instruct   # Start small; scale to 7B–32B
  epochs: 2                             # Increase for real training
  strategy: fsdp2                       # Or ddp for single node
  placement:
    colocate_all: true
    policy_num_gpus_per_node: 4         # Adjust to your hardware

inference:
  backend: vllm                         # Fast inference for rollouts

logger: wandb

Passo 4: TREINAR

Para um único nó:

uv run -m skyrl_train.entrypoints.main_base \
  --config examples/gsm8k/gsm8k-grpo.yaml \
  trainer.epochs=5 \
  data.train_data='["~/data/gsm8k/train.parquet"]'

Para distribuído (multi-GPU/nó via Ray/SkyPilot):

sky launch skyrl_train/examples/gsm8k/gsm8k-grpo-skypilot.yaml \
  --secret WANDB_API_KEY=your_key_here

Passo 5: Avaliar e Iterar

from skyrl.agent import SkyRLAgent

agent = SkyRLAgent.from_checkpoint("path/to/checkpoint")
result = agent.run_task(
    prompt="Fix this bug in repo X: ...",
    runtime="openhands",   # Stateful code env
    max_turns=30
)
print(result.success_rate, result.trajectory)

Perguntas Frequentes

O que são ambientes de RL?
No contexto do Aprendizado por Reforço (RL), um ambiente fornece uma recompensa ou penalização por uma ação tomada por um agente (frequentemente um LLM/modelo). O agente adapta o seu comportamento para maximizar a recompensa acumulada.

Porque é que a indústria está a recorrer a ambientes de RL para os LLM?
A indústria está a adotar ambientes de RL para integrar os LLMs em sistemas autónomos de ponta a ponta com arquiteturas multi-agente, sendo esta vista como a forma de extrair verdadeiro valor destes modelos.

O que é Aprendizagem por Reforço a partir de Recompensas Verificáveis (RLVR)?
RLVR é um método que utiliza recompensas objetivas e verificáveis (como aquelas em tarefas de matemática e programação). Estas recompensas “não manipuláveis” asseguram que o modelo desenvolva as estratégias de raciocínio e resolução de problemas desejadas, ao contrário das recompensas subjetivas usadas no RLHF.

Como são utilizados os ambientes de RL em produtos comerciais?
As empresas estão a criar ambientes, frequentemente chamados de “arnês” ou &ldquo=ginas de UI”, em torno do seu próprio software para treinar modelos especificamente para uso nos seus produtos, como o Composer da Cursor ou o Codex da OpenAI.

Como é que os ambientes de RL podem ser utilizados para a geração de dados sintéticos?
Os ambientes conhecem intrinsecamente a verdade fundamental (por exemplo, testes unitários a passar, saídas corretas de folhas de cálculo, dados precisos do terminal), tornando-os úteis para gerar dados sintéticos de alta qualidade.

Considerações Finais

Avançando para 2026, parece que vamos assistir a uma melhor integração de modelos de IA em casos de uso concretos, graças a ambientes de RL que permitem que os modelos sejam treinados para aplicações específicas. A Linux-Console.net procura tornar os seus objetivos com a IA possíveis: Treinar, Inferir e Construir Agentes com o Gradient.

Referências e Recursos Adicionais

SemiAnalysis: Ambientes de RL e RL para Ciência: Fundições de Dados e Arquitecturas Multi-Agente
Epoch AI: Um FAQ sobre Ambientes de Aprendizagem por Reforço
SkyRL: Criar um Novo Ambiente ou Tarefa — documentação SkyRL
Thinking Machines: Ambientes de RL – API Tinker
Modo GPU: mini-conferência de ambientes de RL

Prime Intellect:
Quais são os ambientes RLVR para LLMs? | Políticas - Implementações - Rubricas
Ambientes de RL em Escala – Will Brown, Prime Intellect
Nos Bastidores: Construindo um Ambiente de RL com Zapier & Prime Intellect
INTELLECT-3: Relatório Técnico

E se quiser explorar o RL desde o início, aqui está o Google Drive do curso CMPUT 609 do Richard Sutton.

Obrigado por aprender com a comunidade Linux-Console.net.