text-generation-inference 文档

推测

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

以开始使用

推测

推测解码、辅助生成、Medusa 和其他名称指的是同一个概念。这个概念是在大型模型实际运行之前生成 token,并只检查这些 token 是否有效。

因此,你在 LLM 上进行更多计算,但如果你的推测正确,你可以在一次 LLM 通过中生成 1、2、3 等 token。由于 LLM 通常是内存绑定(而不是计算绑定),只要你的推测足够准确,这就可以实现 2-3 倍更快的推理速度(例如,对于面向代码的任务,速度可能快得多)。

你可以查看更详细的解释:详细解释

文本生成推理支持两种主要的推测方法

  • Medusa
  • N-gram

Medusa

Medusa 是一种简单的方法,可以利用经过微调的 LM 头部以及现有模型在一次通过中生成多个 token。

你可以查看一些针对流行模型的现有微调

为了为自己的微调创建自己的 Medusa 头部,你应该检查原始 Medusa 存储库:../basic_tutorials/train_medusa.md

为了在 TGI 中使用 Medusa 模型,只需指向一个启用了 Medusa 的模型,所有内容都会自动加载。

N-gram

如果没有 Medusa 模型,或者没有资源进行微调,你可以尝试使用 n-gram。N-gram 通过尝试在之前的序列中找到匹配的 token,并使用它们作为推测来生成新 token。例如,如果 token "np.mean" 在序列中多次出现,模型可以推测 "np." 的下一个延续可能是 "mean"。

这是一种非常简单的方法,最适合代码或高度重复的文本。如果推测遗漏太多,这可能没有好处。

为了启用 n-gram 推测,只需使用

--speculate 2 在你的标志中。

关于标志的详细信息

< > 在 GitHub 上更新