思考预算¶
部分大模型输出结果时会附带其思考过程,本特性旨在控制模型思考深度,当思考内容超过设定的thinking_budget时,系统会使用提示词对思考过程进行截断,促使模型提前结束思考。该特性适用于在响应速度与答案质量之间灵活权衡的场景。
限制与约束¶
- Atlas 800I A2 推理服务器、Atlas 800I A3 超节点服务器和Atlas 300I Duo 推理卡支持此特性。
- 当前仅Qwen3-32B、Qwen3-235B-A22B和Qwen3-30B-A3B模型支持此特性。
- 开启thinking_budget需在请求中传入如下字段:"chat_template_kwargs": {"thinking_budget": <uint32_t>}, 取值范围为[1, MAX_UINT32_T]。
- 当前仅支持OpenAI推理接口。
- 该特性暂不支持与use_beam_search等多序列推理相关的后处理参数同时开启。
参数说明¶
开启思考预算特性,需要配置的参数如表1所示。
表 1 思考预算特性补充参数:ModelConfig中的models参数
| 配置项 | 取值类型 | 长度范围 | 配置说明 |
|---|---|---|---|
| early_stopping_text | string | [1,1024] | 结束思考提示词。 开启thinking_budget后,当模型思考输出超过预算后使用该提示词进行截断。 不同模型提示词不同,qwen系列模型提示词参考下面的参数配置示例。 |
执行推理¶
-
打开Server的config.json文件。
-
whl包安装方式:
-
run包安装方式:
-
-
配置服务化参数。按照表1在Server的config.json文件中添加“early_stopping_text”字段,服务化参数说明请参见配置参数说明(服务化)章节,参数配置示例如下。
以Qwen3-32B为例:
"ModelDeployConfig" : { "maxSeqLen" : 2560, "maxInputTokenLen" : 2048, "truncation" : 0, "ModelConfig" : [ { "modelInstanceType" : "Standard", "modelName" : "Qwen3-32B", "modelWeightPath" : "/data/weight/Qwen3-32B", "worldSize" : 1, "cpuMemSize" : 0, "npuMemSize" : -1, "backendType" : "atb", "trustRemoteCode" : false, "async_scheduler_wait_time": 120, "kv_trans_timeout": 10, "kv_link_timeout": 1080, "models": { "qwen3": {"early_stopping_text": "\n\nConsidering the limited time by the user, I have to give the solution based on the thinking directly now.\n</think>\n\n"} } } ] },说明
- Qwen3-30B-A3B模型:"qwen3"字段应修改为"qwen3_moe"。
- 在thinking_budget设置过低的情况下,推理结果有概率切换到与提示词相同的语言。
-
启动服务。PD混部场景可请参考《MindIE Motor开发指南》中的“快速入门 > 启动服务”章节, PD分离场景可参考《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节。
- 发送请求。参数说明见《MindIE LLM开发指南》中的“服务化接口使用指导”章节。