chatgpt api 中 temperature 参数到底是什么意思?

2023-03-09 08:19:41 +08:00
 kisshere

Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. 怎样通俗的理解这句话? 到底是 temperature 更高还是更低其给出的答案更准确?

10772 次点击
所在节点    程序员
35 条回复
GTim
2023-03-09 08:27:33 +08:00
你可以理解为情商的高低,越高,那么说话就越圆,看不出本心所在,而越低则也接近于说真心话
studyingss
2023-03-09 08:50:55 +08:00
100==李诞
0==高等数学(浙江大学版)
superedlimited
2023-03-09 08:52:43 +08:00
这不就是字面意思吗?还要多通俗?这种也需要提个问题发帖?这种简单的意思都明白不了,chat 狗屁通很快要取代你了。
chanssl
2023-03-09 09:04:02 +08:00
ChatGPT 的回答如下:
在 ChatGPT API 中,temperature 参数是控制生成的文本输出的随机程度的参数。temperature 值越高,输出的结果越随机,而值越低,输出的结果则越趋向于确定性,即会更加预测和不那么出人意料。

这个参数可以理解为控制文本生成器的创造性程度的开关,更高的 temperature 会更多尝试新的文本输出的方式,而更低的 temperature 值则会更多利用已经生成的文本内容,产生更接地气的结果。

到底是高温还是低温更准确,取决于具体应用场景和业务需求。有时,需要生成更加创新性和出人意料的文本,这时选择更高的 temperature 值会更好;但有些时候,需要生成更加符合实际场景的文本,这时候选择较低的 temperature 值会更合适。
Chad0000
2023-03-09 09:09:23 +08:00
改成 alcohol 是不是更容易理解了?
joyqi
2023-03-09 09:11:08 +08:00
就是信息熵的高低,越高不确定性越大
shyrock
2023-03-09 09:23:17 +08:00
@Chad0000 我觉得 temperature 温度更贴切啊,
在温度高的物体中原子的震荡幅度更大,单个原子的确切位置更不确定。
中学好像学过,这叫布朗运动。
shendaowu
2023-03-09 09:25:23 +08:00
@superedlimited 你有没有过当时觉得自己明白了,后来发现理解错了的经历?有得话多不多?
Tufutogo
2023-03-09 09:29:10 +08:00
我感覺應該直接問 ChatGPT 就有回答了
Chad0000
2023-03-09 09:30:20 +08:00
@shyrock
酒喝得越多精神越容易发散。也说得通。
wind1986
2023-03-09 09:55:53 +08:00
@superedlimited chatGPT 应该是没办法取代你的臭嘴了
unco020511
2023-03-09 09:58:51 +08:00
我也想知道,而且这个参数似乎也会影响 gpt 的回答速度
silypie
2023-03-09 09:59:41 +08:00
温度是用来调整在词表上的概率分布的,新的概率分布是原始概率分布除以温度,所以温度越高概率分布会越平缓,采样得到的输出也就越随机
17681880207
2023-03-09 10:00:54 +08:00
是不是理解为,人在发烧很高的时候,会说胡话,但是冷静下来说的都是真话。哈哈~
gablic
2023-03-09 10:03:09 +08:00
@studyingss
True
True
cuicuiv5
2023-03-09 10:19:09 +08:00
不如直接问他自己
hahastudio
2023-03-09 10:24:49 +08:00
Temperature 是 GPT 模型里面的通用概念,感觉跟模拟退火( Simulated annealing )里面的类似。
> 模拟退火来自冶金学的专有名词退火。退火是将材料加热后再经特定速率冷却,目的是增大晶粒的体积,并且减少晶格中的缺陷。材料中的原子原来会停留在使内能有局部最小值的位置,加热使能量变大,原子会离开原来位置,而随机在其他位置中移动。退火冷却时速度较慢,使得原子有较多可能可以找到内能比原先更低的位置。

参考:
https://ai.stackexchange.com/questions/32477/what-is-the-temperature-in-the-gpt-models
https://zh.wikipedia.org/wiki/%E6%A8%A1%E6%8B%9F%E9%80%80%E7%81%AB
lonewolfakela
2023-03-09 10:52:49 +08:00
事实上只要把温度拉到 2 ,然后让它讲个笑话,就能明白这个东西是干啥的了……
前面说应该改成 alcohol 的那位确实很贴切……
Ricardoo
2023-03-09 10:53:24 +08:00
为什么叫温度?这个概念最早来自知识蒸馏(也许)。模型在使用 softmax 计算概率分布之后,通过除以常量,可以控制概率分布偏硬还是偏软。在 student model 训练时,往往将其设置成较大参数,更好地学习 teacher model 的知识,训练完成在推理阶段再将此参数调小。整个过程就像蒸馏一下,先高温提纯,再冷却结晶。因此这个参数被称为温度参数。后来发现非蒸馏任务中也可以使用此参数,虽然跟蒸馏无关,但是温度的叫法延续下来了。
Ricardoo
2023-03-09 10:57:03 +08:00
@Ricardoo
softmax 计算概率分布之后 --> softmax 计算概率分布时

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

https://www.v2ex.com/t/922451

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

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

© 2021 V2EX