gitextract_5e2u4bw9/ ├── .gemini/ │ └── config.yaml ├── .git-blame-ignore-revs ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ ├── config.yml │ │ └── feature-request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── README.md │ ├── check-pr-title.yml │ ├── cpu_unit_tests.yml │ ├── doc.yml │ ├── docker-build-ascend-a2.yml │ ├── docker-build-ascend-a3.yml │ ├── e2e_ascend.yml │ ├── e2e_fully_async_policy.yml │ ├── e2e_fully_async_policy_ascend.yml │ ├── e2e_one_step_off_policy.yml │ ├── e2e_one_step_off_policy_ascend.yml │ ├── e2e_ppo_grpo_trainer_trtllm.yml │ ├── e2e_ppo_trainer.yml │ ├── e2e_ppo_trainer_megatron_sglang.yml │ ├── e2e_ppo_trainer_megatron_sglang_2.yml │ ├── e2e_ppo_trainer_megatron_vllm.yml │ ├── e2e_ppo_trainer_megatron_vllm_2.yml │ ├── e2e_ppo_trainer_megatron_vllm_2_ascend.yml │ ├── e2e_ppo_trainer_veomni_vllm.yml │ ├── e2e_sft_llm.yml │ ├── e2e_sft_llm_ascend.yml │ ├── e2e_sft_vlm.yml │ ├── gpu_unit_tests.yml │ ├── model.yml │ ├── model_ascend.yml │ ├── nightly_ascend.yml │ ├── npu_unit_tests.yml │ ├── pre-commit.yml │ ├── precommit-autofix.yml │ ├── reward_model_sglang.yml │ ├── reward_model_vllm.yml │ ├── reward_model_vllm_ascend.yml │ ├── sanity.yml │ ├── scorecard.yml │ ├── secrets_scan.yml │ ├── sgl.yml │ ├── type-coverage-check.yml │ └── vllm.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── CONTRIBUTING.md ├── LICENSE ├── Notice.txt ├── README.md ├── docker/ │ ├── Dockerfile.isaaclab230 │ ├── Dockerfile.stable.sglang │ ├── Dockerfile.stable.trtllm │ ├── Dockerfile.stable.vllm │ ├── README.md │ ├── ascend/ │ │ ├── Dockerfile.ascend.sglang_8.3.rc1_a2 │ │ ├── Dockerfile.ascend.sglang_8.3.rc1_a3 │ │ ├── Dockerfile.ascend_8.2.rc1_a2 │ │ ├── Dockerfile.ascend_8.2.rc1_a3 │ │ ├── Dockerfile.ascend_8.3.rc1_a2 │ │ ├── Dockerfile.ascend_8.3.rc1_a3 │ │ ├── Dockerfile.ascend_8.5.0_a2 │ │ └── Dockerfile.ascend_8.5.0_a3 │ ├── aws/ │ │ ├── Dockerfile.extention.awsefa │ │ └── Dockerfile.ngc.vllm0.8.sagemaker │ ├── rocm/ │ │ ├── Apptainerfile.rocm │ │ ├── Dockerfile.rocm │ │ ├── Dockerfile.rocm7 │ │ ├── Dockerfile.rocm_verl-0.3.0.post1 │ │ └── Dockerfile.rocm_verl-0.4.1 │ ├── verl0.4-cu124-torch2.6-fa2.7.4/ │ │ ├── Dockerfile.app.sglang.vllm.mcore0.12 │ │ ├── Dockerfile.app.sglang.vllm.mcore0.12.deepep │ │ ├── Dockerfile.app.sglang.vllm.mcore0.13.preview │ │ ├── Dockerfile.app.vllm.mcore0.12 │ │ ├── Dockerfile.app.vllm.mcore0.12.deepep │ │ ├── Dockerfile.app.vllm.mcore0.13.preview │ │ ├── Dockerfile.base │ │ └── README.md │ ├── verl0.5-cu126-torch2.7-fa2.7.4/ │ │ ├── Dockerfile.app.sglang0.4.10.post2.mcore0.13 │ │ ├── Dockerfile.app.sglang0.4.9.post6.mcore0.13 │ │ ├── Dockerfile.app.vllm.mcore0.13 │ │ ├── Dockerfile.app.vllm.mcore0.15 │ │ ├── Dockerfile.base.torch2.7.1 │ │ └── README.md │ ├── verl0.5-cu126-torch2.7.1-fa2.8.0/ │ │ ├── Dockerfile.app.sglang.mcore0.12 │ │ ├── Dockerfile.app.sglang.mcore0.13.preview │ │ ├── Dockerfile.base │ │ └── README.md │ ├── verl0.5-preview-cu128-torch2.7.1-fa2.8.0/ │ │ ├── Dockerfile.app.sglang.megatron │ │ ├── Dockerfile.base │ │ └── README.md │ ├── verl0.6-cu128-torch2.8.0-fa2.7.4/ │ │ ├── Dockerfile.app.sglang │ │ ├── Dockerfile.base │ │ └── Dockerfile.vllm011.mcore_gpt-oss │ └── verl0.6.1-experimental/ │ ├── Dockerfile.sglang056exp │ └── Dockerfile.vllm012exp ├── docs/ │ ├── Makefile │ ├── README.md │ ├── README_vllm0.7.md │ ├── README_vllm0.8.md │ ├── _static/ │ │ ├── custom.css │ │ └── js/ │ │ ├── resizable-sidebar.js │ │ └── runllm-widget.js │ ├── advance/ │ │ ├── agent_loop.rst │ │ ├── async-on-policy-distill.md │ │ ├── attention_implementation.rst │ │ ├── checkpoint.rst │ │ ├── dpo_extension.rst │ │ ├── fp8.md │ │ ├── fsdp_extension.rst │ │ ├── fully_async.md │ │ ├── grafana_prometheus.md │ │ ├── megatron_extension.rst │ │ ├── mtp.md │ │ ├── one_step_off.md │ │ ├── placement.rst │ │ ├── ppo_lora.rst │ │ ├── reward_loop.rst │ │ ├── rollout_skip.rst │ │ ├── rollout_trace.rst │ │ └── rope.rst │ ├── algo/ │ │ ├── baseline.md │ │ ├── collabllm.md │ │ ├── dapo.md │ │ ├── dppo.md │ │ ├── entropy.md │ │ ├── gpg.md │ │ ├── grpo.md │ │ ├── opo.md │ │ ├── otb.md │ │ ├── ppo.md │ │ ├── rollout_corr.md │ │ ├── rollout_corr_math.md │ │ ├── spin.md │ │ └── sppo.md │ ├── amd_tutorial/ │ │ ├── amd_build_dockerfile_page.rst │ │ └── amd_vllm_page.rst │ ├── api/ │ │ ├── data.rst │ │ ├── single_controller.rst │ │ ├── trainer.rst │ │ └── utils.rst │ ├── ascend_tutorial/ │ │ ├── contribution_guide/ │ │ │ └── ascend_ci_guide_zh.rst │ │ ├── examples/ │ │ │ ├── ascend_performance_analysis_guide.md │ │ │ ├── ascend_retool_best_pratice.rst │ │ │ ├── ascend_sglang_best_practices.rst │ │ │ ├── dapo_multi_model_optimization_practice.md │ │ │ ├── gspo_optimization_practice.md │ │ │ └── run_qwen3_32B_megatron_1k_256k_npu.md │ │ ├── faq/ │ │ │ └── faq.rst │ │ ├── features/ │ │ │ ├── ascend_backend_features.md │ │ │ └── ascend_consistency.rst │ │ ├── profiling/ │ │ │ ├── ascend_profiling_en.rst │ │ │ └── ascend_profiling_zh.rst │ │ └── quick_start/ │ │ ├── ascend_quick_start.rst │ │ ├── ascend_sglang_quick_start.rst │ │ └── dockerfile_build_guidance.rst │ ├── blog/ │ │ └── v0.7.md │ ├── conf.py │ ├── data/ │ │ └── transfer_queue.md │ ├── examples/ │ │ ├── config.rst │ │ ├── gsm8k_example.rst │ │ ├── multi_modal_example.rst │ │ ├── ppo_code_architecture.rst │ │ ├── sandbox_fusion_example.rst │ │ └── skypilot_examples.rst │ ├── faq/ │ │ └── faq.rst │ ├── hybrid_flow.rst │ ├── index.rst │ ├── perf/ │ │ ├── best_practices.rst │ │ ├── device_tuning.rst │ │ ├── dpsk.md │ │ ├── nsight_profiling.md │ │ ├── perf_tuning.rst │ │ ├── perf_tuning_on_ascend.rst │ │ ├── torch_profiling.md │ │ └── verl_profiler_system.md │ ├── preparation/ │ │ ├── prepare_data.rst │ │ └── reward_function.rst │ ├── requirements-docs.txt │ ├── sglang_multiturn/ │ │ ├── interaction_system.rst │ │ ├── multiturn.rst │ │ ├── sandbox_fusion.rst │ │ └── search_tool_example.rst │ ├── single_controller.rst │ ├── start/ │ │ ├── agentic_rl.rst │ │ ├── install.rst │ │ ├── more_resources.rst │ │ ├── multinode.rst │ │ ├── quickstart.rst │ │ └── ray_debug_tutorial.rst │ └── workers/ │ ├── automodel_workers.rst │ ├── fsdp_workers.rst │ ├── megatron_workers.rst │ ├── model_engine.rst │ ├── ray_trainer.rst │ ├── sglang_worker.rst │ └── trtllm_worker.rst ├── examples/ │ ├── cispo_trainer/ │ │ └── run_cispo_qwen2_5_0_5b_gsm8k.sh │ ├── data_preprocess/ │ │ ├── aime2024_multiturn_w_tool.py │ │ ├── dapo_multiturn_w_tool.py │ │ ├── full_hh_rlhf.py │ │ ├── geo3k.py │ │ ├── geo3k_multiturn_w_tool.py │ │ ├── gsm8k.py │ │ ├── gsm8k_multiturn_sft.py │ │ ├── gsm8k_multiturn_w_interaction.py │ │ ├── gsm8k_multiturn_w_tool.py │ │ ├── gsm8k_tool_agent_loop.py │ │ ├── hellaswag.py │ │ ├── math_dataset.py │ │ ├── multiturn.py │ │ ├── pokemon.py │ │ └── preprocess_search_r1_dataset.py │ ├── dppo_trainer/ │ │ ├── dppo.md │ │ └── run_qwen30b_dppo.sh │ ├── fapo_trainer/ │ │ ├── README.md │ │ ├── prepare_data.py │ │ ├── reward_fn.py │ │ ├── run_qwen_7b_rm_colocate.sh │ │ └── run_qwen_7b_rm_standalone.sh │ ├── gdpo_trainer/ │ │ └── run_qwen1_5b_gdpo.sh │ ├── generation/ │ │ ├── run_deepseek7b_mutli_node.sh │ │ └── run_deepseek_v2_lite_math.sh │ ├── gmpo_trainer/ │ │ ├── README.md │ │ ├── run_qwen2_5-7b_math.sh │ │ ├── test_dapo_7b_math.sh │ │ └── test_dapo_qwen3_30b_math.sh │ ├── gpg_trainer/ │ │ ├── gpg.md │ │ ├── run_qwen2-7b_math.sh │ │ └── run_qwen2-7b_math_megatron.sh │ ├── grpo_trainer/ │ │ ├── README.md │ │ ├── run_deepseek671b_math_megatron_80gb.sh │ │ ├── run_deepseek671b_math_megatron_96gb.sh │ │ ├── run_deepseek7b_llm.sh │ │ ├── run_deepseek7b_llm_math.sh │ │ ├── run_deepseek7b_llm_math_megatron.sh │ │ ├── run_deepseek7b_llm_seq_balance.sh │ │ ├── run_glm41v_9b.sh │ │ ├── run_gptoss_20b.sh │ │ ├── run_minicpmo2_6.sh │ │ ├── run_mistral13b_skyworkrm_hhrlhf.sh │ │ ├── run_moonlight16b_math_megatron.sh │ │ ├── run_nemotron_nano_v3_megatron.sh │ │ ├── run_qwen2-32b_sglang_fsdp_npu.sh │ │ ├── run_qwen2-7b.sh │ │ ├── run_qwen2-7b_math.sh │ │ ├── run_qwen2-7b_math_megatron.sh │ │ ├── run_qwen2-7b_math_megatron_lora.sh │ │ ├── run_qwen2-7b_math_megatron_trtllm.sh │ │ ├── run_qwen2-7b_math_trtllm.sh │ │ ├── run_qwen2-7b_seq_balance.sh │ │ ├── run_qwen2-7b_seq_balance_math_megatron.sh │ │ ├── run_qwen2-7b_sgl_megatron.sh │ │ ├── run_qwen2_5-32b_grpo_megatron_vllm_npu.sh │ │ ├── run_qwen2_5-3b_gsm8k_grpo_lora.sh │ │ ├── run_qwen2_5-3b_gsm8k_grpo_lora_from_adapter.sh │ │ ├── run_qwen2_5-7b_math_megatron_diff_tp.sh │ │ ├── run_qwen2_5_32b_grpo_npu.sh │ │ ├── run_qwen2_5_7b_grpo_discrete_prof_npu.sh │ │ ├── run_qwen2_5_7b_grpo_e2e_prof_npu.sh │ │ ├── run_qwen2_5_7b_grpo_npu.sh │ │ ├── run_qwen2_5_vl-7b-megatron.sh │ │ ├── run_qwen2_5_vl-7b-sglang.sh │ │ ├── run_qwen2_5_vl-7b-trtllm.sh │ │ ├── run_qwen2_5_vl-7b.sh │ │ ├── run_qwen2_5_vl-7b_freeze_vision.sh │ │ ├── run_qwen2_5_vl-7b_lora.sh │ │ ├── run_qwen2_5_vl-7b_seq_balance.sh │ │ ├── run_qwen2_5_vl_32b_npu.sh │ │ ├── run_qwen2_5_vl_3b_npu.sh │ │ ├── run_qwen2_5_vl_3b_trtllm.sh │ │ ├── run_qwen2_5_vl_7b_npu.sh │ │ ├── run_qwen3-235b_megatron_96gb.sh │ │ ├── run_qwen3-30b_dapo_megatron_fp8_trtllm.sh │ │ ├── run_qwen3-32b_npu.sh │ │ ├── run_qwen3-4b_gsm8k_grpo_lora_merge.sh │ │ ├── run_qwen3-8b.sh │ │ ├── run_qwen3-8b_npu.sh │ │ ├── run_qwen3_235b_megatron_npu.sh │ │ ├── run_qwen3_4b_grpo_vllm_1k_npu.sh │ │ ├── run_qwen3_5-35b-megatron.sh │ │ ├── run_qwen3_8b_grpo_sglang_1k_spmd_npu.sh │ │ ├── run_qwen3_8b_grpo_sglang_32k_spmd_npu.sh │ │ ├── run_qwen3_vl-235b-megatron.sh │ │ ├── run_qwen3_vl-30b-megatron.sh │ │ ├── run_qwen3_vl-8b-megatron.sh │ │ ├── run_qwen3_vl-8b_npu.sh │ │ ├── run_qwen3_vl_30b_vllm_fsdp_npu.sh │ │ ├── run_qwen3moe-30b_grpo_megatron_vllm_npu.sh │ │ ├── run_qwen3moe-30b_megatron_96gb.sh │ │ ├── run_qwen3moe-30b_megatron_lora.sh │ │ ├── run_qwen3moe-30b_megatron_lora_fp16.sh │ │ ├── run_qwen3moe-30b_sglang_megatron_npu.sh │ │ ├── run_qwen3next_80b_fsdp_npu.sh │ │ └── run_seed_oss_36b.sh │ ├── gspo_trainer/ │ │ ├── run_qwen30b_gspo.sh │ │ ├── run_qwen3_32b_gspo_npu.sh │ │ ├── test_gspo_3b_math.sh │ │ ├── test_gspo_3b_math_slurm.sh │ │ └── test_gspo_qwen30b_a3b_ep.sh │ ├── mtp_trainer/ │ │ ├── runtime_env.yaml │ │ ├── test_dapo_mimo_7b_with_mtp_math_megatron.sh │ │ └── test_dapo_mimo_7b_with_mtp_math_megatron_4_4.sh │ ├── otb_trainer/ │ │ └── run_qwen2_5-7b.sh │ ├── ppo_trainer/ │ │ ├── README.md │ │ ├── run_deepseek7b_llm.sh │ │ ├── run_deepseek7b_llm_modelscope.sh │ │ ├── run_deepseek7b_llm_pfppo.sh │ │ ├── run_deepseek7b_llm_sandbox_fusion.sh │ │ ├── run_deepseek7b_llm_sp2.sh │ │ ├── run_deepseek_full_hh_rlhf.sh │ │ ├── run_deepseek_math_gsm8k_megatron.sh │ │ ├── run_deepseek_math_gsm8k_megatron_nsys.sh │ │ ├── run_gemma.sh │ │ ├── run_moonlight16b_a3b_gsm8k_megatron.sh │ │ ├── run_qwen1.5_moe_a2.7b-gsm8k_megatron.sh │ │ ├── run_qwen2-7b_math_gsm8k_megatron.sh │ │ ├── run_qwen2-7b_rm.sh │ │ ├── run_qwen2-7b_rm_reward_loop_colocate.sh │ │ ├── run_qwen2-7b_rm_seq_balance.sh │ │ ├── run_qwen2-7b_rm_seq_balance_fused_kernels.sh │ │ ├── run_qwen2-7b_rm_seq_balance_nsys.sh │ │ ├── run_qwen2-7b_seq_balance.sh │ │ ├── run_qwen2-7b_sglang_seq_balance.sh │ │ ├── run_qwen2.5-32b.sh │ │ ├── run_qwen2.5-3b_rm_reward_loop_colocate.sh │ │ └── run_qwen3-8b_npu.sh │ ├── prefix_grouper/ │ │ ├── README.md │ │ └── run_qwen3_prefix_grouper.sh │ ├── ray/ │ │ └── tutorial.ipynb │ ├── reinforce_plus_plus_trainer/ │ │ ├── run_qwen2-7b_math_rf.sh │ │ └── run_qwen2-7b_math_rf_baseline.sh │ ├── remax_trainer/ │ │ ├── run_qwen2.5-3b_seq_balance.sh │ │ └── run_qwen2.5-7b_seq_balance.sh │ ├── rloo_trainer/ │ │ └── run_qwen2-7b.sh │ ├── rollout_correction/ │ │ ├── run_with_rollout_corr.sh │ │ └── run_with_rollout_corr_multi_rs.sh │ ├── router_replay/ │ │ ├── README.md │ │ ├── run_qwen30_a3b_megatron_sglang.sh │ │ └── run_qwen30_a3b_megatron_vllm.sh │ ├── sapo_trainer/ │ │ ├── run_qwen30b_sapo.sh │ │ └── run_qwen3_8b_sapo_npu.sh │ ├── sft/ │ │ ├── gsm8k/ │ │ │ ├── run_deepseek_6b7.sh │ │ │ ├── run_gemma_2b.sh │ │ │ ├── run_gemma_7b.sh │ │ │ ├── run_mimo_megatron_mtp.sh │ │ │ ├── run_nemotron_nano_v3.sh │ │ │ ├── run_qwen3_30b_automodel.sh │ │ │ ├── run_qwen3_5_megatron.sh │ │ │ ├── run_qwen3_8b_sft_peft_sp2_npu.sh │ │ │ ├── run_qwen_05_automodel.sh │ │ │ ├── run_qwen_05_peft.sh │ │ │ ├── run_qwen_05_sp2.sh │ │ │ ├── run_qwen_05_sp2_liger.sh │ │ │ └── run_seed_oss_36b_sft.sh │ │ ├── multiturn/ │ │ │ └── run_qwen_05_sp2.sh │ │ └── vlm/ │ │ └── run_qwen3_vl_2b.sh │ ├── sglang_multiturn/ │ │ ├── README.md │ │ ├── config/ │ │ │ ├── geo3k_multiturn_grpo.yaml │ │ │ ├── geo3k_multiturn_megatron_grpo.yaml │ │ │ ├── gsm8k_multiturn_grpo.yaml │ │ │ ├── gsm8k_multiturn_grpo_server.yaml │ │ │ ├── gsm8k_multiturn_grpo_w_interaction.yaml │ │ │ ├── gsm8k_multiturn_megatron_grpo.yaml │ │ │ ├── interaction_config/ │ │ │ │ └── gsm8k_interaction_config.yaml │ │ │ ├── retool_multiturn_grpo.yaml │ │ │ ├── search_multiturn_grpo.yaml │ │ │ ├── search_multiturn_grpo_one_step_off.yaml │ │ │ └── tool_config/ │ │ │ ├── geo3k_tool_config.yaml │ │ │ ├── gsm8k_tool_config.yaml │ │ │ ├── mcp_server.json │ │ │ ├── mcp_tool_config.yaml │ │ │ ├── sandbox_fusion_tool_config.yaml │ │ │ └── search_tool_config.yaml │ │ ├── geo3k/ │ │ │ ├── run_qwen2.5-3b_geo3k_multiturn.sh │ │ │ ├── run_qwen2.5-3b_geo3k_multiturn_4xgpu.sh │ │ │ └── run_qwen2.5-3b_megatron_geo3k_multiturn.sh │ │ ├── gsm8k_toolcall_shaping/ │ │ │ ├── gsm8k_toolcall_shaping.py │ │ │ └── run_gsm8k_grpo_toolcall_shaping.sh │ │ ├── run_qwen0.5b_gsm8k_multiturn_curriculum.sh │ │ ├── run_qwen2.5-0.5b_gsm8k_multiturn_w_interaction.sh │ │ ├── run_qwen2.5-3b_gsm8k_multiturn.sh │ │ ├── run_qwen2.5-3b_gsm8k_multiturn_4xgpu.sh │ │ ├── run_qwen2.5-3b_gsm8k_multiturn_4xgpu_server.sh │ │ ├── run_qwen2.5-3b_gsm8k_multiturn_server.sh │ │ ├── run_qwen2.5-3b_gsm8k_multiturn_vllm_fsdp.sh │ │ ├── run_qwen2.5-3b_gsm8k_tool_agent_mlflow.sh │ │ ├── run_qwen2.5-3b_megatron_gsm8k_multiturn.sh │ │ ├── run_qwen3-4b_gsm8k_multiturn.sh │ │ ├── run_qwen3_4b_dapo_multiturn.sh │ │ └── search_r1_like/ │ │ ├── local_dense_retriever/ │ │ │ ├── download.py │ │ │ └── retrieval_server.py │ │ └── run_qwen2.5-3b_instruct_search_multiturn.sh │ ├── skypilot/ │ │ ├── README.md │ │ ├── verl-grpo.yaml │ │ ├── verl-multiturn-tools.yaml │ │ └── verl-ppo.yaml │ ├── slurm/ │ │ └── ray_on_slurm.slurm │ ├── split_placement/ │ │ ├── README.md │ │ ├── config/ │ │ │ └── ppo_trainer_split.yaml │ │ ├── main_ppo_split.py │ │ ├── run_deepseek7b_llm.sh │ │ └── split_monkey_patch.py │ ├── tuning/ │ │ ├── 0.5b/ │ │ │ └── qwen2-0.5b_grpo-lora_1_h100_fsdp_vllm.sh │ │ ├── 1.5b/ │ │ │ └── qwen2-1.5b_grpo-lora_1_h100_fsdp_vllm.sh │ │ ├── 14b/ │ │ │ ├── qwen2-14b_grpo-lora_2_h100_fsdp_vllm.sh │ │ │ └── qwen2_14b_grpo_4_h800_fsdp_vllm.sh │ │ ├── 32b/ │ │ │ ├── qwen2-32b_grpo-lora_4_h100_fsdp_vllm.sh │ │ │ └── qwen2_32B_grpo_8_h20_megatron_vllm.sh │ │ ├── 3b/ │ │ │ └── qwen2-3b_grpo-lora_1_h100_fsdp_vllm.sh │ │ ├── 70b/ │ │ │ ├── qwen2-70b_grpo_32_h20_fsdp_vllm.sh │ │ │ ├── qwen2-70b_grpo_32_h800_fsdp_vllm.sh │ │ │ └── qwen2-72b_grpo-lora_8_h100_fsdp_vllm.sh │ │ └── 7b/ │ │ ├── qwen2-7b_grpo-lora_1_h100_fsdp_vllm.sh │ │ └── qwen2-7b_grpo_2_h800_fsdp_vllm.sh │ └── tutorial/ │ └── agent_loop_get_started/ │ ├── agent_loop_tutorial.ipynb │ └── sandbox.py ├── pyproject.toml ├── requirements-cuda.txt ├── requirements-npu.txt ├── requirements-test.txt ├── requirements.txt ├── requirements_sglang.txt ├── scripts/ │ ├── __init__.py │ ├── converter_hf_to_mcore.py │ ├── diagnose.py │ ├── generate_trainer_config.sh │ ├── init_random_model.py │ ├── install_sglang_mcore_npu.sh │ ├── install_vllm_sglang_mcore.sh │ ├── legacy_model_merger.py │ ├── megatron_merge_lora.py │ ├── print_cfg.py │ ├── rollout_viewer.py │ └── veomni/ │ ├── moe_merge.py │ └── moe_split.py ├── setup.py ├── tests/ │ ├── README.md │ ├── __init__.py │ ├── checkpoint_engine/ │ │ ├── __init__.py │ │ ├── test_correctness_on_gpu.py │ │ ├── test_correctness_on_npu.py │ │ ├── test_special_server_adapter.py │ │ └── test_utils.py │ ├── experimental/ │ │ ├── agent_loop/ │ │ │ ├── agent_utils.py │ │ │ ├── qwen_vl_tool_chat_template.jinja2 │ │ │ ├── test_agent_loop_extra_fields_schema_on_cpu.py │ │ │ ├── test_basic_agent_loop.py │ │ │ ├── test_gpt_oss_tool_parser.py │ │ │ ├── test_multi_modal.py │ │ │ └── test_standalone_rollout.py │ │ ├── reward_loop/ │ │ │ ├── reward_fn.py │ │ │ ├── test_agent_reward_loop_colocate.py │ │ │ ├── test_agent_reward_loop_standalone.py │ │ │ ├── test_async_token_bucket_on_cpu.py │ │ │ ├── test_math_verify.py │ │ │ ├── test_rate_limited_reward_manager_on_cpu.py │ │ │ ├── test_reward_model_disrm.py │ │ │ └── test_reward_model_genrm.py │ │ └── vla/ │ │ └── test_sim_envs.py │ ├── interactions/ │ │ ├── __init__.py │ │ ├── test_gsm8k_interaction.py │ │ └── test_interaction_registry.py │ ├── kill_github_tests.sh │ ├── models/ │ │ ├── test_engine.py │ │ ├── test_tiled_mlp_accuracy.py │ │ ├── test_transformer.py │ │ └── test_transformers_ulysses.py │ ├── single_controller/ │ │ ├── __init__.py │ │ ├── base/ │ │ │ └── test_decorator.py │ │ ├── check_worker_alive/ │ │ │ └── main.py │ │ ├── detached_worker/ │ │ │ ├── README.md │ │ │ ├── client.py │ │ │ ├── run.sh │ │ │ └── server.py │ │ ├── test_auto_padding_on_cpu.py │ │ ├── test_colocated_workers.py │ │ ├── test_colocated_workers_fused.py │ │ ├── test_data_transfer.py │ │ ├── test_decorator_on_cpu.py │ │ ├── test_device_mesh_register.py │ │ ├── test_driverfunc_to_worker.py │ │ ├── test_fused_workers_on_cpu.py │ │ ├── test_get_set_dispatch_collect_cpu.py │ │ ├── test_high_level_scheduling_api.py │ │ ├── test_nested_worker.py │ │ ├── test_ray_collectives.py │ │ ├── test_ray_local_envs_on_cpu.py │ │ ├── test_ray_utils_on_cpu.py │ │ ├── test_rvdz.py │ │ ├── test_split_resource_pool.py │ │ ├── test_worker_group_basics.py │ │ └── test_worker_group_torch.py │ ├── special_distributed/ │ │ ├── README.md │ │ ├── run_all.sh │ │ ├── test_fsdp_ckpt.py │ │ ├── test_mcore_config_converter.py │ │ ├── test_tensor_dict.py │ │ └── test_torch_functional.py │ ├── special_e2e/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── check_custom_rwd_fn.py │ │ ├── check_results.py │ │ ├── envs/ │ │ │ ├── __init__.py │ │ │ └── digit_completion/ │ │ │ ├── __init__.py │ │ │ ├── task.py │ │ │ └── tokenizer.py │ │ ├── generation/ │ │ │ ├── run_gen_qwen05.sh │ │ │ └── run_gen_qwen05_server.sh │ │ ├── ppo_trainer/ │ │ │ ├── expert_parallel/ │ │ │ │ ├── qwen2moe_minimal.json │ │ │ │ └── qwen3moe_minimal.json │ │ │ ├── run_function_reward.sh │ │ │ ├── run_model_reward.sh │ │ │ ├── run_single_gpu.sh │ │ │ └── run_single_gpu_with_engine.sh │ │ ├── run_dapo.sh │ │ ├── run_fully_async_policy.sh │ │ ├── run_geo3k_fsdp_sgl_multiturn_w_tool.sh │ │ ├── run_grpo_lora_with_merge.sh │ │ ├── run_gsm8k_fsdp_sgl_multiturn_sf_tool.sh │ │ ├── run_gsm8k_fsdp_sgl_multiturn_w_tool.sh │ │ ├── run_one_step_off_policy.sh │ │ ├── run_ppo_trainer_megatron.sh │ │ ├── run_ppo_trainer_torchtitan.sh │ │ ├── run_ppo_trainer_veomni.sh │ │ ├── run_test.sh │ │ └── sft/ │ │ ├── compare_sft_engine_results.py │ │ ├── run_sft.sh │ │ ├── run_sft_engine.sh │ │ └── test_sft_engine_all.sh │ ├── special_npu/ │ │ ├── nightly_ci_ascend/ │ │ │ ├── run_grpo_qwen25-7b-instruct_fsdp_npu.sh │ │ │ ├── run_grpo_qwen25-vl-3b-instruct_fsdp_npu.sh │ │ │ └── run_ppo_qwen3-8b_fsdp_npu.sh │ │ ├── run_qwen2_5_05b_grpo.sh │ │ ├── run_qwen2_5_05b_grpo_mindspeed.sh │ │ ├── run_qwen2_5_05b_sft_peft_sp2.sh │ │ ├── run_qwen2_5_vl_3b_npu.sh │ │ ├── run_qwen3_06b_ppo.sh │ │ └── run_qwen3_30b_grpo_mindspeed.sh │ ├── special_sanity/ │ │ ├── check_api_docs.py │ │ ├── check_dataproto_usage.py │ │ ├── check_device_api_usage.py │ │ ├── check_docs_time_info.py │ │ ├── check_docstrings.py │ │ ├── check_license.py │ │ ├── check_pr_description.py │ │ ├── check_pr_title.py │ │ ├── test_config_docs.py │ │ ├── test_import.py │ │ ├── type_coverage_check.py │ │ ├── validate_imported_docs.py │ │ └── validate_structure.py │ ├── special_standalone/ │ │ ├── README.md │ │ └── test_memory_buffers.py │ ├── test_base_config_on_cpu.py │ ├── test_protocol_on_cpu.py │ ├── test_protocol_v2_on_cpu.py │ ├── trainer/ │ │ ├── __init__.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ ├── legacy_ppo_megatron_trainer.yaml │ │ │ ├── legacy_ppo_trainer.yaml │ │ │ ├── test_algo_config_on_cpu.py │ │ │ └── test_legacy_config_on_cpu.py │ │ └── ppo/ │ │ ├── __init__.py │ │ ├── test_core_algos_on_cpu.py │ │ ├── test_metric_utils_on_cpu.py │ │ ├── test_rollout_corr.py │ │ └── test_rollout_corr_integration.py │ ├── utils/ │ │ ├── _test_module.py │ │ ├── ckpt/ │ │ │ ├── test_checkpoint_cleanup_on_cpu.py │ │ │ └── test_esi_save_ckpt_on_cpu.py │ │ ├── dataset/ │ │ │ ├── test_create_rl_sampler_on_cpu.py │ │ │ ├── test_multiturn_sft_dataset_on_cpu.py │ │ │ ├── test_rl_collate_fn_on_cpu.py │ │ │ └── test_rl_dataset_on_cpu.py │ │ ├── debug/ │ │ │ └── test_metrics.py │ │ ├── megatron/ │ │ │ └── test_pipeline_parallel.py │ │ ├── reward_score/ │ │ │ ├── reward_score/ │ │ │ │ └── test_sandbox_fusion_on_cpu.py │ │ │ └── test_sandbox_on_cpu.py │ │ ├── test_activation_offload.py │ │ ├── test_bucketed_weight_transfer.py │ │ ├── test_check_ipc_version_support_on_npu.py │ │ ├── test_check_profiler_output.py │ │ ├── test_config_on_cpu.py │ │ ├── test_flops_counter.py │ │ ├── test_fs_on_cpu.py │ │ ├── test_fsdp2_peft_wrapping.py │ │ ├── test_fsdp_lora_merge.py │ │ ├── test_groupwise.py │ │ ├── test_import_utils_on_cpu.py │ │ ├── test_linear_cross_entropy.py │ │ ├── test_mlflow_key_sanitization.py │ │ ├── test_model_on_cpu.py │ │ ├── test_normalize_peft_param_name.py │ │ ├── test_normalize_peft_param_name_on_cpu.py │ │ ├── test_nvtx_profile.py │ │ ├── test_padding_on_cpu.py │ │ ├── test_prepare_micro_batches_with_group_size.py │ │ ├── test_rollout_skip_on_cpu.py │ │ ├── test_rollout_trace_on_cpu.py │ │ ├── test_seqlen_balancing.py │ │ ├── test_server_profiler.py │ │ ├── test_shared_memory.py │ │ ├── test_special_linear_cross_entropy_tp.py │ │ ├── test_special_mstx_profile.py │ │ ├── test_temp_env_on_cpu.py │ │ ├── test_timeout_decorator_cpu.py │ │ ├── test_tokenizer_normalize_on_cpu.py │ │ ├── test_torch_functional.py │ │ └── test_torch_profile.py │ └── workers/ │ ├── actor/ │ │ └── test_special_dp_actor.py │ ├── config/ │ │ ├── test_actor_config_on_cpu.py │ │ ├── test_critic_config_on_cpu.py │ │ ├── test_engine_config_on_cpu.py │ │ ├── test_model_config_on_cpu.py │ │ └── test_optim_config_on_cpu.py │ ├── critic/ │ │ └── test_special_dp_critic.py │ ├── reward_manager/ │ │ └── test_registry_on_cpu.py │ ├── rollout/ │ │ ├── perf/ │ │ │ └── vllm_async_rollout.py │ │ ├── resource/ │ │ │ └── tool_configs/ │ │ │ ├── mcp_server.json │ │ │ ├── mcp_tool_config │ │ │ ├── sandbox_fusion_tool_config │ │ │ └── search_tool_config │ │ ├── rollout_sglang/ │ │ │ └── test_http_server_engine.py │ │ ├── rollout_trtllm/ │ │ │ ├── __init__.py │ │ │ ├── test_adapter.py │ │ │ ├── test_async_server.py │ │ │ └── test_trtllm_rollout_utils.py │ │ ├── rollout_vllm/ │ │ │ ├── run_fsdp_vllm.py │ │ │ └── test_vllm_abort.py │ │ ├── test_hf_rollout.py │ │ ├── test_sglang_async_rollout_multimodal_delta.py │ │ ├── test_sglang_rollout_sharding_manager.py │ │ └── test_vllm_cli_args_on_cpu.py │ ├── test_fsdp_attn_implementation.py │ └── test_fsdp_workers.py └── verl/ ├── __init__.py ├── base_config.py ├── checkpoint_engine/ │ ├── README.md │ ├── __init__.py │ ├── base.py │ ├── hccl_checkpoint_engine.py │ ├── kimi_checkpoint_engine.py │ ├── mooncake_checkpoint_engine.py │ ├── nccl_checkpoint_engine.py │ └── nixl_checkpoint_engine.py ├── experimental/ │ ├── __init__.py │ ├── agent_loop/ │ │ ├── __init__.py │ │ ├── agent_loop.py │ │ ├── prometheus_utils.py │ │ ├── single_turn_agent_loop.py │ │ ├── tool_agent_loop.py │ │ ├── tool_parser.py │ │ └── utils.py │ ├── dataset/ │ │ ├── __init__.py │ │ └── sampler.py │ ├── dynamic_dataset/ │ │ ├── __init__.py │ │ └── dynamicgen_dataset.py │ ├── fully_async_policy/ │ │ ├── README.md │ │ ├── README_zh.md │ │ ├── agent_loop/ │ │ │ ├── __init__.py │ │ │ └── agent_loop.py │ │ ├── config/ │ │ │ ├── fully_async_ppo_megatron_trainer.yaml │ │ │ └── fully_async_ppo_trainer.yaml │ │ ├── detach_utils.py │ │ ├── fully_async_main.py │ │ ├── fully_async_rollouter.py │ │ ├── fully_async_trainer.py │ │ ├── message_queue.py │ │ ├── shell/ │ │ │ ├── dapo_30b_a3b_base_math_fsdp.sh │ │ │ ├── dapo_7b_async_retool.sh │ │ │ ├── dapo_7b_math_fsdp2_16_16.sh │ │ │ ├── dapo_7b_math_fsdp2_32_32.sh │ │ │ ├── dapo_7b_math_fsdp2_4_12.sh │ │ │ ├── dapo_7b_math_fsdp2_4_4.sh │ │ │ ├── dapo_7b_math_fsdp2_64_64.sh │ │ │ ├── dapo_7b_math_fsdp2_64_64_mis.sh │ │ │ ├── dapo_7b_math_fsdp2_8_8.sh │ │ │ ├── geo3k_qwen25vl_7b_megatron_4_4.sh │ │ │ ├── grpo_30b_a3b_base_math_megatron_96_32.sh │ │ │ ├── grpo_30b_a3b_base_math_megatron_96_32_mis.sh │ │ │ └── runtime_env.yaml │ │ └── unittest/ │ │ └── simple_streaming_demo.py │ ├── one_step_off_policy/ │ │ ├── README.md │ │ ├── config/ │ │ │ ├── one_step_off_ppo_megatron_trainer.yaml │ │ │ └── one_step_off_ppo_trainer.yaml │ │ ├── main_ppo.py │ │ ├── ray_trainer.py │ │ └── shell/ │ │ ├── dapo_7b_math_fsdp2_4_12.sh │ │ ├── dapo_7b_math_fsdp2_64_64.sh │ │ ├── dapo_7b_math_fsdp2_64_64_ris.sh │ │ ├── dapo_7b_math_fsdp2_colocate.sh │ │ ├── dapo_7b_math_fsdp2_sglang_4_12.sh │ │ ├── dapo_7b_math_fsdp2_sglang_colocate.sh │ │ ├── dapo_7b_math_megatron_4_12.sh │ │ ├── dapo_7b_math_megatron_colocate.sh │ │ ├── grpo_0.6b_gsm8k_fsdp2_2_6.sh │ │ ├── grpo_0.6b_gsm8k_fsdp2_sglang_2_6.sh │ │ ├── grpo_3b_gsm8k_fsdp2_2_6.sh │ │ └── grpo_qwen3_8b_gsm8k_fsdp2_8_8_npu.sh │ ├── reward_loop/ │ │ ├── __init__.py │ │ ├── reward_loop.py │ │ ├── reward_manager/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── dapo.py │ │ │ ├── gdpo.py │ │ │ ├── limited.py │ │ │ ├── naive.py │ │ │ ├── registry.py │ │ │ └── remote.py │ │ ├── reward_model.py │ │ └── router/ │ │ ├── inner_sglang_router.py │ │ └── naive_router.py │ ├── separation/ │ │ ├── __init__.py │ │ ├── engine_workers.py │ │ ├── ray_trainer.py │ │ └── utils.py │ └── vla/ │ ├── README.md │ ├── config/ │ │ ├── rob_ppo_trainer.yaml │ │ └── rob_sac_trainer.yaml │ ├── dp_rob.py │ ├── env_loop.py │ ├── envs/ │ │ ├── __init__.py │ │ ├── action_utils.py │ │ ├── isaac_env/ │ │ │ ├── __init__.py │ │ │ └── isaac_env.py │ │ └── libero_env/ │ │ ├── __init__.py │ │ ├── libero_env.py │ │ ├── utils.py │ │ └── venv.py │ ├── fsdp_workers.py │ ├── main_ppo.py │ ├── main_sac.py │ ├── models/ │ │ ├── __init__.py │ │ ├── modules/ │ │ │ └── mlp.py │ │ ├── openvla_oft/ │ │ │ ├── __init__.py │ │ │ ├── configuration_prismatic.py │ │ │ ├── constants.py │ │ │ ├── modeling_prismatic.py │ │ │ ├── processing_prismatic.py │ │ │ └── train_utils.py │ │ ├── pi0_torch/ │ │ │ ├── __init__.py │ │ │ ├── configuration_pi0_torch.py │ │ │ ├── model/ │ │ │ │ ├── modeling_pi0.py │ │ │ │ └── paligemma_with_expert.py │ │ │ ├── modeling_pi0_torch.py │ │ │ ├── pi0_utils.py │ │ │ └── policy/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ └── libero_policy.py │ │ └── register_vla_models.py │ ├── naive_rollout_rob.py │ ├── prepare_libero_dataset.py │ ├── requirements_vla.txt │ ├── rob_ray_trainer.py │ ├── run_pi05_libero_sac.sh │ ├── run_pi05_libero_sac_disagg.sh │ ├── run_simpleVLA_isaac_disagg.sh │ ├── run_simpleVLA_libero_grpo.sh │ ├── sac/ │ │ ├── base.py │ │ ├── naive_rollout_pi05.py │ │ ├── replay_pool.py │ │ ├── sac_actor.py │ │ └── sac_ray_trainer.py │ └── workers/ │ └── env/ │ ├── env_loop_wg_test.py │ ├── env_manager.py │ └── env_worker.py ├── interactions/ │ ├── __init__.py │ ├── base.py │ ├── gsm8k_interaction.py │ ├── utils/ │ │ ├── __init__.py │ │ └── interaction_registry.py │ └── weather_interaction.py ├── model_merger/ │ ├── __init__.py │ ├── __main__.py │ ├── base_model_merger.py │ ├── fsdp_model_merger.py │ └── megatron_model_merger.py ├── models/ │ ├── README.md │ ├── __init__.py │ ├── llama/ │ │ ├── __init__.py │ │ └── megatron/ │ │ ├── __init__.py │ │ ├── checkpoint_utils/ │ │ │ ├── __init__.py │ │ │ ├── llama_loader.py │ │ │ ├── llama_loader_depracated.py │ │ │ └── llama_saver.py │ │ ├── layers/ │ │ │ ├── __init__.py │ │ │ ├── parallel_attention.py │ │ │ ├── parallel_decoder.py │ │ │ ├── parallel_linear.py │ │ │ ├── parallel_mlp.py │ │ │ └── parallel_rmsnorm.py │ │ └── modeling_llama_megatron.py │ ├── mcore/ │ │ ├── __init__.py │ │ ├── bridge.py │ │ ├── config_converter.py │ │ ├── loader.py │ │ ├── mbridge.py │ │ ├── model_forward.py │ │ ├── model_forward_1f1b_overlap.py │ │ ├── model_forward_fused.py │ │ ├── model_initializer.py │ │ ├── mtp_patch.py │ │ ├── patch.py │ │ ├── qwen2_5_vl/ │ │ │ ├── __init__.py │ │ │ ├── attention.py │ │ │ ├── model.py │ │ │ ├── rope_utils.py │ │ │ ├── vision_config.py │ │ │ ├── vision_model.py │ │ │ └── vision_transformer_block.py │ │ ├── readme.md │ │ ├── registry.py │ │ ├── saver.py │ │ ├── util.py │ │ └── weight_converter.py │ ├── qwen2/ │ │ ├── __init__.py │ │ └── megatron/ │ │ ├── __init__.py │ │ ├── checkpoint_utils/ │ │ │ ├── __init__.py │ │ │ ├── qwen2_loader.py │ │ │ ├── qwen2_loader_depracated.py │ │ │ └── qwen2_saver.py │ │ ├── layers/ │ │ │ ├── __init__.py │ │ │ ├── parallel_attention.py │ │ │ ├── parallel_decoder.py │ │ │ ├── parallel_linear.py │ │ │ ├── parallel_mlp.py │ │ │ └── parallel_rmsnorm.py │ │ └── modeling_qwen2_megatron.py │ ├── registry.py │ ├── transformers/ │ │ ├── __init__.py │ │ ├── apertus.py │ │ ├── dense_common.py │ │ ├── glm4v.py │ │ ├── kimi_vl.py │ │ ├── llama.py │ │ ├── monkey_patch.py │ │ ├── npu_patch.py │ │ ├── qwen2.py │ │ ├── qwen2_vl.py │ │ ├── qwen3_vl.py │ │ └── tiled_mlp.py │ └── weight_loader_registry.py ├── protocol.py ├── py.typed ├── single_controller/ │ ├── __init__.py │ ├── base/ │ │ ├── __init__.py │ │ ├── decorator.py │ │ ├── worker.py │ │ └── worker_group.py │ └── ray/ │ ├── __init__.py │ └── base.py ├── third_party/ │ ├── __init__.py │ ├── torch/ │ │ ├── __init__.py │ │ └── distributed/ │ │ ├── __init__.py │ │ ├── _state_dict_utils.py │ │ └── checkpoint/ │ │ ├── __init__.py │ │ └── state_dict.py │ └── vllm/ │ └── __init__.py ├── tools/ │ ├── __init__.py │ ├── base_tool.py │ ├── geo3k_tool.py │ ├── gsm8k_tool.py │ ├── image_zoom_in_tool.py │ ├── mcp_base_tool.py │ ├── mcp_search_tool.py │ ├── sandbox_fusion_tools.py │ ├── schemas.py │ ├── search_tool.py │ └── utils/ │ ├── __init__.py │ ├── mcp_clients/ │ │ ├── McpClientManager.py │ │ └── utils.py │ ├── search_r1_like_utils.py │ └── tool_registry.py ├── trainer/ │ ├── README.md │ ├── __init__.py │ ├── config/ │ │ ├── __init__.py │ │ ├── _generated_ppo_megatron_trainer.yaml │ │ ├── _generated_ppo_torchtitan_trainer.yaml │ │ ├── _generated_ppo_trainer.yaml │ │ ├── _generated_ppo_veomni_trainer.yaml │ │ ├── actor/ │ │ │ ├── actor.yaml │ │ │ ├── dp_actor.yaml │ │ │ ├── megatron_actor.yaml │ │ │ ├── torchtitan_actor.yaml │ │ │ └── veomni_actor.yaml │ │ ├── algorithm/ │ │ │ └── rollout_correction.yaml │ │ ├── algorithm.py │ │ ├── config.py │ │ ├── critic/ │ │ │ ├── critic.yaml │ │ │ ├── dp_critic.yaml │ │ │ ├── megatron_critic.yaml │ │ │ ├── torchtitan_critic.yaml │ │ │ └── veomni_critic.yaml │ │ ├── data/ │ │ │ └── legacy_data.yaml │ │ ├── engine/ │ │ │ ├── automodel.yaml │ │ │ ├── fsdp.yaml │ │ │ ├── megatron.yaml │ │ │ ├── torchtitan.yaml │ │ │ └── veomni.yaml │ │ ├── evaluation.yaml │ │ ├── legacy_reward_impl.yaml │ │ ├── model/ │ │ │ └── hf_model.yaml │ │ ├── model_engine/ │ │ │ ├── dp.yaml │ │ │ ├── torchtitan.yaml │ │ │ └── veomni.yaml │ │ ├── npu_profile/ │ │ │ └── npu_profile.yaml │ │ ├── optim/ │ │ │ ├── automodel.yaml │ │ │ ├── fsdp.yaml │ │ │ ├── megatron.yaml │ │ │ ├── torchtitan.yaml │ │ │ └── veomni.yaml │ │ ├── ppo_megatron_trainer.yaml │ │ ├── ppo_trainer.yaml │ │ ├── profiler/ │ │ │ └── profiler.yaml │ │ ├── ref/ │ │ │ ├── dp_ref.yaml │ │ │ ├── megatron_ref.yaml │ │ │ ├── ref.yaml │ │ │ ├── torchtitan_ref.yaml │ │ │ └── veomni_ref.yaml │ │ ├── reward/ │ │ │ └── reward.yaml │ │ ├── rollout/ │ │ │ └── rollout.yaml │ │ └── sft_trainer_engine.yaml │ ├── constants_ppo.py │ ├── main_eval.py │ ├── main_generation_server.py │ ├── main_ppo.py │ ├── ppo/ │ │ ├── __init__.py │ │ ├── core_algos.py │ │ ├── metric_utils.py │ │ ├── prefix_grouper_utils.py │ │ ├── ray_trainer.py │ │ ├── reward.py │ │ ├── rollout_corr_helper.py │ │ └── utils.py │ ├── runtime_env.yaml │ ├── sft_trainer.py │ └── sft_trainer_ray.py ├── utils/ │ ├── __init__.py │ ├── activation_offload.py │ ├── attention_utils.py │ ├── chat_template.py │ ├── checkpoint/ │ │ ├── __init__.py │ │ ├── checkpoint_handler.py │ │ ├── checkpoint_manager.py │ │ ├── fsdp_checkpoint_manager.py │ │ └── megatron_checkpoint_manager.py │ ├── config.py │ ├── dataset/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── dataset_utils.py │ │ ├── multiturn_sft_dataset.py │ │ ├── rl_dataset.py │ │ ├── rm_dataset.py │ │ └── vision_utils.py │ ├── debug/ │ │ ├── __init__.py │ │ ├── metrics.py │ │ ├── performance.py │ │ └── trajectory_tracker.py │ ├── device.py │ ├── distributed.py │ ├── experimental/ │ │ ├── __init__.py │ │ └── torch_functional.py │ ├── flops_counter.py │ ├── fp8_utils.py │ ├── fs.py │ ├── fsdp_utils.py │ ├── groupwise.py │ ├── hdfs_io.py │ ├── import_utils.py │ ├── kernel/ │ │ ├── __init__.py │ │ ├── fp8_kernel.py │ │ ├── kernels.py │ │ └── linear_cross_entropy.py │ ├── logger/ │ │ ├── __init__.py │ │ └── aggregate_logger.py │ ├── logging_utils.py │ ├── megatron/ │ │ ├── __init__.py │ │ ├── dist_checkpointing.py │ │ ├── memory.py │ │ ├── optimizer.py │ │ ├── pipeline_parallel.py │ │ ├── router_replay_patch.py │ │ ├── router_replay_utils.py │ │ ├── sequence_parallel.py │ │ └── tensor_parallel.py │ ├── megatron_peft_utils.py │ ├── megatron_utils.py │ ├── memory_utils.py │ ├── metric/ │ │ ├── __init__.py │ │ └── utils.py │ ├── model.py │ ├── net_utils.py │ ├── npu_flash_attn_utils.py │ ├── profiler/ │ │ ├── __init__.py │ │ ├── config.py │ │ ├── empty_annotations.py │ │ ├── mstx_profile.py │ │ ├── nvtx_profile.py │ │ ├── performance.py │ │ ├── profile.py │ │ └── torch_profile.py │ ├── py_functional.py │ ├── qat/ │ │ ├── __init__.py │ │ ├── core.py │ │ ├── linear.py │ │ ├── quantizer.py │ │ └── vllm_patch.py │ ├── ray_utils.py │ ├── rendezvous/ │ │ ├── __init__.py │ │ └── ray_backend.py │ ├── reward_score/ │ │ ├── __init__.py │ │ ├── geo3k.py │ │ ├── gsm8k.py │ │ ├── math_batch.py │ │ ├── math_dapo.py │ │ ├── math_reward.py │ │ ├── math_verify.py │ │ ├── prime_code/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── testing_util.py │ │ │ └── utils.py │ │ ├── prime_math/ │ │ │ ├── __init__.py │ │ │ ├── grader.py │ │ │ └── math_normalize.py │ │ ├── rlla.py │ │ ├── sandbox_fusion/ │ │ │ ├── __init__.py │ │ │ └── utils.py │ │ └── search_r1_like_qa_em.py │ ├── rollout_skip.py │ ├── rollout_trace.py │ ├── seqlen_balancing.py │ ├── sglang/ │ │ └── sglang_fp8_utils.py │ ├── tensordict_utils.py │ ├── tokenizer.py │ ├── torch_dtypes.py │ ├── torch_functional.py │ ├── tracking.py │ ├── transformers_compat.py │ ├── trtllm/ │ │ └── trtllm_fp8_utils.py │ ├── ulysses.py │ └── vllm/ │ ├── __init__.py │ ├── npu_vllm_patch.py │ ├── patch.py │ ├── utils.py │ └── vllm_fp8_utils.py ├── version/ │ └── version └── workers/ ├── __init__.py ├── actor/ │ ├── __init__.py │ ├── base.py │ ├── dp_actor.py │ └── megatron_actor.py ├── config/ │ ├── __init__.py │ ├── actor.py │ ├── critic.py │ ├── engine.py │ ├── megatron_peft.py │ ├── model.py │ ├── optimizer.py │ ├── reward.py │ └── rollout.py ├── critic/ │ ├── __init__.py │ ├── base.py │ ├── dp_critic.py │ └── megatron_critic.py ├── engine/ │ ├── __init__.py │ ├── automodel/ │ │ ├── __init__.py │ │ ├── transformer_impl.py │ │ └── utils.py │ ├── base.py │ ├── fsdp/ │ │ ├── __init__.py │ │ ├── transformer_impl.py │ │ └── utils.py │ ├── megatron/ │ │ ├── __init__.py │ │ ├── transformer_impl.py │ │ └── utils.py │ ├── mindspeed/ │ │ ├── __init__.py │ │ └── transformer_impl.py │ ├── torchtitan/ │ │ ├── __init__.py │ │ ├── transformer_impl.py │ │ └── utils.py │ ├── utils.py │ └── veomni/ │ ├── __init__.py │ ├── transformer_impl.py │ └── utils.py ├── engine_workers.py ├── fsdp_workers.py ├── megatron_workers.py ├── reward_manager/ │ ├── __init__.py │ ├── abstract.py │ ├── batch.py │ ├── dapo.py │ ├── naive.py │ ├── prime.py │ └── registry.py ├── rollout/ │ ├── __init__.py │ ├── base.py │ ├── hf_rollout.py │ ├── naive/ │ │ ├── __init__.py │ │ └── naive_rollout.py │ ├── replica.py │ ├── schemas.py │ ├── sglang_rollout/ │ │ ├── __init__.py │ │ ├── async_sglang_server.py │ │ ├── http_server_engine.py │ │ ├── sglang_rollout.py │ │ └── utils.py │ ├── tokenizer.py │ ├── trtllm_rollout/ │ │ ├── trtllm_async_rollout.md │ │ ├── trtllm_async_server.py │ │ ├── trtllm_rollout.py │ │ └── trtllm_worker_extension.py │ ├── utils.py │ └── vllm_rollout/ │ ├── __init__.py │ ├── bucketed_weight_transfer.py │ ├── utils.py │ ├── vllm_async_server.py │ └── vllm_rollout.py ├── sharding_manager/ │ ├── __init__.py │ ├── base.py │ └── fsdp_ulysses.py └── utils/ ├── __init__.py ├── losses.py └── padding.py