一、初识困惑:为什么我的模型回答总是“差点意思”?
在刚开始使用 MiMo API 时,我们常会遇到这样的情况:同一个问题,多次调用得到的回答在流畅度和创造性上差异很大。有时回答过于保守、重复,有时又天马行空、脱离主题。这背后的“遥控器”就是大模型的采样参数,其中最核心的就是 temperature(温度)。它就像控制模型回答风格的“旋钮”,理解并调好它,是优化生成效果的第一步。
二、核心揭秘:Temperature(温度)到底是什么?
从技术上讲,大语言模型在生成每一个 token(词或子词)时,会为所有可能的下一个 token 计算一个概率分布。Temperature 参数会直接作用于这个概率分布,对其进行缩放。
temperature = 1.0:使用模型原始输出的 logits(未经缩放的对数概率)生成概率分布,这是默认设置。temperature < 1.0(如 0.2):会 “锐化” 概率分布,使得高概率的 token 概率变得更高,低概率的 token 概率变得更低。模型行为变得确定、保守、可预测,倾向于选择最可能的那个词。temperature > 1.0(如 1.5):会 “平滑” 概率分布,降低高概率 token 的占比,提升低概率 token 的机会。这增加了随机性和创造性,但可能产生不相关或语法错误的内容。
通俗比喻:温度就像厨师做菜放调料。低温(temp=0.1)像严格按菜谱操作,每次味道都一样;高温(temp=1.2)像凭感觉放调料,可能产生惊喜(创新菜),也可能翻车(黑暗料理)。
三、不止温度:其他关键的采样参数“调音台”
温度虽然是主角,但一支优秀的交响乐需要多个乐器的配合。与之协同工作的还有几个关键参数: