大语言模型的内容生成,从某种角度上来看,可以被视作一个概率生成的问题。具体来说,当给定一段输入文本时,模型会计算出每个可能出现的后续词的概率,然后选择概率最高的词作为输出。随后,这个新词会被添加到先前的输入文本之后,形成新的输入,然后会重复这一过程,不断地扩展文本,直至输出停止符号或者达到预设的最大文本长度。
也就是说,大语言模型就是一种被训练来根据前文“接话”的模型。这个“接话”的过程和大语言模型的训练过程是一致的。这个能力并不一定是基于逻辑或事实,而是基于从海量杂乱的文本语料中学习到的语言规律和模式。
然而,正是由于大语言模型的这种特有的训练和生成方式,我们在其生成过程中很难进行有效的干预或纠正。这其中的难度,一部分源于训练数据对模型产生的深远影响,一部分则由于生成过程中的涌现性和多样性,还有一部分原因在于我们对生成过程的控制力度不足。
1 训练数据的影响
大语言模型的训练数据主要来自于公开的互联网信息,这些信息的质量直接影响了大语言模型的性能和效果,也是导致大语言模型生成内容不可控的根源之一,主要表现在如下4点:
(1)数据缺陷。
训练数据中可能存在一些事实性错误信息,对特定群体产生负面影响的敏感内容或者涉及争议性、令人不适的话题等。这些信息会被大语言模型学习和记忆,从而在生成内容时体现出来。
另外,基于不同人文环境的训练语料库会造成大语言模型具有不同的价值观,这可能使得大语言模型在生成内容时忽略信息的真实性或相关性,从而产生有倾向性的内容。
(2)时效性。
时效性主要考量训练数据中的信息是否及时更新,以确保与当前环境的信息保持同步。在训练语料库中,不可避免地会存在一些随时间推移而逐渐过时的信息。若大语言模型在内容生成时引用了这些过时信息,可能会因为对现实状况的不了解,导致提供错误或具有误导性的答案。
(3)领域知识。
领域知识指的是特定行业或专业领域内的专业知识和信息。比如,医学、法律或工程学等每个领域都有自己独特的术语、概念和实践方法。大语言模型在训练时使用的数据大多是通用的互联网信息,这些信息可能并不包含所有这些专业领域的深入知识。因此,当用户询问一些非常专业或者特定领域的复杂问题时,大语言模型可能就无法提供足够精确或深入的答案。
(4)私有知识。
私有知识通常指的是不为公众所知的信息,因此它不会在公开的互联网信息中出现。由于训练数据大多来源于公开的互联网信息,所以训练数据中很难包含这种私有知识。当面对那些需要依赖私有知识来解答的问题时,大语言模型往往难以给出精准或全面的答案。
2 涌现性和多样性副作用
涌现性和多样性是指训练和生成过程中,大语言模型展现出的超越其组成部分的能力和特征。这些能力和特征不仅增强了模型处理复杂任务的能力,还提升了其对自然语言的理解和生成能力。同时,它们也深刻影响了大语言模型的性能和输出内容的可控性。
(1)涌现性。
涌现是指当大语言模型的参数规模和复杂性达到一定程度后,突然展现出的、之前未被预期到的新能力或性能提升。例如,能够识别规律、理解常识和进行推理等,并在生成内容时自主运用这些能力创造新的输出内容。一些试验表明,当模型参数达到百亿级别时,这种涌现性便会自然而然地呈现出来。
涌现性的出现为大语言模型带来了显著的益处。它极大地丰富了模型的表现力和创造力,使得模型在应对复杂任务时能够展现出更为出色的性能。
然而,这种涌现性并非全然积极。它也可能是大语言模型表现出一些非预期或潜在有害行为的诱因,例如无中生有地创造新词、编造故事或模仿特定人物等。因此,在利用涌现性的同时,也需要对模型进行严格的监控和调控,确保其输出的内容符合社会道德和法律规定。
(2)多样性。
大语言模型在生成回答时展现出的一个显著特点是对于同一个问题它能够产生多样且内容相关联的答案。这一能力源自模型参数规模的扩大,赋予了其更高的自由度和灵活性。对于创意写作、娱乐对话等应用场景而言,这种多样性尤为宝贵,因为它能够激发新颖的想法,丰富对话内容,提升用户体验。
然而,这种多样性也可能导致输出内容的不可控性。由于同一句话可能存在多种不同的解读方式,大语言模型在生成内容时可能会选择某种特定的理解,而这可能与人类的预期或理解存在偏差,从而导致输出内容不符合预期或产生误导。因此,对于模型的多样性输出,需要谨慎处理,并结合上下文进行理解和评估。
3 生成过程控制不佳
大语言模型生成内容的可控性不仅受到模型本身的影响,还受到生成参数、提示质量和恶意引导等因素的影响。具体而言:
- **生成参数:**生成参数是指,影响大语言模型输出内容的多样性和一致性的参数。例如采样策略、温度参数等。这些参数可以影响大语言模型在给定输入情况下选择输出词汇的概率分布,从而影响输出内容的可控性。若这些参数未能妥善设置或未能适应多变的场景需求,可能会引发大语言模型输出的不稳定性,甚至导致内容连贯性受损,出现与输入不匹配或毫不相关的文本。
- **提示质量:**提示的质量取决于提示描述的清晰度、一致性、逻辑性和上下文背景知识等方面。如果输入提示不符合这些要求,可能会导致大语言模型陷入困惑或误解,从而产生错误或不合理的内容。
- **恶意引导:**恶意引导是指在提示中故意注入一些有害、误导、操纵或欺骗的内容,使得大语言模型输出不符合预期或不符合道德的内容。例如,一些攻击者可能会利用提示注入攻击(Prompt Injections),通过设计一些具有歧义或隐含意义的输入,让大语言模型生成一些不适当或危险的内容,从而达到破坏、诽谤或误导的目的。
遗憾的是,实现大语言模型输出内容的高度可控性具有一定的挑战性。然而,通过以下两个关键阶段的努力,我们可以最大限度地提升这种可控性,进而增强AI原生应用的实用性:
- 在训练阶段:对训练数据集进行细致的筛选和准备工作,排除那些包含错误、争议性或敏感内容的数据,以确保数据集的高质量和合规性。此外,还需执行严格的伦理审查,确保大语言模型生成的内容与人类价值观及思维模式相符。关于这一部分的讨论已超越了本书的讨论范围。
- 在AI原生应用开放阶段,我们可以采用提示工程方法来尽可能减少不可控内容,这包括控制生成参数和对话历史、基于提示的可控设计以及基于内容审查的可控设计。这些内容将在后续章节中详细探讨。
4 解决方案探索
在《AI原生应用开发:提示工程原理与实战》(京东图书:https://item.jd.com/14373635.html)一书中,作者用了一整章的深入剖析,细致探讨了AI原生应用实际部署时面临的大模型内容生成不可控问题,并针对这些问题提供了切实可行的解决方案。
该书不仅深刻揭示了问题的本质,还积极指引读者如何有效应对挑战。对于渴望深入了解并克服这一难题的您来说,这无疑是一本不可多得的宝贵资源,值得一读再读。