Practical overview
When it fits
Consider Flash Rl when you already have an RL training pipeline and want to configure quantized rollouts through a patched inference backend. The README particularly recommends this approach for large models and long chain-of-thought generation, where it says quantization overhead is more suitable.
Who it is for
- Researchers and engineers maintaining reinforcement-learning training pipelines.
- Teams using vLLM for rollout generation and looking to configure quantized rollout paths.
- Practitioners who need sampling log-probabilities without quantizing rollouts, using the documented BF16 mode.
Documented uses
- Configure FP8 or INT8 rollout generation in a reinforcement-learning training workflow.
- Profile a BF16 model against a quantized model and generate the YAML configuration used by the patcher for INT8 or FP8-channel paths.
- Extract precise sampling log-probabilities through the BF16 mode without quantizing rollouts.
Requirements & limits
The public GitHub repository lists an MIT license. The README specifies Python 3.10 or later and requires installation on all nodes for multi-node training.
- Native vLLM FP8 and BF16 log-probability-only paths do not require profiling or configuration generation; INT8 and FP8-channel paths do.
- The project warns that quantization overhead makes small-model or short-generation workloads less suitable for quantized rollouts.
- If automatic patching conflicts with the environment, the README documents cleanup followed by a manual import-based patch.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare an INT8 rollout configuration
Profile a model and create the YAML configuration used by Flash Rl's patcher for an INT8 rollout setup.
Before you start
- Python 3.10 or later.
- A BF16 model and a quantized w8a8 or FP8 model; the README examples use Qwen models.
- Flash Rl installed in the training environment.
Steps
Run
flashrl profilewith the BF16 model, quantized model, output profile path, and--fn int8.Run
flashrl setupwith the quantized model, generated profile path,--fn int8, and desired YAML output path.Set
FLASHRL_CONFIGto the generated YAML path for the patcher to use.
Expected outcome
A profile and YAML configuration are prepared for Flash Rl's INT8 patcher.
Guide limitations
- Profiling and configuration generation are required for INT8; the README says they are not needed for native vLLM FP8 or the BF16 log-probability-only path.
- The README recommends quantized rollouts for large models and long chain-of-thought generation because of quantization overhead.
Select native FP8 or BF16 log-probability mode
Set the documented Flash Rl mode for a single-node verl training script.
Before you start
- Python 3.10 or later and Flash Rl installed.
- An existing single-node verl training script, as in the README examples.
Steps
Set
FLASHRL_CONFIG=fp8to select the documented native FP8 rollout path, or setFLASHRL_CONFIG=bf16for the log-probability-only path.Run the existing training script, following the README's example command for the selected mode.
Expected outcome
The patcher is configured for FP8 rollouts or BF16 log-probability extraction, depending on the selected value.
Guide limitations
- The BF16 mode does not quantize rollouts.
- The README presents these commands as examples using verl scripts; it does not establish compatibility with arbitrary training setups.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- yaof20/Flash-RL · Official homepage title · retained in its source language

