00:00 / 00:33
连播
清屏
智能
倍速
点赞29
00:00 / 01:16
连播
清屏
智能
倍速
点赞1
00:00 / 01:07
连播
清屏
智能
倍速
点赞359
Temperature=0,为什么输出不同结果? 🔍 面试题:Temperature=0为什么输出不同结果? ⭐ S|Situation 很多人以为Temperature 设成 0 = 每次输出一定一模一样。但我查了资料、也在实际项目里踩过坑后发现:这其实是个非常常见的误解。 ⭐ T|Task Temperature 只干一件事,就是决定“选词时允不允许低概率词参与”。设成 0,只意味着每一步都选当前概率最高的那个词。但问题在于:“概率最高”本身,并不是一个完全稳定的东西。 ⭐ A|Action 第一,浮点计算本身就不精确 模型在 GPU 上并行算 logits,不同卡、不同 batch、不同调度顺序,都会让小数点后几位出现细微误差。当两个词概率本来就很接近时,这点误差就足够让 argmax 翻转。 第二,很多人以为只设了 temperature=0 但实际上top_p、top_k 往往还开着默认值,那本身就不是严格确定性。 第三,上下文“看起来一样”,其实不一样 比如:RAG 检索结果顺序变了,tool 返回多了一行,多了一点日志或标点,这些都会把生成路径带到完全不同的方向。 第四,线上推理本身就在放大不确定性 混合精度(FP16 / FP8)、batch 推理、speculative decoding,都是为了性能, 但都会让“逐 token 完全一致”几乎不现实。 ⭐ R|Result 如果真的要做到 每次输出字面完全一致,你需要:单卡、单线程、固定随机种子、关掉一堆性能优化、严格固定上下文顺序。这在生产环境几乎没人这么干。所以我现在的工程和产品目标,从来不是“完全一致”,而是:结构稳定、关键字段不漂、决策逻辑可解释、出问题能复现。 Temperature=0 不是“确定性开关”。大模型推理本质是复杂数值系统,工程要做的不是消灭不确定性,而是把它收进可控范围。 #llm #大模型 #算法 #互联网大厂 #面试题
00:00 / 02:19
连播
清屏
智能
倍速
点赞755
00:00 / 04:54
连播
清屏
智能
倍速
点赞268
00:00 / 04:43
连播
清屏
智能
倍速
点赞52
00:00 / 03:50
连播
清屏
智能
倍速
点赞29
00:00 / 00:32
连播
清屏
智能
倍速
点赞12
00:00 / 02:45
连播
清屏
智能
倍速
点赞126
00:00 / 01:46
连播
清屏
智能
倍速
点赞9
00:00 / 01:56
连播
清屏
智能
倍速
点赞42
00:00 / 01:14
连播
清屏
智能
倍速
点赞41
00:00 / 00:55
连播
清屏
智能
倍速
点赞239
00:00 / 03:12
连播
清屏
智能
倍速
点赞102
00:00 / 01:21
连播
清屏
智能
倍速
点赞7