[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XGDG5M4NP3NF4TGPF9CRR7":3,"skill-same:01M6XGDG5M4NP3NF4TGPF9CRR7":97},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":14,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":64,"install":65,"resources":78},"01M6XGDG5M4NP3NF4TGPF9CRR7","openrlhf-training",null,"High-performance RLHF framework with Ray+vLLM acceleration. Use for PPO, GRPO, RLOO, DPO training of large models (7B-70B+). Built on Ray, vLLM, ZeRO-3. 2× faster than DeepSpeedChat with distributed architecture and GPU resource sharing.","fadrienne\u002FMyGitHub","fadrienne","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F197874571?v=4","01M6X64V8VWCRSMFZ4EPS2BWXG","Francesca Adrienne","01M6X64VD5MW4F9PHDWQKS7ZAF",0,"MIT","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"training","openrlhf training","OpenRLHF","PPO","for","high-performance","synthetic","use","Transformers","vLLM","Ray","RLOO","performance","RLHF","Post-Training","ZeRO","Distributed Training","DeepSpeed","framework","architecture","2026-11-10 10:12:30",false,"---\nname: openrlhf-training\ndescription: High-performance RLHF framework with Ray+vLLM acceleration. Use for PPO, GRPO, RLOO, DPO training of large models (7B-70B+). Built on Ray, vLLM, ZeRO-3. 2× faster than DeepSpeedChat with distributed architecture and GPU resource sharing.\ncategory: ml-training\nversion: 1.0.0\nauthor: Synthetic Sciences\nlicense: MIT\ntags: [Post-Training, OpenRLHF, RLHF, PPO, GRPO, RLOO, DPO, Ray, vLLM, Distributed Training, Large Models, ZeRO-3]\ndependencies: [openrlhf, ray, vllm, torch, transformers, deepspeed]\n---\n\n# OpenRLHF - High-Performance RLHF Training\n\n## Quick start\n\nOpenRLHF is a Ray-based RLHF framework optimized for distributed training with vLLM inference acceleration.\n\n**Installation**:\n```bash\n# Launch Docker container\ndocker run --runtime=nvidia -it --rm --shm-size=\"10g\" --cap-add=SYS_ADMIN \\\n  -v $PWD:\u002Fopenrlhf nvcr.io\u002Fnvidia\u002Fpytorch:25.02-py3 bash\n\n# Uninstall conflicts\nsudo pip uninstall xgboost transformer_engine flash_attn pynvml -y\n\n# Install OpenRLHF with vLLM\npip install openrlhf[vllm]\n```\n\n**PPO Training** (Hybrid Engine):\n```bash\nray start --head --node-ip-address 0.0.0.0 --num-gpus 8\n\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  --runtime-env-json='{\"working_dir\": \"\u002Fopenrlhf\"}' \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --critic_num_nodes 1 --critic_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --vllm_gpu_memory_utilization 0.5 \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain OpenRLHF\u002FLlama-3-8b-rm-700k \\\n  --save_path .\u002Foutput\u002Fllama3-8b-rlhf \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --prompt_max_len 1024 --generate_max_len 1024 \\\n  --zero_stage 3 --bf16 \\\n  --actor_learning_rate 5e-7 --critic_learning_rate 9e-6 \\\n  --init_kl_coef 0.01 --normalize_reward \\\n  --gradient_checkpointing --packing_samples \\\n  --vllm_enable_sleep --deepspeed_enable_sleep\n```\n\n**GRPO Training** (Group Normalized Policy Optimization):\n```bash\n# Same command as PPO, but add:\n--advantage_estimator group_norm\n```\n\n## Common workflows\n\n### Workflow 1: Full RLHF pipeline (SFT → Reward Model → PPO)\n\n**Step 1: Train reward model** (DPO):\n```bash\ndeepspeed --module openrlhf.cli.train_rm \\\n  --save_path .\u002Foutput\u002Fllama3-8b-rm \\\n  --save_steps -1 --logging_steps 1 \\\n  --eval_steps -1 --train_batch_size 256 \\\n  --micro_train_batch_size 1 --pretrain meta-llama\u002FMeta-Llama-3-8B \\\n  --bf16 --max_epochs 1 --max_len 8192 \\\n  --zero_stage 3 --learning_rate 9e-6 \\\n  --dataset OpenRLHF\u002Fpreference_dataset_mixture2_and_safe_pku \\\n  --apply_chat_template --chosen_key chosen \\\n  --rejected_key rejected --flash_attn --gradient_checkpointing\n```\n\n**Step 2: PPO training**:\n```bash\nray start --head --node-ip-address 0.0.0.0 --num-gpus 8\n\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --critic_num_nodes 1 --critic_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain .\u002Foutput\u002Fllama3-8b-rm \\\n  --save_path .\u002Foutput\u002Fllama3-8b-ppo \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --prompt_max_len 1024 --generate_max_len 1024 \\\n  --zero_stage 3 --bf16 \\\n  --actor_learning_rate 5e-7 --critic_learning_rate 9e-6 \\\n  --init_kl_coef 0.01 --normalize_reward \\\n  --vllm_enable_sleep --deepspeed_enable_sleep\n```\n\n### Workflow 2: GRPO training (no critic model needed)\n\nMemory-efficient alternative to PPO:\n\n```bash\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --advantage_estimator group_norm \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain OpenRLHF\u002FLlama-3-8b-rm-700k \\\n  --save_path .\u002Foutput\u002Fllama3-8b-grpo \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --bf16 \\\n  --actor_learning_rate 5e-7 \\\n  --init_kl_coef 0.01 --use_kl_loss --kl_estimator k3 \\\n  --normalize_reward --no_advantage_std_norm\n```\n\n**Key GRPO parameters**:\n- `--advantage_estimator group_norm` - Enables GRPO\n- `--use_kl_loss` - KL loss from GRPO paper\n- `--kl_estimator k3` - Loss function (k2 ≈ k1)\n- `--no_advantage_std_norm` - Disables std normalization\n\n### Workflow 3: DPO training (preference optimization)\n\nSimpler alternative without reward model:\n\n```bash\ndeepspeed --module openrlhf.cli.train_dpo \\\n  --save_path .\u002Foutput\u002Fllama3-8b-dpo \\\n  --save_steps -1 --logging_steps 1 \\\n  --eval_steps -1 --train_batch_size 256 \\\n  --micro_train_batch_size 2 --pretrain meta-llama\u002FMeta-Llama-3-8B \\\n  --bf16 --max_epochs 1 --max_len 8192 \\\n  --zero_stage 3 --learning_rate 5e-7 --beta 0.1 \\\n  --dataset OpenRLHF\u002Fpreference_dataset_mixture2_and_safe_pku \\\n  --apply_chat_template --chosen_key chosen \\\n  --rejected_key rejected --flash_attn --gradient_checkpointing\n```\n\n## When to use vs alternatives\n\n**Use OpenRLHF when**:\n- Training large models (7B-70B+) with RL\n- Need vLLM inference acceleration\n- Want distributed architecture with Ray\n- Have multi-node GPU cluster\n- Need PPO\u002FGRPO\u002FRLOO\u002FDPO in one framework\n\n**Algorithm selection**:\n- **PPO**: Maximum control, best for complex rewards\n- **GRPO**: Memory-efficient, no critic needed\n- **RLOO**: Modified PPO with per-token KL\n- **REINFORCE++**: More stable than GRPO, faster than PPO\n- **DPO**: Simplest, no reward model needed\n\n**Use alternatives instead**:\n- **TRL**: Single-node training, simpler API\n- **veRL**: ByteDance's framework for 671B models\n- **DeepSpeedChat**: Integrated with DeepSpeed ecosystem\n\n## Common issues\n\n**Issue: GPU OOM with large models**\n\nDisable model colocation:\n```bash\n# Remove --colocate_all_models flag\n# Allocate separate GPUs for each model\n--actor_num_gpus_per_node 8 \\\n--critic_num_gpus_per_node 8 \\\n--reward_num_gpus_per_node 8 \\\n--ref_num_gpus_per_node 8\n```\n\n**Issue: DeepSpeed GPU index out of range**\n\nSet environment variable:\n```bash\nexport RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1\n```\n\n**Issue: Training instability**\n\nUse Hybrid Engine instead of async:\n```bash\n--colocate_all_models \\\n--vllm_enable_sleep \\\n--deepspeed_enable_sleep\n```\n\nAdjust KL coefficient:\n```bash\n--init_kl_coef 0.05  # Increase from 0.01\n```\n\n**Issue: Slow generation during PPO**\n\nEnable vLLM acceleration:\n```bash\n--vllm_num_engines 4 \\\n--vllm_tensor_parallel_size 2 \\\n--vllm_gpu_memory_utilization 0.5\n```\n\n## Advanced topics\n\n**Hybrid Engine GPU sharing**: See [references\u002Fhybrid-engine.md](references\u002Fhybrid-engine.md) for vLLM sleep mode, DeepSpeed sleep mode, and optimal node allocation.\n\n**Algorithm comparison**: See [references\u002Falgorithm-comparison.md](references\u002Falgorithm-comparison.md) for PPO vs GRPO vs RLOO vs REINFORCE++ benchmarks and hyperparameters.\n\n**Multi-node setup**: See [references\u002Fmulti-node-training.md](references\u002Fmulti-node-training.md) for Ray cluster configuration and fault tolerance.\n\n**Custom reward functions**: See [references\u002Fcustom-rewards.md](references\u002Fcustom-rewards.md) for reinforced fine-tuning and agent RLHF.\n\n## Hardware requirements\n\n- **GPU**: NVIDIA A100\u002FH100 recommended\n- **VRAM**:\n  - 7B model: 8× A100 40GB (Hybrid Engine)\n  - 70B model: 48× A100 80GB (vLLM:Actor:Critic = 1:1:1)\n- **Multi-node**: Ray cluster with InfiniBand recommended\n- **Docker**: NVIDIA PyTorch container 25.02+\n\n**Performance**:\n- 2× faster than DeepSpeedChat\n- vLLM inference acceleration\n- Hybrid Engine minimizes GPU idle time\n\n## Resources\n\n- Docs: https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF\n- Paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.11143\n- Examples: https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF\u002Ftree\u002Fmain\u002Fexamples\n- Discord: Community support\n\n\n\n","# OpenRLHF - High-Performance RLHF Training\n\n## Quick start\n\nOpenRLHF is a Ray-based RLHF framework optimized for distributed training with vLLM inference acceleration.\n\n**Installation**:\n```bash\n# Launch Docker container\ndocker run --runtime=nvidia -it --rm --shm-size=\"10g\" --cap-add=SYS_ADMIN \\\n  -v $PWD:\u002Fopenrlhf nvcr.io\u002Fnvidia\u002Fpytorch:25.02-py3 bash\n\n# Uninstall conflicts\nsudo pip uninstall xgboost transformer_engine flash_attn pynvml -y\n\n# Install OpenRLHF with vLLM\npip install openrlhf[vllm]\n```\n\n**PPO Training** (Hybrid Engine):\n```bash\nray start --head --node-ip-address 0.0.0.0 --num-gpus 8\n\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  --runtime-env-json='{\"working_dir\": \"\u002Fopenrlhf\"}' \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --critic_num_nodes 1 --critic_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --vllm_gpu_memory_utilization 0.5 \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain OpenRLHF\u002FLlama-3-8b-rm-700k \\\n  --save_path .\u002Foutput\u002Fllama3-8b-rlhf \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --prompt_max_len 1024 --generate_max_len 1024 \\\n  --zero_stage 3 --bf16 \\\n  --actor_learning_rate 5e-7 --critic_learning_rate 9e-6 \\\n  --init_kl_coef 0.01 --normalize_reward \\\n  --gradient_checkpointing --packing_samples \\\n  --vllm_enable_sleep --deepspeed_enable_sleep\n```\n\n**GRPO Training** (Group Normalized Policy Optimization):\n```bash\n# Same command as PPO, but add:\n--advantage_estimator group_norm\n```\n\n## Common workflows\n\n### Workflow 1: Full RLHF pipeline (SFT → Reward Model → PPO)\n\n**Step 1: Train reward model** (DPO):\n```bash\ndeepspeed --module openrlhf.cli.train_rm \\\n  --save_path .\u002Foutput\u002Fllama3-8b-rm \\\n  --save_steps -1 --logging_steps 1 \\\n  --eval_steps -1 --train_batch_size 256 \\\n  --micro_train_batch_size 1 --pretrain meta-llama\u002FMeta-Llama-3-8B \\\n  --bf16 --max_epochs 1 --max_len 8192 \\\n  --zero_stage 3 --learning_rate 9e-6 \\\n  --dataset OpenRLHF\u002Fpreference_dataset_mixture2_and_safe_pku \\\n  --apply_chat_template --chosen_key chosen \\\n  --rejected_key rejected --flash_attn --gradient_checkpointing\n```\n\n**Step 2: PPO training**:\n```bash\nray start --head --node-ip-address 0.0.0.0 --num-gpus 8\n\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --critic_num_nodes 1 --critic_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain .\u002Foutput\u002Fllama3-8b-rm \\\n  --save_path .\u002Foutput\u002Fllama3-8b-ppo \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --prompt_max_len 1024 --generate_max_len 1024 \\\n  --zero_stage 3 --bf16 \\\n  --actor_learning_rate 5e-7 --critic_learning_rate 9e-6 \\\n  --init_kl_coef 0.01 --normalize_reward \\\n  --vllm_enable_sleep --deepspeed_enable_sleep\n```\n\n### Workflow 2: GRPO training (no critic model needed)\n\nMemory-efficient alternative to PPO:\n\n```bash\nray job submit --address=\"http:\u002F\u002F127.0.0.1:8265\" \\\n  -- python3 -m openrlhf.cli.train_ppo_ray \\\n  --advantage_estimator group_norm \\\n  --ref_num_nodes 1 --ref_num_gpus_per_node 8 \\\n  --reward_num_nodes 1 --reward_num_gpus_per_node 8 \\\n  --actor_num_nodes 1 --actor_num_gpus_per_node 8 \\\n  --vllm_num_engines 4 --vllm_tensor_parallel_size 2 \\\n  --colocate_all_models \\\n  --pretrain OpenRLHF\u002FLlama-3-8b-sft-mixture \\\n  --reward_pretrain OpenRLHF\u002FLlama-3-8b-rm-700k \\\n  --save_path .\u002Foutput\u002Fllama3-8b-grpo \\\n  --micro_train_batch_size 8 --train_batch_size 128 \\\n  --micro_rollout_batch_size 16 --rollout_batch_size 1024 \\\n  --max_epochs 1 --bf16 \\\n  --actor_learning_rate 5e-7 \\\n  --init_kl_coef 0.01 --use_kl_loss --kl_estimator k3 \\\n  --normalize_reward --no_advantage_std_norm\n```\n\n**Key GRPO parameters**:\n- `--advantage_estimator group_norm` - Enables GRPO\n- `--use_kl_loss` - KL loss from GRPO paper\n- `--kl_estimator k3` - Loss function (k2 ≈ k1)\n- `--no_advantage_std_norm` - Disables std normalization\n\n### Workflow 3: DPO training (preference optimization)\n\nSimpler alternative without reward model:\n\n```bash\ndeepspeed --module openrlhf.cli.train_dpo \\\n  --save_path .\u002Foutput\u002Fllama3-8b-dpo \\\n  --save_steps -1 --logging_steps 1 \\\n  --eval_steps -1 --train_batch_size 256 \\\n  --micro_train_batch_size 2 --pretrain meta-llama\u002FMeta-Llama-3-8B \\\n  --bf16 --max_epochs 1 --max_len 8192 \\\n  --zero_stage 3 --learning_rate 5e-7 --beta 0.1 \\\n  --dataset OpenRLHF\u002Fpreference_dataset_mixture2_and_safe_pku \\\n  --apply_chat_template --chosen_key chosen \\\n  --rejected_key rejected --flash_attn --gradient_checkpointing\n```\n\n## When to use vs alternatives\n\n**Use OpenRLHF when**:\n- Training large models (7B-70B+) with RL\n- Need vLLM inference acceleration\n- Want distributed architecture with Ray\n- Have multi-node GPU cluster\n- Need PPO\u002FGRPO\u002FRLOO\u002FDPO in one framework\n\n**Algorithm selection**:\n- **PPO**: Maximum control, best for complex rewards\n- **GRPO**: Memory-efficient, no critic needed\n- **RLOO**: Modified PPO with per-token KL\n- **REINFORCE++**: More stable than GRPO, faster than PPO\n- **DPO**: Simplest, no reward model needed\n\n**Use alternatives instead**:\n- **TRL**: Single-node training, simpler API\n- **veRL**: ByteDance's framework for 671B models\n- **DeepSpeedChat**: Integrated with DeepSpeed ecosystem\n\n## Common issues\n\n**Issue: GPU OOM with large models**\n\nDisable model colocation:\n```bash\n# Remove --colocate_all_models flag\n# Allocate separate GPUs for each model\n--actor_num_gpus_per_node 8 \\\n--critic_num_gpus_per_node 8 \\\n--reward_num_gpus_per_node 8 \\\n--ref_num_gpus_per_node 8\n```\n\n**Issue: DeepSpeed GPU index out of range**\n\nSet environment variable:\n```bash\nexport RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1\n```\n\n**Issue: Training instability**\n\nUse Hybrid Engine instead of async:\n```bash\n--colocate_all_models \\\n--vllm_enable_sleep \\\n--deepspeed_enable_sleep\n```\n\nAdjust KL coefficient:\n```bash\n--init_kl_coef 0.05  # Increase from 0.01\n```\n\n**Issue: Slow generation during PPO**\n\nEnable vLLM acceleration:\n```bash\n--vllm_num_engines 4 \\\n--vllm_tensor_parallel_size 2 \\\n--vllm_gpu_memory_utilization 0.5\n```\n\n## Advanced topics\n\n**Hybrid Engine GPU sharing**: See [references\u002Fhybrid-engine.md](references\u002Fhybrid-engine.md) for vLLM sleep mode, DeepSpeed sleep mode, and optimal node allocation.\n\n**Algorithm comparison**: See [references\u002Falgorithm-comparison.md](references\u002Falgorithm-comparison.md) for PPO vs GRPO vs RLOO vs REINFORCE++ benchmarks and hyperparameters.\n\n**Multi-node setup**: See [references\u002Fmulti-node-training.md](references\u002Fmulti-node-training.md) for Ray cluster configuration and fault tolerance.\n\n**Custom reward functions**: See [references\u002Fcustom-rewards.md](references\u002Fcustom-rewards.md) for reinforced fine-tuning and agent RLHF.\n\n## Hardware requirements\n\n- **GPU**: NVIDIA A100\u002FH100 recommended\n- **VRAM**:\n  - 7B model: 8× A100 40GB (Hybrid Engine)\n  - 70B model: 48× A100 80GB (vLLM:Actor:Critic = 1:1:1)\n- **Multi-node**: Ray cluster with InfiniBand recommended\n- **Docker**: NVIDIA PyTorch container 25.02+\n\n**Performance**:\n- 2× faster than DeepSpeedChat\n- vLLM inference acceleration\n- Hybrid Engine minimizes GPU idle time\n\n## Resources\n\n- Docs: https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF\n- Paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.11143\n- Examples: https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF\u002Ftree\u002Fmain\u002Fexamples\n- Discord: Community support\n\n\n\n",{"name":5,"tags":44,"author":49,"license":15,"version":50,"category":51,"description":7,"dependencies":52},[33,21,32,22,45,30,46,29,28,35,47,48],"GRPO","DPO","Large Models","ZeRO-3","Synthetic Sciences","1.0.0","ml-training",[53,54,55,56,57,58],"openrlhf","ray","vllm","torch","transformers","deepspeed","main","4aa39efd1cdab0b4657ecee16c92a92011a5b10f","openscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub","https:\u002F\u002Fgithub.com\u002Ffadrienne","2026-10-28 00:43:09",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add fadrienne\u002FMyGitHub --skill openrlhf-training",{"tool":71,"command":72},"bunx","bunx skills add fadrienne\u002FMyGitHub --skill openrlhf-training",{"tool":74,"command":75},"pnpm","pnpm dlx skills add fadrienne\u002FMyGitHub --skill openrlhf-training","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002FSKILL.md",true,[79,85,89,93],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Falgorithm-comparison.md","REFERENCE","参考文档",9783,"https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002Freferences\u002Falgorithm-comparison.md",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fcustom-rewards.md",15874,"https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002Freferences\u002Fcustom-rewards.md",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fhybrid-engine.md",7266,"https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002Freferences\u002Fhybrid-engine.md",{"path":94,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fmulti-node-training.md",11099,"https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fml-training\u002Fopenrlhf\u002Freferences\u002Fmulti-node-training.md",[98,130,155,189,216,243],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":39},"01M7167B28PK20HP7R7ZED2DY0","statistical-power","Sample size calculation, power analysis, and effect size conversion for scientific studies. Use BEFORE data collection (a priori) to determine required N, or after (post-hoc) to compute achieved power. Covers parametric tests (t-test, ANOVA, chi-square, proportions, correlation, regression), simulation-based power for complex\u002Fclustered\u002Fnested designs, and power curves. Use this skill when someone asks 'how many samples do I need', 'what is my power', 'what effect size can I detect', or any variant. Pairs with \u002Fexperimental-design (choose design first, then compute power) and \u002Fstatistical-analysis (analyze data after collection).","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fstatistical-power\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"power","statistical power","effect","scipy","regression","choose","design","uv","when","Bash","collection","analysis","calculation","ANOVA","conversion","analyze","t-test","chi-square","simulation","sample",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":39},"01M71677EBCM8EPCE9BZCK8505","statistical-analysis","Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fstatistical-analysis\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000008","测试与质量",[121,140,110,141,142,143,118,144,145,146,23,147,26,148,149,150,151,152,153,154],"statistical analysis","academic research","implementing","selection","you","reporting","data","tests","with","test","research","results","statsmodels","models","help",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":170,"publishedAt":39},"01M71673R93XAHFH81DBNVNG7H","scientific-writing","Core skill for the deep research and writing tool. Write scientific manuscripts in full paragraphs (never bullet points). Use two-stage process with (1) section outlines with key points using research-lookup then (2) convert to flowing prose. IMRAD structure, citations (APA\u002FAMA\u002FVancouver), figures\u002Ftables, reporting guidelines (CONSORT\u002FSTROBE\u002FPRISMA), for research papers and journal submissions.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fscientific-writing\u002FSKILL.md",[161,164,165],{"categoryNo":162,"categoryName":163,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},{"categoryNo":166,"categoryName":167,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[171,172,173,174,175,176,177,178,179,180,119,181,182,183,184,185,186,187,145,188],"writing","scientific","scientific writing","Citations","deep","deep research","never","papers","journal","false","api","prisma","structure","openrouter","Outlines","core skill","read","features",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":199,"publishedAt":39},"01M7166ZPKXBF4EBPHVTJPQBB1","scientific-visualization","Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib\u002Fseaborn\u002Fplotly with publication styles. For quick exploration use seaborn or plotly directly.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fscientific-visualization\u002FSKILL.md",[195,198],{"categoryNo":196,"categoryName":197,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},[200,172,201,202,203,204,205,206,207,179,118,208,209,210,211,212,213,214,23,215],"visualization","scientific visualization","error","ready","quick","exploration","meta-skill","Meta","safe","plotly","annotations","formatting","Publication","figures","panel","submission",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":228,"publishedAt":39},"01M7166VXJWQSSC3RQZP60WBGR","research-code","Debug, profile, review, and restructure Python research and analysis code. Use when analysis scripts crash, produce wrong results, run too slowly, or need a correctness review. Covers: reading tracebacks and diagnosing root causes, hypothesis-driven debugging, reviewing code for common statistical\u002Fnumerical errors, profiling data pipelines, improving reproducibility (seeds, environments, determinism), and structuring analysis scripts for sharing. Distinct from \u002Fexploratory-data-analysis (which understands data) and \u002Fstatistical-analysis (which chooses and runs tests) — this skill focuses on the code itself.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fresearch-code\u002FSKILL.md",[222,225],{"categoryNo":223,"categoryName":224,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":226,"categoryName":227,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000030","开发工程师",[229,230,150,231,232,233,234,117,235,118,119,121,236,237,238,239,240,241,187,242],"code","research code","which","memory","data-analysis","errors","debugging","common","review","data pipelines","run","scripts","line","write",{"skillNo":244,"name":245,"nameZh":6,"description":246,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":247,"licenseFileUrl":6,"sourceHtmlUrl":248,"categories":249,"keywords":256,"publishedAt":39},"01M7166CF5HSR7SVZYZFWTDX55","markdown-mermaid-writing","Comprehensive markdown and Mermaid diagram writing skill. Use when creating any scientific document, report, analysis, or visualization. Establishes text-based diagrams as the default documentation standard with full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fmarkdown-mermaid-writing\u002FSKILL.md",[250,253,254,255],{"categoryNo":251,"categoryName":252,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":162,"categoryName":163,"taxonomyType":107,"taxonomyTypeDesc":108},{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},{"categoryNo":166,"categoryName":167,"taxonomyType":168,"taxonomyTypeDesc":169},[171,257,258,259,260,261,200,262,263,118,119,121,264,265,266,267,268,269,172,187],"markdown mermaid writing","mermaid","markdown","community","diagrams","project","default","team","guides","text","documentation","references","diagram"]