# Summary ## Beam Search (束搜索) **通俗理解:** 不是每次只选1个最好的词,而是同时保留K条"候选路径"。 **例子 (beam_size=3):** ```Java "今天天气" → 路径1: "今天天气很好" (概率0.6) 路径2: "今天天气不错" (概率0.5) 路径3: "今天天气真棒" (概率0.4) 继续扩展每条路径,始终保留总概率最高的3条 ``` **优点:** 能找到全局概率更高的句子,不会因为[[贪心算法]]选择错过好结果 **缺点:** 生成的文本可能比较"安全"、缺乏创意,容易重复 ## Group Beam Search (分组束搜索) **通俗理解:** 把 beam 分成几组,每组内部竞争,**强制不同组之间生成不同的内容**。 **为什么需要?** - 普通 beam search 的多条路径可能很相似:"天气很好"、"天气真好"、"天气挺好" - 分组后强制多样性,可能得到:"天气很好"、"阳光灿烂"、"适合出游" **参数:** - `num_beams=6, num_beam_groups=3` → 6条beam分成3组,每组2条