JetBrains-Research/PIPer-8B-RL-only
<img src="https://github.com/JetBrains-Research/PIPer/blob/main/misc/piper-logo.png?raw=true" alt="PIPer Mascot" style="height: 6em"> <h1> PIPer: On-Device Environment Setup via Online Reinforcement Learning
</h1>
<div align="center">
    
Democratizing environment setup with on-device sized models that match the performance of much larger proprietary systems
</div>
π― Overview
Environment setupβthe process of configuring systems to work with specific software projectsβremains a persistent challenge in software engineering. PIPer addresses this by training specialized on-device models that can automatically generate correct Bash scripts for environment configuration.
Our approach combines:
- π Supervised Fine-Tuning (SFT) with executable scripts from larger models
- π― Reinforcement Learning with Verifiable Rewards (RLVR) using lightweight proxy LLM-reward
π Key Results
π PIPer achieves 9Γ improvement over its base model while matching GPT-4o performance at 25x lower cost

π¦ Available Artifacts
π€ Model Checkpoints
π Datasets
π Reproduce the results
We use uv for dependency management and Ray for distributed training.
git clone https://github.com/JetBrains-Research/PIPer.git
cd PIPer
git submodule update --init --recursive
uv syncTo run the experiments, you need a node with at least 4 H200 GPUs and Ray installed and running. Then you can run all the experiments with the following command:
uv run piper/hparams_entrypoint.py --multirun +experiment==llm-rewardYou can look up the experiment Hydra configurations in piper/config/ folder, or print out the whole config with the following command:
uv run piper/hparams_entrypoint.py +experiment=llm-reward --info configπ Evaluation Benchmarks
π License
This project is licensed under the MIT License - see the LICENSE file for details.
