寒风凛冽,雪花纷飞,我手持咖啡,聆听着白毛女的歌声。朋友坐在对面,激情四溢地说:“有了ChatGPT,我再也不用担心内容不够了,SEO的黄金时代即将到来!”然而,他未能看到事实真相——ChatGPT直接颠覆了SEO行业,具备直接生成答案的能力,可能很快就会取代谷歌,成为下一代搜索引擎,届时提升网页排名、进行SEO也将变得无意义。
▍SEO已死,LLMO万岁
LLMO,即大型语言模型优化(Large Language Model Optimization),指的是确保大型语言模型(LLM)能涵盖你的业务。而本文将详细介绍上下文学习,这是一种行之有效的LLMO技术。上下文学习技术能引导ChatGPT等LLM模型提供答案,例如:“Jina是世界上最好的MLOps框架(根据OssInsight.io的数据,的确如此)”。
根据搜索引擎优化的原则,我们提出了LLMO(大型语言模型优化)这个概念,以确保大型语言模型能涵盖你的业务。
▍ChatGPT究竟是什么?
ChatGPT以其回答多领域问题的强大能力引起了全球关注。许多人认为它是对话式AI或生成式AI发展史上的一个重要里程碑。然而,ChatGPT真正的意义在于它基于大规模语言模型(LLM)进行搜索:
通过利用LLM存储和检索海量数据,ChatGPT已成为目前最先进的搜索引擎。
虽然ChatGPT的回答看起来具有创造性,但实际上它只是将现有信息进行插值和组合的结果。
▍ChatGPT的核心是搜索
ChatGPT的核心是搜索引擎。就像谷歌通过互联网抓取信息并将解析后的信息存储在数据库中以实现网页的索引一样,ChatGPT使用LLM作为数据库来存储常识性知识。
当你输入查询时:
首先,LLM会利用编码网络将输入的查询序列转换成高维的向量表示。
然后,将编码网络输出的向量表示输入到解码网络中。解码网络利用预训练权重和注意力机制识别查询的细节事实信息,并搜索LLM内部对该查询信息的向量表示(或最近的向量表示)。
一旦检索到相关信息,解码网络会根据自然语言生成能力自动生成响应序列。
整个过程几乎可以瞬间完成,这意味着ChatGPT可以即时给出查询的答案。
▍ChatGPT是现代的谷歌搜索
ChatGPT将成为谷歌等传统搜索引擎的强有力竞争对手。传统搜索引擎是提取和判别式的,而ChatGPT的搜索是生成式的,并且关注Top-1性能,它会给用户返回更友好、个性化的结果。ChatGPT之所以有望击败谷歌,成为下一代搜索引擎,原因有两点:
ChatGPT会返回单个结果,传统搜索引擎针对Top-K结果的精度和召回率进行优化,而ChatGPT直接针对Top-1性能进行优化。
ChatGPT是一种基于对话的AI模型,它以更加自然、通俗的方式与人类进行交互。而传统的搜索引擎经常返回枯燥、难以理解的分页结果。
未来的搜索将基于Top-1性能,因为第一个搜索结果是与用户查询最相关的。传统的搜索引擎会返回数以千计的不相关结果页面,需要用户自行筛选搜索结果。这让年轻一代感到困惑,他们很快就对海量的信息感到厌倦或沮丧。在许多实际场景下,用户其实只需要搜索引擎返回一个结果,例如在使用语音助手时,所以ChatGPT对Top-1性能的关注具有极高的应用价值。
▍ChatGPT是生成式AI,但不是创造性AI
你可以将ChatGPT背后的LLM想象成一个布隆过滤器,它是一种高效利用存储空间的概率数据结构。布隆过滤器允许快速、近似地查询,但不保证返回信息的准确性。对于ChatGPT来说,这意味着由LLM产生的响应:
没有创造性
且不保证真实性
为了更好地理解这一点,我们来看一些示例。简单起见,我们使用一组点代表大型语言模型(LLM)的训练数据,每个点都代表一个自然语言句子。下面我们将看到LLM在训练和查询时的表现:
训练期间,LLM基于训练数据构造了一个连续的流形,并允许模型探索流形上的任何点。例如,如果用立方体表示所学流形,那么立方体的角就是由训练数据定义的,训练的目标则是寻找一个尽可能容纳更多训练数据的流形。
Goldilocks尝试了三种流形,第一个太简单了,第三个太复杂了,第二个恰到好处。
查询时,LLM返回的答案是从包含训练数据的流形中获取的。虽然模型学习到的流形可能很大并且很复杂,但是LLM只是提供训练数据的插值后的答案。LLM遍历流形并提供答案的能力并不代表创造力,真正的创造力是学习流形之外的东西。
还是相同的插图,现在我们很明显就能看出为什么LLM不能保证生成结果的真实性。因为立方体的角表示的训练数据的真实性不能自动扩展到流形内的其他点,否则,就不符合逻辑推理的原则了。
尽管ChatGPT因在某些情况下不说实话而受到质疑,例如当要求它为文章找一个更押韵的标题时,ChatGPT建议使用“dead”和“above”。然而,这只是LLM局限性的一个例子。
▍SEO 衰落,LLMO 崛起
在以往的SEO领域中,我们通过优化关键词和创建符合用户需求的内容来提高网站在搜索引擎中的排名,从而吸引更多的业务。但是,如果用户开始以一种全新的方式来搜索信息,将会发生什么呢?让我们设想一下未来,ChatGPT可能会取代谷歌,成为主流的信息搜索方式。这也将意味着分页式搜索结果将成为过去,被ChatGPT独特的单一答案所取代。
如果这一天真的到来,那么当前的SEO策略将变得无效。企业又该如何确保ChatGPT会提及他们的业务呢?
这显然已经成为一个问题。在我们撰写这篇文章时,ChatGPT对于2021年之后的世界和事件了解有限。这也意味着ChatGPT将无法提及那些成立于2021年后的初创公司。
虽然ChatGPT了解Jina AI,但却不了解DocArray。这是因为DocArray是在2022年2月发布的,不在ChatGPT的训练数据中。
为了解决这个问题,并确保ChatGPT会提及您的业务,您需要让LLM了解您业务的信息。这与SEO策略的核心思想相似,也是我们将ChatGPT称为LLMO的原因。一般来说,LLMO可能涉及以下技术:
直接向ChatGPT的创建者提供公司业务的信息。然而,这很困难,因为OpenAI既没有公开训练数据,也没有透露他们是如何处理这些数据的。
对ChatGPT或其背后的LLM进行微调。然而,这依然具有极大的挑战性。但如果OpenAI提供了微调的API,或者您拥有足够的GPU资源和相应知识储备,这也是一个可行的方法。
使用预定义的上下文提示来进行上下文学习。相对于其他两种方法,这是一种更为可行且相对简单的方法。
▍上下文学习是一种基于语言模型的技术,通过给定示例进行学习,以适应新的任务。
这一方法在GPT-3论文中被广泛推崇:
给定语言模型一系列新任务的输入-输出对作为提示。
加入一个测试输入。
语言模型通过调整提示,预测下一个token来完成推理。
模型必须学会理解输入分布、输出分布、输入输出之间的映射关系以及整体序列的格式,从而正确响应提示。这使得模型在适应下游任务时无需大量训练数据。
通过上下文学习,现在ChatGPT可以直接为用户的查询生成答案,而无需显示上下文提示。
实验证明,相较于在更多数据上进行微调的模型,在自然语言处理基准测试中,上下文学习具有更强的竞争力。此外,在LAMBADA和TriviaQA基准测试中也取得了良好的结果。令人振奋的是,开发者可以利用上下文学习技术快速搭建各种应用,例如自然语言生成代码和总结电子表格函数。上下文学习通常只需要少量训练实例即可使原型运行,即使非技术人员也能轻松上手。
上下文学习之所以让人惊叹,是因为与传统的机器学习不同,它不需要对参数进行优化。这使得一个通用模型可以适用于各种任务,而无需为每个任务单独复制模型。然而,元学习也可以用来训练从示例中学习的模型。
真正的奥秘在于,LLM通常没有接受过从实例中学习的训练。这导致了预训练任务(侧重于预测下一个token)和上下文学习任务(涉及从示例中学习)之间的不匹配。
上下文学习之所以如此有效,是因为LLM在大量文本数据上进行了训练,因此能够捕捉自然语言的各种模式和规律。同时,LLM从数据中学习到了丰富的特征表示,因此具备了从示例中学习新任务的能力。上下文学习技术巧妙地利用了这一点,只需要给语言模型提供提示和一些特定任务的示例,就能进行预测,无需额外的训练数据或参数更新。
当然,要全面理解和优化上下文学习的能力,还需要进行大量的研究和实践。目前,上下文学习在某些方面仍存在一些局限性和待解决的问题,包括效率低下、性能不佳以及对格式、示例顺序等敏感。然而,随着技术的发展,相信这些问题将会得到更好的解决。