HIPO: Hybrid Policy Optimization for Dynamic Reasoning in LLMs

Kwaipilot
Hugging Face arXiv

This work is a companion to our earlier report KAT-V1: Kwai-AutoThink Technical Report, where we first introduced the AutoThink paradigm for controllable reasoning. While KAT-V1 outlined the overall framework of SFT + RL for adaptive reasoning, this paper provides the detailed algorithmic design of that training recipe.


Overview

We introduce HiPO (Hybrid Policy Optimization for Dynamic Reasoning in LLMs), a novel RL framework designed to enable models to decide when to “think” (i.e., Think-on)and when to skip reasoning (i.e., Think-off), thereby striking a balance between correctness and efficiency.

HIPO has two main components:

  • Hybrid Data Pipeline – Collects both think-on and think-off responses, categorizes queries by difficulty, and uses a strong model (e.g., DeepSeek-V3) to generate explanations that justify mode choices.
  • Hybrid Reward System – Combines rewards for both modes, with bias adjustment to prevent overuse of long reasoning and mode-aware advantage functions to align decisions with performance gains.

Kim 2025-09-26 145531

Experimental Findings

Think-on Only (Overthinking).
Training only on Think-on data makes the model reason on all problems, causing inefficiency.

GRPO.
Improves accuracy by +3.1%, but increases token length on simple tasks.

Think-on/Think-off Mix.
Yields higher accuracy (+4.0%) while reducing token length (–10.8%) and thinking rate (–22%).

HiPO Advantage.
Achieves the best results: +6.2% accuracy, –30% token length, –39% thinking rate, outperforming existing methods in both efficiency and accuracy.

Kim 2025-09-26 145349

Data Format

HiPO produces responses in a structured template that makes the reasoning path explicit and machine-parsable. Two modes are supported:

Kim 2025-09-26 145842

Quick Start

from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "Kwaipilot/HiPO-8B"

# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)

# prepare the model input
prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

# conduct text completion
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768,
    temperature=0.6,
    top_p=0.95,
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 
content = tokenizer.decode(output_ids, skip_special_tokens=True).strip("\n")
print("prompt:\n", prompt)
print("content:\n", content)

Citation

@article{Zhan2025HiPO,
  title={HiPO: Hybrid Policy Optimization for Dynamic Reasoning in LLMs},
  author={Ken Deng, Zizheng Zhan, Wen Xiang, Wenqiang Zhu and others},
  year={2025},
  institution={arXiv preprint arXiv:2509.23967},
  number={arXiv:2509.23967},
  url={https://arxiv.org/abs/2509.23967}
}
Downloads last month
50
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Kwaipilot/HiPO-8B

Base model

Qwen/Qwen3-8B-Base
Finetuned
Qwen/Qwen3-8B
Finetuned
(414)
this model

Collection including Kwaipilot/HiPO-8B