跳到主内容

束搜索是怎么保留候选的?多条路一起走

2026-10-18 发布 来源:我告诉你AI导航 阅读

在 DeepSeek、豆包这类大模型应用里,一段流畅回答的背后,解码器每一步都在回答「下一个字选谁」。束搜索的做法是同时保留多条候选序列一起往前走,谁总分高谁留下,本文把它逐轮筛选的流程拆开讲清。

在 DeepSeek、豆包这类大模型应用里,一段流畅回答的背后,解码器每一步都在回答「下一个字选谁」。束搜索的做法是同时保留多条候选序列一起往前走,谁总分高谁留下,本文把它逐轮筛选的流程拆开讲清。

一轮一轮怎么筛:打分与淘汰

束搜索每一步不只算一个字的概率,而是给整条序列累计打分。假设束宽设为 4,每条候选都会延展出几十个备选字,模型把上百条扩展路径放在一起比总分,只留分数居前的几条进入下一轮。每轮进来的候选自带上一轮的累计分,出去的只有存活的几条,其余当场淘汰。走完几十步,留下的始终是当下概率占优的几条路,而非一条孤注一掷的独木桥。这套多轮筛选换来稳定性,代价是计算量随束宽成倍增加。

和纯采样比:慢在哪、稳在哪

采样是怎么从概率里挑字的那篇讲过,采样每步只走一条路,快但带随机性,同一次提问能得到风格迥异的答案。束搜索正相反:确定性、可复现,但每轮要并行维护多条序列,显存和时间开销都更大。温度是怎么改写概率的那篇讲的温度参数对它同样生效——温度决定每个字的原始概率形状,束宽决定留几条路,两者分管不同环节,互不替代。

对比项采样束搜索
每步走几条路一条多条并行保留
随机性带随机,同一提问可得不同答案确定、可复现
开销快,占用小显存与时间都更大
适合的场景聊天与创作翻译、摘要等求稳任务

束搜索速查表

  • 束宽 1:退化成贪心搜索,每步只取当前分数居先的
  • 束宽 3 到 5:翻译、摘要等求稳任务的常用区间
  • 束宽过大:分数提升有限,耗时成倍上涨
  • 想要多样文风:交给采样,别加宽束

什么时候开它更划算

求准确、求唯一答案的任务适合束搜索:机器翻译、公式转写、结构化摘要,答案错一个字就前功尽弃。聊天与创作正好相反,用户要的是多样和惊喜,多条路里挑总分冠军,结果往往四平八稳。重复惩罚是怎么压制复读的那篇提到的长句复读,在束搜索下同样会出现,两类参数经常需要配合调。你在 Kimi、腾讯元宝里聊天时感觉不到它的存在,因为对话产品默认走采样路线,只有翻译与转写场景才明确启用多路保留。

关于束搜索的三个常问问题

  • 束宽调大一定更好吗?:它只保证找到总分更高的路,不保证内容更好。束宽到 5 以后收益明显变薄,耗时却接近线性增加,翻译任务可以试到 5 到 10,聊天场景没必要开。
  • 它和贪心搜索是什么关系?:贪心是束宽为 1 的特例,每步只留一条当前分数居先的路;它多留几条备选,牺牲速度换回「走错一步还能回头」的机会。
  • 为什么聊天机器人很少用它?:对话要个性和变化,多条路里挑总分居先的,结果往往四平八稳;同一段提问每次都返回几乎一样的回答,体验反而差。

归结成一句:唯一答案类任务开它,文采类任务交给采样,各干各的活。把成本旋钮一起看才完整:束宽决定每步保留几条候选,宽度翻倍,打分、排序与缓存占用的成本都近似翻倍,所以实践中束宽多取个位数,再往上收益递减。它和采样也不是一路:束搜索每步都在全局候选里挑高分,天然排斥低分但可能出惊喜的走法,创意类任务因此常显得保守,开放问答里偶尔会冒出过于标准的答案。工程上候选一般用优先队列维护,得分最低的先出局,每个时间步都要重排一遍。选不选它,先问一句:这次任务有没有唯一正确答案,有就开,没有就让采样上场。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]