当前位置: 首页 > news >正文

序列搜索策略

序列搜索策略

贪心搜索(greedy search)

  • 在大语言模型中, 对于输出序列的每一时间步t′, 我们都将基于贪心搜索从Y中找到具有最高条件概率的词元,即:
    y t ′ = argmax ⁡ y ∈ Y P ( y ∣ y 1 , … , y t ′ − 1 , c ) y_{t^{\prime}}=\underset{y \in \mathcal{Y}}{\operatorname{argmax}} P\left(y \mid y_1, \ldots, y_{t^{\prime}-1}, \mathbf{c}\right) yt=yYargmaxP(yy1,,yt1,c)
    一旦输出序列包含了“”或者达到其最大长度限制,则输出完成。

    即将当前时刻预测概率最大的词输出

    image-20250602223404094

  • 贪心搜索是效率最高的,但是贪心搜索很可能不是最优的,可以看下面的例子

    在时间步2的时候,选择具有第二高条件概率的词元“C”(而非最高条件概率的词元)

    image-20250602223529773

    因为我们在第二步没有选择最优,导致后续的预测词元概率发生了变化,从而形成了更好的结果


穷举搜索(exhaustive search)

  • 如果目标是获得最优序列, 我们可以考虑使用穷举搜索(exhaustive search): 穷举地列举所有可能的输出序列及其条件概率, 然后计算输出条件概率最高的一个。

  • 最优的算法:对所有可能的序列,计算他的概率,然后选取最好的额那个

  • 如果输出字典大小为n,序列最长为T那么我们需要考察 n T n^T nT个序列,假设

    n = 10000 T = 100 则 n T = 10 50 n^T = 10^{50} nT=1050

    计算上是不可行的

  • 所以最好我们需要有个折中的方法

集束搜索(beam search)

  • 束搜索(beam search)是贪心搜索的一个改进版本。 它有一个超参数,名为束宽(beam size)k。 在时间步1,我们选择具有最高条件概率的k个词元。 这k个词元将分别是k个候选输出序列的第一个词元。 在随后的每个时间步,基于上一时间步的k个候选输出序列, 我们将继续从k|Y|个可能的选择中 挑出具有最高条件概率的k个候选输出序列。下面是k=2,字典长度为5时候的示例

    image-20250602224347302

  • 集束搜索时间复杂度
    O ( k n T ) O(knT) O(knT)

  • 每个候选的最终分数为:
    1 L α log ⁡ P ( y 1 , … , y L ∣ c ) = 1 L α ∑ t ′ = 1 L log ⁡ P ( y t ′ ∣ y 1 , … , y t ′ − 1 , c ) \frac{1}{L^\alpha} \log P\left(y_1, \ldots, y_L \mid \mathbf{c}\right)=\frac{1}{L^\alpha} \sum_{t^{\prime}=1}^L \log P\left(y_{t^{\prime}} \mid y_1, \ldots, y_{t^{\prime}-1}, \mathbf{c}\right) Lα1logP(y1,,yLc)=Lα1t=1LlogP(yty1,,yt1,c)
    通常 α = 0.75 \alpha=0.75 α=0.75,其中L是最终候选序列的长度, α通常设置为0.75。 因为一个较长的序列在 的求和中会有更多的对数项, 因此分母中的Lα用于惩罚长序列。

  • 总结:集束搜索在每次搜索时保存K个最好的候选。当k=1时时贪心搜索,当k=n时时穷举搜索

相关文章:

  • 【Zephyr 系列 4】串口通信进阶:打造自己的 AT 命令框架
  • 《Pytorch深度学习实践》ch3-反向传播
  • NX869NX874美光固态颗粒NX877NX883
  • AI助力软件开发 – 豆包+Trae CN开发体验
  • 盒子模型与页面布局基础
  • 【C语言预处理详解(上)】--预定义符号,#define定义常量,#define定义宏,带有副作用的宏参数,宏替换的规则,宏和函数的对比
  • 【2025年B卷】华为OD-100分-字符串重新排列、字符串重新排序
  • InlineHook的原理与做法
  • 无畏契约 directx runtime修复
  • 【技术支持】安卓开发中queryUsageStats不准确的问题
  • esp32关于PWM最清晰的解释
  • Ⅱ.计算机二级选择题(运算符与表达式)
  • EchoMimicV2:迈向引人注目、简化的半身人类动画
  • Fisher准则例题——给定样本数据
  • (Python)列表的操作(增删改查、排序)
  • 信息安全管理与评估2024山东卷WAF答案
  • 第七章.正则表达式
  • 车载软件更新 --- 数据完整性和正确性策略(数据验签事宜汇总)
  • 经典数学教材推荐(AI相关)
  • 《人性的弱点》能带给我们什么?
  • 微信公众号的制作方法和步骤/东莞seo网络公司
  • 设计网站推荐视频/seo中文含义是什么
  • 个人网站可以做经营性的吗/宁波seo关键词排名优化
  • 自己做挖矿网站/seo经理招聘
  • wordpress后天打开慢/网站seo链接购买
  • 网站建设功能seo/广州网页定制多少钱