Zhuoran Yang, Jose Blanchet, Zhiyuan Li, Tianhao Wang, Miao Lu, Siyu Chen, Fengzhuo Zhang, Beining Wu, Shuangning Li, Heejune Sheen
We lifted 11 functions out of this paper's own repositories and ran 5 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| FFishy-git/INFUSER | canonical | 5 of 11 |
| Function | Status | Where it lives |
|---|---|---|
| find_model_paths | Ran | FFishy-git/INFUSER/launcher/k8s/pre_download_models.py code served (permissive licence) · get_code("ff7f60b476bf877d") |
| generate_config_from_args | Ran | FFishy-git/INFUSER/verl/model_merger/base_model_merger.py code served (permissive licence) · get_code("8896f4e2bafe8abc") |
| get_dynamic_pipeline_shards | Ran | FFishy-git/INFUSER/verl/model_merger/megatron_model_merger.py code served (permissive licence) · get_code("94209884dcb2308e") |
| is_ipv4 | Ran | FFishy-git/INFUSER/verl/utils/net_utils.py code served (permissive licence) · get_code("735e93af30b15fa9") |
| unpad_dataproto | Ran | FFishy-git/INFUSER/verl/protocol.py code served (permissive licence) · get_code("83b1686d7ac03c21") |
| get_generation_config | Not yet run | FFishy-git/INFUSER/verl/utils/model.py code served (permissive licence) · get_code("e6c72459395ae26a") |
| get_huggingface_actor_config | Not yet run | FFishy-git/INFUSER/verl/utils/model.py code served (permissive licence) · get_code("1b071bded6f62e73") |
| get_weight_loader | Not yet run | FFishy-git/INFUSER/verl/models/weight_loader_registry.py code served (permissive licence) · get_code("acf240079d434746") |
| get_weight_saver | Not yet run | FFishy-git/INFUSER/verl/models/weight_loader_registry.py code served (permissive licence) · get_code("ada2d6cf9ca9ee89") |
| is_ipv6 | Not yet run | FFishy-git/INFUSER/verl/utils/net_utils.py code served (permissive licence) · get_code("705afe175ad8e404") |
| squeeze | Not yet run | FFishy-git/INFUSER/verl/utils/model.py code served (permissive licence) · get_code("3b15e2ac7497c441") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Self-evolution offers a scalable path to stronger reasoning: a pretrained language model improves itself with only minimal external supervision. Yet existing methods either depend on extensively curated or teacher-generated training data, or, when the generator runs unsupervised, reward it by a difficulty heuristic that need not improve the solver. We introduce INFUSER, an iterative co-training framework with two co-evolving roles: a Generator that drafts questions and reference golden answers from a pool of unstructured, automatically collected documents, and a Solver that improves by training on them. The solver is trained with standard correctness rewards against the generator-provided answers, while the generator is rewarded by an optimizer-aware influence score that measures whether each proposed question would actually improve the solver on the target distribution. Because this continuous, noisy influence score is poorly served by standard GRPO, we propose DuGRPO, a dual-normalized variant of GRPO, for generator training. Together, these turn the document pool into an adaptive curriculum that favors questions useful to the current solver, not just hard ones. On Qwen3-8B-Base, INFUSER outperforms strong self-evolution baselines with over 20% relative improvement on Olympiad and SuperGPQA benchmarks, and an 8B INFUSER co-evolving generator outperforms a frozen 32B thinking generator on math and coding. Ablations confirm each design choice is necessary, and two extensions, applying INFUSER to an instruction-finetuned anchor and augmenting it with rule-verifiable RLVR data, further demonstrate the flexibility and generalizability of the framework. Code is available at https://github.com/FFishy-git/INFUSER.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2606.09052")
get_code_for_paper("2606.09052")
have("2606.09052")
Connect an agent — have() is free.