在ChatGPT问世之前,Google的Meena、LaMDA、Meta的BlenderBot以及百度的PLATO等对话模型都已实现了高质量的人机对话效果,但它们没有像ChatGPT一样产生如此大的影响力。这是为什么呢?ChatGPT之所以产生巨大的影响力,是因为它在诸多方面有着更好的属性和强大的能力:(1)相比于现有的开放领域对话模型,ChatGPT具有更好的“面向任务”的属性。现有的对话模型致力于与人实现“闲聊”,其主要目标是将对话进行下去,这样的模型除了消遣之外并没有其他的能力,用户使用一段时间后就会觉得无聊。此外,模型产生的回复中仍然存在一些错误,使得用户不会对这样的模型感到惊奇。而ChatGPT则不同,通过GPT-3.5的训练目标(即根据指导完成任务),它能够按照用户输入的要求执行特定任务,这大大增加了其功能性。即使生成的内容中存在一些错误,用户也会因为相应功能的实现而降低对质量的要求。(2) ChatGPT具有很好的连续多轮对话的能力。尽管其他对话模型也具有一定的多轮对话能力,但它们主要用于闲聊,回复也相对简短,这会导致用户记住模型生成的内容,特别是与模型人设属性相关的内容。如果后续对话中出现与之前记忆不相符的地方,用户会有非常明显的感知。相比之下,ChatGPT的多轮对话能力主要集中在完成特定任务上,而非人设属性。例如,用户提出任务,ChatGPT完成后,用户认为其中的某些内容需要调整,于是再次输入需要调整的部分内容,让ChatGPT进行更改。在这个过程中,ChatGPT对用户多轮输入的建模能力集中在连续的几轮上,因而产生的效果比较好。这种连续多轮输入完成任务的方法,与GPT-3/3.5本身具有的自然语言理解能力以及基于指导完成任务的训练目标密切相关。(3)ChatGPT具有一定的推理能力。推理被认为是人类“智能”的重要体现。研究人员在使用ChatGPT之类的模型(包括之前的GPT-3/3.5)时,发现直接让其回答需要推理的问题可能会得到错误的答案,但如果将推理过程用自然语言的形式进行描述,则模型就能获得一定的推理能力。这一技术被称为思维链(Chain-of-Thought, CoT),其来源推断为在大规模的程序代码上进行的预训练。这种推理在以往的小规模模型中也是无法实现的。而这样的推理能力也被认为是大模型在参数量达到某一量级后所“涌现”出的能力之一。(4)ChatGPT能够承认错误并发现无法回答的问题。在以往的对话模型中,遇到无法回答的问题,模型往往会给出通用的回复或完全错误的回复。ChatGPT则具有“知其不可知”的能力,即能够承认其无法回答某些问题而并非编造回答。此外,如果通过输入告知ChatGPT其生成结果中的错误之处,ChatGPT能够对之前的回答进行调整,从而给出准确率更高的回复。这一能力与之前提到的多轮对话及推理能力密不可分。(5)ChatGPT倾向于生成更长的回复,尽管这是RLHF(Reinforcement Learning from Human Feedback)训练中带来的偏置(即人们倾向于给长回复打更高的分数),但对于用户而言,更长的回复意味着更充实的内容和更完善的解决方案,因此用户的体验会得到显著提高。(6)ChatGPT回答的准确性较高。这一准确性体现在两个方面。一方面,ChatGPT对用户输入的语义理解有较高的准确性;另一方面,ChatGPT生成的回答本身也有较高的准确性。这两个方面的高准确性都离不开ChatGPT本身的超大参数以及RLHF的使用。ChatGPT的强大能力有两个重要来源,一是其巨大的模型参数与优质的训练语料,二是RLHF(即人工反馈的强化学习)的使用。实际上,在之前的GPT-3/3.5中,研究人员已经可以用提供指导的方式让模型生成需要的内容,而ChatGPT将这一指导的形式用对话的方式展现出来,更加贴近用户的使用习惯。