BioAlchemy: Distilling Biological Literature into Reasoning-Ready Reinforcement Learning Training Data
Organizations: Department of Computer Science, University of Chicago, Chicago, IL 60637 · Data Science and Learning Division, Argonne National Laboratory, Lemont, IL 60439
Abstract
Despite the large corpus of biology training text, the impact of reasoning models on biological research generally lags behind math and coding. In this work, we show that biology questions from current large-scale reasoning datasets do not align well with modern research topic distributions in biology, and that this topic imbalance may negatively affect performance. In addition, we find that methods for extracting challenging and verifiable research problems from biology research text are a critical yet underdeveloped ingredient in applying reinforcement learning for better performance on biology research tasks. We introduce BioAlchemy, a pipeline for sourcing a diverse set of verifiable question-and-answer pairs from a scientific corpus of biology research text. We curate BioAlchemy-345K, a training dataset containing over 345K scientific reasoning problems in biology. Then, we demonstrate how aligning our dataset to the topic distribution of modern scientific biology can be used with reinforcement learning to improve reasoning performance. Finally, we present BioAlchemist-8B, which improves over its base reasoning model by 9.12% on biology benchmarks. These results demonstrate the efficacy of our approach for developing stronger scientific reasoning capabilities in biology. The BioAlchemist-8B model is available at: https://huggingface.co/BioAlchemy.
Figures & tables
| Data Source | # Research Articles | # QA Pairs |
| ASM | 35.8K | 173.6K |
| PLoS CompBio | 10.5K | 76.1K |
| PLoS Genetics | 8.9K | 56.9K |
| Semantic Scholar | 22.5K | 38.4K |
| Total | 77.7K | 345K |
| Dataset | Source | Size (Biology) | Training | MeSH Coverage |
| BioAlchemy | Scientific Research Text | 345K | RL (GRPO) | 95.6% |
| NaturalReasoning | Pretraining Corpora | 52.9K | SFT | 34.7% |
| TextbookReasoning | University Textbooks | 51.2K | SFT | 66.6% |
| Nemotron-Science-v1 | N/A | 29.1K | RL (GRPO) | 91.4% |
| Rank | MeSH Biology Subcategory | PubMed 2020–2024 | Textbook Reasoning | Natural Reasoning | Nemotron Science-v1 | BioAlchemy |
| 1 | Computational Biology | 45.32% | 0.57% | 12.09% | 7.44% | 24.95% |
| 2 | Genetics | 36.18% | 11.37% | 18.30% | 34.67% | 36.89% |
| 3 | Microbiology | 10.90% | 14.39% | 7.19% | 3.78% | 16.75% |
| 4 | Ecology | 2.56% | 2.51% | 9.24% | 0.99% | 2.80% |
| 5 | Molecular Biology | 1.88% | 12.59% | 8.45% | 40.41% | 6.63% |
| 6 | Synthetic Biology | 0.97% | 0.04% | 0.63% | 1.76% | 0.50% |
| Data Source | Mean MeSH Topics | % Non-Zero MeSH Topics | % With MeSH Topics |
| NaturalReasoning | 0.41 | 34.7% | 6.2% |
| TextbookReasoning | 0.77 | 66.6% | 10.1% |
| Nemotron-Science-v1 | 1.19 | 91.4% | 28.0% |
| BioAlchemy | 1.37 | 95.6% | 40.8% |
| Dataset | Size | Topic Max/Min Ratio | Avg. Upsample † | Sample Yield | TVD |
| Full Dataset | 345K | 9,301 | 11.8 | 100% | 0.52 |
| Dataset | 126.7K | 7,932 | 1.0 | 36.73% | 0.21 |
| Dataset | 146.2K | 536 | 9.7 | 42.38% | 0.25 |
| Dataset | 152.0K | 89 | 39.6 | 44.06% | 0.27 |
| Dataset | 83.2K | 15 | 134.3 | 24.10% | 0.39 |
| Benchmark | SFT | RL | |||
| Natural Reasoning | Textbook Reasoning | BioAlchemy | Nemotron- Science-v1 | BioAlchemy | |
| ProtocolQA | 43.61 2.55% | 43.33 2.89% | 43.80 2.10% | 44.44 2.09% | 45.83 2.32% |
| SeqQA | 10.43 0.75% | 15.20 0.73% | 14.03 0.69% | 20.42 0.66% | 18.73 0.85% |
| Cloning Scenarios | 8.48 1.99% | 8.18 2.30% | 9.70 2.85% | 13.94 3.85% | 11.52 3.03% |
| PubMedQA | 67.89 0.60% | 72.47 0.15% | 69.44 0.24% | 69.21 0.38% | 68.09 0.28% |
| GPQA-Bio | 36.84 0.00% | 42.11 0.00% | 44.21 3.64% | 47.89 1.19% | 57.89 0.00% |
| Dataset | Alignment | Upsampling | ProtocolQA | SeqQA | Cloning Scenarios | PubMedQA | GPQA-Bio | General Avg. |
| Baseline | N/A | N/A | 42.69 2.06% | 8.42 0.43% | 5.76 2.16% | 69.00 0.35% | 42.63 1.19% | 33.70 0.65% |
| Weakest | Strongest | 46.30 1.25% | 19.63 0.98% | 12.12 3.96% | 67.75 0.28% | 53.16 2.78% | 39.79 1.02% | |
| Weak | Strong | 45.83 2.32% | 18.73 0.85% | 11.52 3.03% | 68.09 0.28% | 57.89 0.00% | 40.41 0.78% | |
| Strong | Weak | 44.63 1.97% | 20.13 0.75% | 11.82 3.14% | 68.65 0.51% | 51.58 2.38% | 39.36 0.90% | |
| Strongest | Weakest | 45.93 1.60% | 19.98 0.73% | 10.91 3.57% | 68.83 0.30% | 63.16 0.00% | 41.76 0.80% | |
| Best | 46.30 1.25% | 20.13 0.75% | 12.12 3.96% | 69.00 0.35% | 63.16 0.00% | 41.76 0.80% |
| Model | ProtocolQA | SeqQA | Cloning Scenarios | PubMedQA | GPQA-Bio | Overall Avg. |
| BioAlchemist-8B 150K | 46.20 1.89% | 22.32 0.91% | 15.15 4.57% | 68.32 0.48% | 62.11 2.38% | 42.82 1.12% |
| BioAlchemist-8B 50K | 45.83 2.32% | 18.73 0.85% | 11.52 3.03% | 68.09 0.28% | 57.89 0.00% | 40.41 0.78% |
| Qwen3-8B | 42.69 2.06% | 8.42 0.43% | 5.76 2.16% | 69.00 0.35% | 42.63 1.19% | 33.70 0.65% |
| DeepSeek-R1-Llama-8B | 33.61 2.58% | 4.97 0.41% | 10.91 2.09% | 26.89 0.58% | 5.26 0.00% | 16.33 0.68% |
| GPT-OSS-20B | 52.78 2.25% | 18.12 0.79% | 7.27 1.83% | 72.79 0.24% | 55.79 3.17% | 41.35 0.88% |
| Best | 52.78 2.25% | 22.32 0.91% | 15.15 4.57% | 72.79 0.24% | 62.11 2.38% | 42.82 1.12% |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Training | Rollouts | Max Response Len | Temperature | Clip Ratio Range | Normalize Adv. | Entropy Coef. | Loss Aggr. |
| GRPO | 5 | 4096 | 0.6 | [0.2, 0.28] | False | 0.0005 | Token-mean |
| Dataset | LR | LR-Scheduler | Batch Size | Epochs | Max Tokens | Loss | Dataset Size | Teacher Model |
| BioAlchemy RL | 4e-6 | cosine | 128 | 1 | 5120 | GRPO | 50K | N/A |
| BioAlchemy SFT | 4e-6 | cosine | 128 | 1 | 5120 | SFT | 50K | Llama-3.3 70B Instruct |
| Nemotron-Science-v1 | 4e-6 | cosine | 128 | 1 | 5120 | GRPO | 29K | N/A |
| NaturalReasoning | 4e-6 | cosine | 128 | 1 | 5120 | SFT | 50K | DeepSeek-R1 |
| TextbookReasoning | 4e-6 | cosine | 128 | 1 | 5120 | SFT | 50K | DeepSeek-V3 |
| Dataset | LR | LR-Scheduler | Batch Size | Epochs | Max Tokens | Max Response Len | Loss | Dataset Size |
| 4e-6 | cosine | 128 | 1 | 5120 | 4096 | GRPO | 60K | |
| 4e-6 | cosine | 128 | 1 | 5120 | 4096 | GRPO | 50K | |
| 4e-6 | cosine | 128 | 1 | 5120 | 4096 | GRPO | 60K | |
| 4e-6 | cosine | 128 | 1 | 5120 | 4096 | GRPO | 60K | |
| 4e-6 | cosine | 256 | 1 | 5120 | 4096 | GRPO | 150K |
| Benchmark | Max Response Len | Seed | Temperature | Top-p | Metric | N-runs |
| ProtocolQA | 4096 | 42 | 0.0 | 1.0 | EM | 10 |
| SeqQA | 4096 | 42 | 0.0 | 1.0 | EM | 10 |
| Cloning Scenarios | 4096 | 42 | 0.0 | 1.0 | EM | 10 |
| PubMedQA | 4096 | 42 | 0.0 | 1.0 | EM | 10 |
| GPQA-Bio | 4096 | 42 | 0.0 | 1.0 | EM | 10 |
| PubMed Biology | Smoothed % (Upsample ) | ||||||
| Rank | MeSH Biology Subcategory | Count | % | ||||
| 1 | Computational Biology | 95,179 | 45.32% | 45.32% (1.0 ) | 36.05% (0.8 ) | 26.97% (0.6 ) | 16.51% (0.4 ) |
| 2 | Genetics | 75,973 | 36.18% | 36.18% (1.0 ) | 30.79% (0.9 ) | 24.10% (0.7 ) | 15.43% (0.4 ) |
| 3 | Microbiology | 22,900 | 10.90% | 10.90% (1.0 ) | 13.30% (1.2 ) | 13.23% (1.2 ) | 10.77% (1.0 ) |
| 4 | Ecology | 5,385 | 2.56% | 2.56% (1.0 ) | 4.83% (1.9 ) | 6.42% (2.5 ) | 6.98% (2.7 ) |
| 5 | Molecular Biology | 3,944 | 1.88% | 1.88% (1.0 ) | 3.88% (2.1 ) | 5.49% (2.9 ) | 6.35% (3.4 ) |
| Rank | MeSH Biology Subcategory | PubMed Biology | Textbook Reasoning | Natural Reasoning | Nemotron Science-v1 | BioAlchemy |
| 1 | Computational Biology | 45.32% | 0.57% | 12.09% | 7.44% | 24.95% |
| 2 | Genetics | 36.18% | 11.37% | 18.30% | 34.67% | 36.89% |
| 3 | Microbiology | 10.90% | 14.39% | 7.19% | 3.78% | 16.75% |
| 4 | Ecology | 2.56% | 2.51% | 9.24% | 0.99% | 2.80% |
| 5 | Molecular Biology | 1.88% | 12.59% | 8.45% | 40.41% | 6.63% |
| 6 | Synthetic Biology | 0.97% | 0.04% | 0.63% | 1.76% | 0.50% |
| Configuration | Optimization F1 | Validation F1 |
| Zero-shot baseline | N/A | 37.0% |
| Single-label training | 52.7% | 49.3% |
| Multi-label training | 61.6% | 72.7% |
| Metric | Value |
| Unique articles | 1,474 |
| Total category labels | 1,579 |
| Mean labels per article | 1.07 |
| Number of categories | 21 |
| Training examples | 714 |
| Validation examples | 180 |