license: apache-2.0
datasets:
- agentica-org/DeepScaleR-Preview-Dataset
base_model:
- Vinnnf/Thinkless-1.5B-Warmup
pipeline_tag: text-generation
library_name: transformers
Thinkless:大语言模型学会何时思考

简介
[!NOTE]
大语言模型能学会何时思考吗?
我们提出Thinkless框架,通过强化学习范式训练大语言模型自适应选择简答(<short>标记)或长链推理(<think>标记)。核心创新是解耦分组相对策略优化算法(DeGRPO),将混合推理目标分解为:(1)控制标记损失——决定推理模式选择;(2)响应损失——提升答案准确性。这种解耦结构能精细调控各目标贡献,有效避免原始GRPO的坍缩问题。在Minerva Algebra、MATH-500和GSM8K等基准测试中,Thinkless减少50%-90%的长链推理使用,显著降低推理语言模型的计算成本。
流程架构

快速开始
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Vinnnf/Thinkless-1.5B-RL-DeepScaleR"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
instruction = "请逐步推理,并将最终答案放在\\boxed{}中。"
prompt = "7, 2, $x$和10的算术平均数是9。$x$的值是多少?"
messages = [
{"role": "user", "content": f"{instruction}\n{prompt}"},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=16384,
do_sample=True,
temperature=0.6,
top_p=0.95
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
num_tokens = len(generated_ids[0])
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
think_mode = ("<think>" in response)
print(text+response)
print(f"\n思考模式: {think_mode}")
print(f"生成token数: {num_tokens}")
案例研究
用户提问:
1+1=?
Thinkless-1.5B:
<short>
解题步骤:
1. 识别数字:1和1
2. 执行加法运算:1 + 1 = 2
最终答案:\boxed{2}
DeepSeek-R1:
(此处省略约300字冗长推理过程)
经过多角度验证确认1+1在十进制中确实等于2,最终答案为\boxed{2}
用户提问:
能表示为三个连续整数之和的最小正完美立方数是多少?
Thinkless-1.5B:
注:此处省略详细推理过程
<think>
解题思路:
1. 设三个连续整数为a, a+1, a+2
2. 其和可表示为3(a+1)
3. 检查立方数序列:
- 27=3×9(满足a=8)
最终结论:\boxed{27}
</think>
引用
若此工作对您有帮助,请引用:
@article{fang2025thinkless,
title={Thinkless:大语言模型学会何时思考},
author={方功凡 and 马新寅 and 王新超},
journal={arXiv预印本 arXiv:2505.13379},
year={2025}
}