v4

latestOpenAPI 3.1.0MIT2026-08-04193459793.6 KB
RL

Optimizer step

Submits an optimizer step operation that will asynchronously apply accumulated gradients to update model parameters.

post/rl/training-sessions/{session_id}/operations/optim-step

Path parameters

session_idstring required

Training session ID

Request body

weight_sync_type'WEIGHT_SYNC_TYPE_UNSPECIFIED' | 'WEIGHT_SYNC_TYPE_SYNCHRONOUS' | 'WEIGHT_SYNC_TYPE_BACKGROUND_PUBLISH' | 'WEIGHT_SYNC_TYPE_PIPELINE' required

How the trainer's updated weights are propagated to the generator after an optimizer step. SYNCHRONOUS publishes inline before the step returns; BACKGROUND_PUBLISH returns immediately and publishes once in-flight rollouts drain; PIPELINE overlaps the publish with in-flight rollouts so they continue decoding under the new weights.

Example request

{
  "adam_params": {
    "learning_rate": 0.0001,
    "beta1": 0.9,
    "beta2": 0.95,
    "eps": 1e-8,
    "weight_decay": 0.1,
    "grad_clip_norm": 10
  },
  "muon_params": {
    "learning_rate": 0.02,
    "momentum": 0.95,
    "newton_schulz_steps": 5,
    "grad_clip_norm": 10,
    "adam": {
      "learning_rate": 0.0001,
      "beta1": 0.9,
      "beta2": 0.95,
      "eps": 1e-8,
      "weight_decay": 0.1,
      "grad_clip_norm": 10
    }
  }
}

Response

Optimizer step operation details

idstring required

Operation ID

status'TRAINING_OPERATION_STATUS_UNSPECIFIED' | 'TRAINING_OPERATION_STATUS_PENDING' | 'TRAINING_OPERATION_STATUS_RUNNING' | 'TRAINING_OPERATION_STATUS_COMPLETED' | 'TRAINING_OPERATION_STATUS_FAILED' required

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "error": {
    "message": "Operation timed out"
  }
}