LLM-Mirostat

# AI
# LLM

[2007.14966] Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity

嗯,最近研究LLM的时候,发现 Ollama 提供了 Mirostat 的选项,想了解一下这个算法。

1. 介绍

Mirostat 是一种新的文本解码算法,旨在直接控制生成文本的困惑度(perplexity)。它通过动态调整采样温度来实现这一目标,从而使生成的文本更具可控性和一致性。

按照常规的方法,ai在选取下一个词的时候,受到下面几个参数的影响:

参数名称 描述
Temperature 控制生成文本的随机性,值越高生成的文本越多样化,值越低越确定性。
Top-k Sampling 限制候选词的数量,仅从概率最高的 k 个词中采样。
Top-p Sampling 基于累积概率选择候选词,仅从累积概率达到 p 的词中采样。
Perplexity 衡量生成文本的不确定性,值越低表示文本越确定性和一致性。

Mirostat 的独特之处在于它直接控制 perplexity,而不是间接依赖于 temperature 或 top-k/top-p 参数。

Mirostat 受到下面三个参数影响:

参数名称 描述
目标困惑度 用户设定的目标 perplexity 值,Mirostat 会动态调整生成文本以接近该值。
学习率 控制调整采样温度的速度,值越高调整越快,但可能导致不稳定。
Mirostat 方法 选择使用的 Mirostat 版本,0 表示不使用,1 表示使用 Mirostat V1,2 表示使用 Mirostat V2。

2. 优势

Mirostat 相比较传统方式有下面两个优势:

  1. 直接控制而非间接调控
  2. 动态变化而非固定值

2.1 直接控制而非间接调控

传统的文本生成方法通常通过调整 temperature、top-k 或 top-p 等参数间接影响 perplexity。然而,这种方式可能需要多次尝试才能找到合适的参数组合,且生成结果的稳定性较差。Mirostat 则通过直接设定目标 perplexity 值,动态调整采样温度,使生成的文本更符合用户预期。这种直接控制的方式减少了调参的复杂性,同时提高了生成文本的一致性。

2.2 动态变化而非固定值

传统方法中的 temperature、top-k 和 top-p 通常是固定值,在整个生成过程中保持不变。这种固定值的设置可能无法适应生成文本时的上下文变化,导致生成结果的质量不稳定。Mirostat 通过动态调整采样温度,根据当前生成的 perplexity 与目标 perplexity 的差距实时修正,从而更好地适应上下文变化,生成更连贯和自然的文本。