大模型常用推理参数工作原理

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


do_sample

do_sample 参数控制是否使用采样方法生成输出。当 do_sample=True 时,模型会根据下一个 token 的概率分布进行采样;当 do_sample=False 时,模型会选择概率最大的 token 作为输出。

temperature

temperature 参数通过影响 softmax 控制生成输出时每个 token 的概率分布的平滑程度。

不考虑 temperature 参数,softmax 概率分布的计算公式为:

prob ( x i ) = e x i ∑ j = 1 n e x j \text{prob}(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{n} e^{x_j}} prob(xi)=j=1nexjexi

加入 temperature 参数后,softmax 概率分布的计算公式为:

prob ( x i , t ) = e x i t ∑ j = 1 n e x j t \text{prob}(x_i,t) = \frac{e^{\frac{x_i}{t}}}{\sum_{j=1}^{n} e^{\frac{x_j}{t}}} prob(xi,t)=j=1netxjetxi

下图展示了 temperature 参数的影响:

temperature

top_k

top_k 参数控制生成输出时,只考虑概率最高的 top_k 个 token。

下图展示了 top_k 参数的影响:

top_k

top_p

top_p 参数与 top_k 参数类似,区别在于 top_p 参数控制生成输出时,只考虑累计概率分布在前 top_p 的 token。

下图展示了 top_p 参数的影响:

top_p

协同工作

同时使用 temperaturetop_ktop_p 参数时,它们的影响会以一定顺序叠加。

下图展示了同时使用 temperaturetop_ktop_p 参数的影响:

协同工作

temperaturetop_ktop_p 参数不会改变各 token 概率的相对大小,因此当 do_sample=False 时,token 的选择不会受到上述三个参数的影响。

相关推荐

  1. 系统命令/参数/工具统计

    2024-06-09 22:18:04       9 阅读
  2. JVM参数

    2024-06-09 22:18:04       26 阅读
  3. 推理框架介绍

    2024-06-09 22:18:04       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 22:18:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 22:18:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 22:18:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 22:18:04       20 阅读

热门阅读

  1. ghidra

    2024-06-09 22:18:04       9 阅读
  2. P11 品牌管理

    2024-06-09 22:18:04       11 阅读
  3. 爬山算法的详细介绍

    2024-06-09 22:18:04       11 阅读
  4. Flutter 常见报错记录

    2024-06-09 22:18:04       13 阅读
  5. 解决更新Android Studio后下载Gradle超时

    2024-06-09 22:18:04       11 阅读
  6. 给自己Linux搞个『回收站』,防止文件误删除

    2024-06-09 22:18:04       12 阅读
  7. 前端通用样式调整方法(整理版)

    2024-06-09 22:18:04       9 阅读