GPT4 API 好像无法保证每次输出都一样?

325 天前
 kerb15
这些参数都设为 0 了,但是同样的请求依旧可能得到不同的输出,不知道大家有没有遇到这种 case

temperature = 0d
topP = 0
frequencyPenalty = 0
presencePenalty = 0

这个是正常情况还是有什么方式可以限制同样的输入同样的输出

如果是正常情况,我想了一下好像也合理,就像让他讲个笑话,他不一定讲的都是同一个笑话一样。
1441 次点击
所在节点    OpenAI
8 条回复
kerb15
325 天前
尽管将温度参数设置为 0 、top_p 参数设置为 0 ,也不能完全保证在相同的输入提示下生成的文本完全一致,主要原因是因为在 GPU 计算过程中存在固有的非确定性。

这是因为浮点数计算中的微小差异可能会导致最终选择的 token 有微小变化,特别是当前两个最有可能的 token 之间的差异很小时,会偶尔选择不同的 token ,从而产生不同的结果。

同时,为了提高模型端点的速度,通常使用 GPU 进行计算,而 GPU 计算是并行的(非确定性的)。

在现代的 GPU 神经网络计算中,这种非确定性是无法避免的。

而且,如果模型被部署在不同的区域以实现负载均衡,不同区域的硬件和环境也可能会对模型的计算产生微小的影响,进一步增加了非确定性。

作者:月明
链接: https://www.zhihu.com/question/595912240/answer/3160446512
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
dbg
325 天前
亲,你应该了解下大语言模型的原理,它们的输从原理上就是随机的。
dbg
325 天前
输出
imes
325 天前
LLM 本质上是预测下一个 token 是什么,也就是“全靠猜”(只不过猜对的概率很大),更不存在“逻辑”这个概念。每次输出都是一场新的“猜测”,要保持前后,只能人为缓存。
oliwans
325 天前
聊聊你对这个社会的看法,滔滔不绝说完了,我在问你同样的问题,你完整能给我背一遍刚刚的回答吗?你想要的是大模型还是固定模型?
xmumiffy
325 天前
kaidong21
324 天前
设置种子 seed
kerb15
324 天前
@xmumiffy
@kaidong21
我试着给 Seed 传了一下 0 和 1 ,发现都没用,看参数注解也是说尽可能保障,实际上我测试的结果是变化的概率挺高的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1025485

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX