熟悉 Prompt 的同学们应该都知道,通常在写 Prompt 的时候要先设定角色:“你是XX方面的专家”,这并非玄学,而是有科学根据的。
GPT 在训练的时候,有各种训练数据,有的质量高有的质量低,而默认情况下,生成高质量数据和低质量数据的概率差不多,但是当你给它设定XX专家的角色时,它会尽可能把概率分布在高质量的解决方案上。
详细内容建议看下面这段 Andrej Karpathy 在 State of GPT 中的一段演讲。
以下是这段视频的文字文字内容:
下面我要讲的这点对 LLM 的理解非常有趣,我觉得这算是 LLM 的一种心理特性:LLM并不追求成功,而是追求模仿。你希望它成功,那就需要向它明确要求。这里的意思是,在训练 Transformer 的过程中,它们有各种训练集,而这些训练数据中可能涵盖了各种不同质量的表现。比如,可能有一个关于物理问题的提示,然后可能有学生的解答完全错误,但也可能有专家的答案完全正确。尽管 Transformer 可以识别出低质量的解决方案和高质量的解决方案,但默认情况下,它们只会模仿所有的数据,因为它们仅仅是基于语言模型进行训练的。
在实际测试中,你其实需要明确要求它表现得好。在这篇论文的实验中,他们尝试了各种提示。例如,“让我们逐步思考”这种提示就很有效,因为它把推理过程分散到了许多记号上。但效果更好的是这样的提示:“让我们以一步一步的方式解决问题,以确保我们得到正确的答案。” 这就好像是在引导 Transformer 去得出正确的答案,这会使 Transformer 的表现更好,因为此时 Transformer 不再需要把它的概率质量分散到低质量的解决方案上,尽管这听起来很荒谬。
基本上,你可以自由地要求一个高质量的解决方案。比如,你可以告诉它,“你是这个话题的领先专家。假装你的智商是120。” 但不要尝试要求太高的智商,因为如果你要求智商400,可能就超出了数据分布的范围,更糟糕的是,你可能落入了类似科幻内容的数据分布,它可能会开始展现一些科幻的,或者说角色扮演类的东西。所以,你需要找到适合的智商要求。我想这可能是一个U型曲线的关系。
Video:https://weibo.com/tv/show/1034:4914987886379024