agentic_ai:
mode: direct
log_level: DEBUG
log_dir: /var/log/
serve_conf:
host: 0.0.0.0
port: 8030
direct_conf:
entrypoints:
- job_type: verl_train
job_name: ${train_instances.0.name}
job_kwargs: { }
hydra:
searchpath:
- file:///verl/verl/trainer/config
- file:///path/to/AgentSDK/aura/configs/train/verl_conf
defaults:
- fully_async_ppo_trainer
- fully_async_ppo_trainer@verl_conf
- _self_
verl_conf:
extras:
delta: 2
update_weights_interval: 1
validate_num_samples: 5
init_num_group_batches: 1
max_queue_size: 256
weight_save_dir: ${hydra:runtime.cwd}/weights
consumed_train_samples: 0
data_loader:
train_data_path: /path/to/data/math_train_dataset/rl
split: 100,0,0
seq_length: 8192
train_iters: ${verl_conf.total_train_steps}
global_batch_size: ${verl_conf.data.train_batch_size}
num_workers: 1
seed: 0
dataset_additional_keys: ['labels']
no_shuffle: False
test_data_path:
is_pairwise_dataset: false
total_train_steps: 200
data:
gen_batch_size: 1
return_raw_chat: True
train_batch_size: 16
actor_rollout_ref:
model:
path: /path/to/models/Qwen3-30B-A3B
use_remove_padding: True
enable_gradient_checkpointing: True
enable_activation_offload: True
hybrid_engine: False
rollout:
n: 8
name: vllm
mode: async
calculate_log_probs: True
log_prob_use_dynamic_bsz: False
log_prob_micro_batch_size_per_gpu: 1
expert_parallel_size: 16
tensor_model_parallel_size: 8
data_parallel_size: 2
gpu_memory_utilization: 0.2
free_cache_engine: true
actor:
ppo_micro_batch_size_per_gpu: 1
ppo_mini_batch_size: 4
strategy: fsdp2
use_dynamic_bsz: False
optim:
lr: 1e-6
entropy_coeff: 0.0
use_kl_loss: False
calculate_entropy: False
kl_loss_coef: 0.001
kl_loss_type: low_var_kl
clip_ratio_high: 0.28
loss_agg_mode: seq-mean-token-sum
ulysses_sequence_parallel_size: 8
fsdp_config:
strategy: fsdp2
param_offload: true
optimizer_offload: true
model_dtype: bfloat16
fsdp_size: -1
entropy_from_logits_with_chunking: true
entropy_checkpointing: true
ulysses_sequence_parallel_size: ${verl_conf.actor_rollout_ref.actor.ulysses_sequence_parallel_size}
reshard_after_forward: True
ref:
strategy: fsdp2
log_prob_micro_batch_size_per_gpu: 1
log_prob_max_token_len_per_gpu: 16384
ulysses_sequence_parallel_size: ${verl_conf.actor_rollout_ref.actor.ulysses_sequence_parallel_size}
fsdp_config:
model_dtype: bfloat16
param_offload: true
ulysses_sequence_parallel_size: ${verl_conf.actor_rollout_ref.actor.ulysses_sequence_parallel_size}
critic:
strategy: fsdp2
ulysses_sequence_parallel_size: ${verl_conf.actor_rollout_ref.actor.ulysses_sequence_parallel_size}
model:
ulysses_sequence_parallel_size: ${verl_conf.actor_rollout_ref.actor.ulysses_sequence_parallel_size}
fsdp_config:
model_dtype: bfloat16
trainer:
val_before_train: False
device: npu
critic_warmup: 0
project_name: 'qwen3_30b_a3b_math_code_one_step'
experiment_name: 'qwen3_30b_a3b_math_code_one_step'
n_gpus_per_node: 16
nnodes: 1
save_freq: 100
default_local_dir: ${hydra:runtime.cwd}/weights/rollout_data_dir/
resume_mode: disable
resume_from_path: ./ckpt
test_freq: 1000
total_epochs: 1000
logger: [ 'console','tensorboard' ]
rollout_data_dir: ${hydra:runtime.cwd}/weights/rollout_data_dir/
rollout:
nnodes: ${verl_conf.trainer.nnodes}
n_gpus_per_node: ${verl_conf.trainer.n_gpus_per_node}
n: 8
total_rollout_steps: 100
test_freq: 100
async_training:
use_rollout_log_probs: False
staleness_threshold: 0.25
trigger_parameter_sync_step: 1
partial_rollout: False
algorithm:
adv_estimator: grpo
train_instances:
- name: RL-QWEN3-32B-WITH-MATH
executor_num: 1
executor_kwargs:
work_mode: one_step_off
train_engine: verl
train_config: ${verl_conf}
rollout_config:
train_backend: ${train_instances.0.executor_kwargs.train_engine}
trajectory_timeout: 7200
n_samples_per_prompt: ${verl_conf.rollout.n}
actor_rollout_dispatch_size: 256
validate_n_samples: ${verl_conf.extras.validate_num_samples}
traj_output_path: ${hydra:runtime.cwd}/outputs/
tokenizer_name_or_path: ${verl_conf.actor_rollout_ref.model.path}
dataset_additional_keys: ${verl_conf.extras.data_loader.dataset_additional_keys}
global_batch_size: ${verl_conf.extras.data_loader.global_batch_size}
weight_save_dir: ${verl_conf.extras.weight_save_dir}
trust_remote_code: true
infer_tensor_parallel_size: ${infer_instances.0.executor_kwargs.engine_kwargs.tensor_parallel_size}
train_tensor_parallel_size: ${verl_conf.actor_rollout_ref.rollout.tensor_model_parallel_size}
infer_expert_parallel_size: ${infer_instances.0.executor_kwargs.engine_kwargs.data_parallel_size}
enable_version_control: false
use_on_policy: false
train_iters: ${verl_conf.extras.data_loader.train_iters}
data_optimized: false
hybrid_batch_num: 1
wait_available_weight_timeout: -1
llm_tokenizer_path: /path/to/models/Qwen3-30B-A3B
agent_service: ${agent_instances.0.name}
infer_service: ${infer_instances.0.name}
resource_info: [ ]
agent_instances:
- name: MATH
executor_num: 1
executor_kwargs:
agent_engine: rllm
agent_engine_kwargs:
agent_name: math
simplify_think_content: false
max_prompt_length: 8192
max_model_len: 32768
n_parallel_agents: 512
token_in_token_out: true
env_args:
max_steps: 5
tool_timeout: 200
trajectory_timeout: 7200
tool_url: /home/inputs/tool_url_2
tokenizer: ${verl_conf.actor_rollout_ref.model.path}
infer_service_params:
temperature: 1.0
top_p: 1.0
max_tokens: 8192
model: ${infer_instances.0.name}
trajectory_save_dir: ${hydra:runtime.cwd}/outputs
resource_info: [ ]
infer_instances:
- name: Qwen3-30B-A3B
executor_num: 1
executor_kwargs:
engine: vllm_proxy
engine_kwargs:
chat_server: "http://0.0.0.0:8080"
prefill_server_list: ["http://0.0.0.0:20012"]
decode_server_list: []
model_name: Qwen3-30B-A3B
tensor_parallel_size: 8
expert_parallel_size: 16
data_parallel_size: 2
enable_expert_parallel: true
resource_info: []