Text Generation
Transformers
Safetensors
iapo / README.md
nielsr's picture
nielsr HF Staff
Update metadata and improve model card
fd05951 verified
|
Raw
History Blame
3.01 kB
---
base_model:
- Qwen/Qwen2.5-0.5B-Instruct
- Qwen/Qwen2.5-1.5B-Instruct
- Qwen/Qwen2.5-7B-Instruct
datasets:
- HuggingFaceH4/MATH-500
- BytedTsinghua-SIA/DAPO-Math-17k
- openai/gsm8k
license: mit
pipeline_tag: text-generation
library_name: transformers
---
# IAPO: Information-Aware Policy Optimization for Token-Efficient Reasoning
🚀 **Overview**
IAPO is an information-theoretic post-training framework designed to improve the **token efficiency** of Chain-of-Thought (CoT) reasoning. Instead of shaping rewards at the sequence level—as seen in standard RL methods like GRPO—IAPO assigns **token-wise advantages** based on each token's **conditional mutual information (MI)** with the final answer. This identifies informative reasoning steps and suppresses low-utility exploration, resulting in significantly shorter reasoning traces without sacrificing accuracy.
- **Paper:** [IAPO: Information-Aware Policy Optimization for Token-Efficient Reasoning](https://huggingface.co/papers/2602.19049)
- **Code:** [Official GitHub Repository](https://github.com/YinhanHe123/IAPO)
🎯 **Key Features**
- 🧠 **Information-Aware Advantage Shaping:** Assigns token-level advantages based on conditional MI, amplifying informative tokens and suppressing redundant ones.
- 🔍 **Exploration Adjustment:** Rewards confident tokens in correct trajectories and penalizes them in incorrect ones to prevent reasoning collapse.
-**Efficient Estimation:** Introduces an early-exit–based MI estimator with KV-cache preloading to keep computational costs tractable for long-context reasoning.
- 📉 **Provable Length Reduction:** Demonstrates monotonic reductions in reasoning verbosity while preserving correctness.
- 🏆 **Performance:** Reduces reasoning length by up to 36-47% while improving accuracy across various mathematical reasoning benchmarks.
🔧 **Loading the Checkpoints**
This repository contains multiple checkpoints fine-tuned from different base models (Qwen2.5-0.5B, 1.5B, 7B). You can load a specific checkpoint using the `subfolder` argument corresponding to the `{base_model}_{dataset}` combination.
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "jonathanhe123/iapo"
# Example: Load the Qwen2.5-0.5B-Instruct checkpoint fine-tuned on MATH-500
subfolder = "Qwen2.5-0.5B-Instruct_MATH-500"
tokenizer = AutoTokenizer.from_pretrained(model_id, subfolder=subfolder)
model = AutoModelForCausalLM.from_pretrained(
model_id,
subfolder=subfolder,
torch_dtype=torch.bfloat16,
device_map="auto"
)
```
**Citation**
If you find this work useful, please cite the paper:
```bibtex
@inproceedings{he2026iapo,
title={IAPO: Information-Aware Policy Optimization for Token-Efficient Reasoning},
author={He, Yinhan and Zhu, Yaochen and Shi, Mingjia and Zheng, Wendy and Su, Lin and Wang, Xiaoqing and Guo, Qi and Li, Jundong},
booktitle={International Conference on Machine Learning (ICML 2026)},
year={2026}
}
```