上下文指对话聊天内容前、后的内容信息。在 AI 领域,其英文通常翻译为 context。使用时,上下文长度和上下文窗口都会影响 AI 大模型回答的质量。上下文长度限制了模型一次交互中能够处理的最大 token 数量,而上下文窗口限制了模型在生成每个新 token 时实际参考的前面内容的范围。
从算法视角看,更宽的上下文窗口允许模型在推理时纳入训练数据中未找到的大量新的、特定于任务的信息,从而提高各种自然语言或多模式任务的性能。对越来越长的上下文进行数据建模的能力有着发展历程:从 Shannon 1948 提出的 2-gram 语言模型、到 1990 年代和 2000 年代的现代 n-gram 模型(5 个上下文 token),2010 年代的循环神经网络(RNN)达到数百个 token(Jozefowicz 等),到 2023 年 Anthropic 将上下文扩展到几十万 token。
从产品视角看,长上下文意味着 LLM 理解能力增强。从提示词到 RAG,都是为了增加给模型的上下文,进而让需求更明确,让模型理解得更好。从用数据训练模型、到指令微调,到提示词和 RAG,到大模型的超长下文,机器越来越像人了。提示词和 RAG 正在快速被弱化,但出于工程和商业考量,目前在很多领域还是主流,未来依然可能是一个混合状态。
模型上下文长度覆盖了书籍、电影、长视频等产品的通用长度,应该会引发相关链路上产品交互层的变化,这一点值得观察。
在提示词中,上下文包含外部信息或额外的上下文信息,能够引导语言模型更好地响应。
算法视角:更宽的上下文窗口允许模型在推理时纳入训练数据中未找到的大量新的、特定于任务的信息,从而提高各种自然语言或多模式任务的性能……对越来越长的上下文进行数据建模的能力follow了这个发展历程:从Shannon 1948提出的2-gram语言模型、到1990年代和2000年代的现代n-gram模型(5个上下文token),2010年代的循环神经网络(RNN)达到数百个token(Jozefowicz等),到2023年Anthropic将上下文扩展到几十万token。产品视角:长上下文意味着LLM理解能力增强。从提示词到RAG,都是为了增加给模型的上下文,进而让需求更明确,让模型理解得更好。从用数据训练模型、到指令微调,到提示词和RAG,到大模型的超长下文,机器越来越像人了。提示词和RAG正在快速被弱化,但出于工程和商业考量,目前在很多领域还是主流,未来依然可能是一个混合状态。模型上下文长度覆盖了书籍、电影、长视频等产品的通用长度,应该会引发相关链路上产品交互层的变化,这一点值得观察。One more thing:在公众号发送“1.5",获取Gemini1.5技术报告的中英文版。-END-
[title]走入AI的世界[heading2]3清楚原理:必须理解的核心概念和听得懂的底层原理[heading4]3.1必须理解的核心概念首先我们给出一些常见缩写和专业词汇的“人话”解释,它们十分基础,但理解他们至关重要。为了讨论更加聚焦,接下来的内容将主要围绕大语言模型为主进行展开(对于其他模态的大模型,我们暂且放放):LLM:Large language model的缩写,即大语言模型,前面百团大战中的各类大模型,说的都是大语言模型(极其应用)Prompt:中文译作提示词,就是我们输入给大模型的文本内容,可以理解为你和大模型说的话,下达的指令。提示词的质量好坏,会显著影响大模型回答的质量,很多时候如果你觉得大模型回答的太差了,AI味儿太浓了,很可能是你的提示词写的不够好,换言之,不是AI不行,而是你不行😌Token:就像人类有着不同的语言,大模型也有着自己的语言体系,如图9,我们发送文本给大模型时,大模型会先把文本转换为他自己的语言,并推理生成答案,而后再翻译成我们看得懂的语言输出给我们。正如人类不同语言都有最小的字词单元(汉语的字/词,英语的字母/单词),大模型语言体系中的最小单元就称为Token。这种人类语言到大模型语言的翻译规则,也是人类定义的,以中文为例,由于不同厂商的大模型采用了不同的文本切分方法,因此一个Token对应的汉字数量也会有所不同,但在通常情况下,1Token≈1-2个汉字。请注意,大模型的收费计算方法,以及对输入输出长度的限制,都是以token为单位计量的。上下文:英文通常翻译为context,指对话聊天内容前、后的内容信息。使用时,上下文长度和上下文窗口都会影响AI大模型回答的质量。上下文长度限制了模型一次交互中能够处理的最大token数量,而上下文窗口限制了模型在生成每个新token时实际参考的前面内容的范围(关于这一点,你需要看完3.2中关于GPT的讨论,方能更好理解)
[title]提示词要素如果您接触过大量提示工程相关的示例和应用,您会注意到提示词是由一些要素组成的。提示词可以包含以下任意要素:指令:想要模型执行的特定任务或指令。上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。输入数据:用户输入的内容或问题。输出指示:指定输出的类型或格式。为了更好地演示提示词要素,下面是一个简单的提示,旨在完成文本分类任务:提示词在上面的提示示例中,指令是“将文本分类为中性、否定或肯定”。输入数据是“我认为食物还可以”部分,使用的输出指示是“情绪:”。请注意,此基本示例不使用上下文,但也可以作为提示的一部分提供。例如,此文本分类提示的上下文可以是作为提示的一部分提供的其他示例,以帮助模型更好地理解任务并引导预期的输出类型。注意,提示词所需的格式取决于您想要语言模型完成的任务类型,并非所有以上要素都是必须的。我们会在后续的指南中提供更多更具体的示例。