V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere
V2EX  ›  程序员

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

  •  
  •   kisshere · 2023-03-09 08:19:41 +08:00 · 10782 次点击
    这是一个创建于 654 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 更高还是更低其给出的答案更准确?

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

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

    到底是高温还是低温更准确,取决于具体应用场景和业务需求。有时,需要生成更加创新性和出人意料的文本,这时选择更高的 temperature 值会更好;但有些时候,需要生成更加符合实际场景的文本,这时候选择较低的 temperature 值会更合适。
    Chad0000
        5
    Chad0000  
       2023-03-09 09:09:23 +08:00 via iPhone   ❤️ 2
    改成 alcohol 是不是更容易理解了?
    joyqi
        6
    joyqi  
       2023-03-09 09:11:08 +08:00 via iPhone
    就是信息熵的高低,越高不确定性越大
    shyrock
        7
    shyrock  
       2023-03-09 09:23:17 +08:00   ❤️ 2
    @Chad0000 我觉得 temperature 温度更贴切啊,
    在温度高的物体中原子的震荡幅度更大,单个原子的确切位置更不确定。
    中学好像学过,这叫布朗运动。
    shendaowu
        8
    shendaowu  
       2023-03-09 09:25:23 +08:00   ❤️ 1
    @superedlimited 你有没有过当时觉得自己明白了,后来发现理解错了的经历?有得话多不多?
    Tufutogo
        9
    Tufutogo  
       2023-03-09 09:29:10 +08:00 via Android   ❤️ 1
    我感覺應該直接問 ChatGPT 就有回答了
    Chad0000
        10
    Chad0000  
       2023-03-09 09:30:20 +08:00
    @shyrock
    酒喝得越多精神越容易发散。也说得通。
    wind1986
        11
    wind1986  
       2023-03-09 09:55:53 +08:00   ❤️ 8
    @superedlimited chatGPT 应该是没办法取代你的臭嘴了
    unco020511
        12
    unco020511  
       2023-03-09 09:58:51 +08:00
    我也想知道,而且这个参数似乎也会影响 gpt 的回答速度
    silypie
        13
    silypie  
       2023-03-09 09:59:41 +08:00   ❤️ 1
    温度是用来调整在词表上的概率分布的,新的概率分布是原始概率分布除以温度,所以温度越高概率分布会越平缓,采样得到的输出也就越随机
    17681880207
        14
    17681880207  
       2023-03-09 10:00:54 +08:00
    是不是理解为,人在发烧很高的时候,会说胡话,但是冷静下来说的都是真话。哈哈~
    gablic
        15
    gablic  
       2023-03-09 10:03:09 +08:00
    @studyingss
    True
    True
    cuicuiv5
        16
    cuicuiv5  
       2023-03-09 10:19:09 +08:00
    不如直接问他自己
    hahastudio
        17
    hahastudio  
       2023-03-09 10:24:49 +08:00   ❤️ 2
    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
        18
    lonewolfakela  
       2023-03-09 10:52:49 +08:00
    事实上只要把温度拉到 2 ,然后让它讲个笑话,就能明白这个东西是干啥的了……
    前面说应该改成 alcohol 的那位确实很贴切……
    Ricardoo
        19
    Ricardoo  
       2023-03-09 10:53:24 +08:00   ❤️ 1
    为什么叫温度?这个概念最早来自知识蒸馏(也许)。模型在使用 softmax 计算概率分布之后,通过除以常量,可以控制概率分布偏硬还是偏软。在 student model 训练时,往往将其设置成较大参数,更好地学习 teacher model 的知识,训练完成在推理阶段再将此参数调小。整个过程就像蒸馏一下,先高温提纯,再冷却结晶。因此这个参数被称为温度参数。后来发现非蒸馏任务中也可以使用此参数,虽然跟蒸馏无关,但是温度的叫法延续下来了。
    Ricardoo
        20
    Ricardoo  
       2023-03-09 10:57:03 +08:00
    @Ricardoo
    softmax 计算概率分布之后 --> softmax 计算概率分布时
    danieladu
        21
    danieladu  
       2023-03-09 11:03:51 +08:00
    你可以认为 问一个擦边的问题,temperature 越高,输出的结果让你内心 "越热"的概率越高
    krixaar
        22
    krixaar  
       2023-03-09 11:19:02 +08:00
    @17681880207 #14 所以理解成这个数字是和 37 摄氏度的差值,37.2 的时候还正常,37.8 往上就有说胡话的可能性了,40 度就满嘴胡话了,这样?🤣
    Giftina
        23
    Giftina  
       2023-03-09 11:25:49 +08:00
    类似于《星际穿越》中 TARS 的幽默值 `Humor`,抄一段电影结尾,库珀和 TARS 重逢之后,库珀重置个性化设置的对话:

    - Humor: 75 percent. “幽默值:百分之七十五。”
    - Confirmed. Auto self-destruct T-minus 10, nine... “已确认。自毁程序启动,开始倒计时 :十,九……”
    - Let's make that 60 percent. “还是百分之六十吧”
    - Sixty percent confirmed. Knock knock. “已确认。咚咚咚。”(烂梗)
    -You want 55? “你想要我改成百分之五十五吗?“
    rimutuyuan
        24
    rimutuyuan  
       2023-03-09 11:36:11 +08:00
    那对应的问题 top p 具体是代表什么
    leimao
        25
    leimao  
       2023-03-09 11:42:57 +08:00 via iPhone
    softmax with temperature
    leimao
        26
    leimao  
       2023-03-09 11:45:20 +08:00 via iPhone
    isnullstring
        27
    isnullstring  
       2023-03-09 11:54:01 +08:00
    就是脑洞参数,值越高,脑洞越大
    lookStupiToForce
        28
    lookStupiToForce  
       2023-03-09 11:57:19 +08:00
    我的理解:

    Temperature 可浅显理解为初始能量
    初始能量越高,从当前输入搜索能覆盖到的范围越大,(继续加大力)找到更优解的可能性越大。

    但使用模型时,你肯定不希望它需要非常长的搜索时间后才能回答你( openai 这方面肯定有限制,算力 /性能占用限制、超时时间限制),所以会对搜索广度深度均有限制

    且目前大部分细类领域,想用 chatgpt 想得到较好结果仍需要人为 promt 去剪枝,它自己的剪枝策略基本没有(也许继续加参数能涌现出来?)

    所以如果 Temperature 设定过高,出结果时它更容易发散后陷入到某些局部最小值里去,甚至可能都不如原地小范围搜索来得好,这样就可能表现为:
    1. 不懂装懂胡编乱造
    2. 多次相同输入会返回多种不同甚至互相矛盾的结果
    myhoot
        30
    myhoot  
       2023-03-09 14:58:48 +08:00
    @Giftina #23 哈哈,我也想到这段话了~
    zictos
        31
    zictos  
       2023-03-09 15:06:21 +08:00
    chatgpt 说网页版默认是 0.7 ,api 默认是 1
    wqzjk393
        32
    wqzjk393  
       2023-03-09 16:34:37 +08:00 via iPhone
    说白了,越高,就越随意,越低就越严谨。类似于星际穿越里面机器人的幽默程度,你 temperature 越高,回答越随意但是从另外一个角度来说也是越有意思,而严谨的另一个说法你也可以理解为死板
    dayeye2006199
        33
    dayeye2006199  
       2023-03-10 02:42:24 +08:00
    就是物理意义上的 “温度”。 温度越高,物质越活跃,能量越高,行为越难以预测,随机性也越高。

    这个名字在其他的算法里面也有用到,比如上面提到的模拟淬火,也有温度这个参数,也是控制解迭代的时候随机性的。
    kristingna
        34
    kristingna  
       2023-03-10 10:16:02 +08:00
    429 了
    hahastudio
        35
    hahastudio  
       2023-03-13 16:06:49 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:37 · PVG 03:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.