根因:
不确定性是浮点运算导致的
- 浮点运算中顺序不同,计算结果会有微小差异,即 a + b ≠ b + a
- 推理过程由于需要加速运算,导致计算顺序不是固定的
解决方法:
- api调用层面:设置确定性相关的参数
- 服务端层面:控制底层的模型部署
https://zhuanlan.zhihu.com/p/1961192621759242664
实践效果:
api调用层面
对于短问题,仅采用该方法确定性已经较高。对长问题,效果很差
req_body = { "model": deepseek-v3-0324, # 假设LLMConf是您的配置对象 "messages": [ { "role": "user", "content": "假如美联储有降息的倾向,黄金会增值还是贬值,简要回答" } ], "max_tokens": 500, "temperature": 0, # 设为0,完全消除随机性 "top_p": 1, #