拼写“草莓”的奇怪案例
LLM 代币化解释:为什么对于人工智能来说简单的词并不总是简单
大型语言模型(LLMs)如GPT-4是生成文本、解决复杂问题和进行类似人类对话的强大工具。然而,它们通常在简单任务上出现问题,比如计算单词中的字母,这是因为它们处理文本的方法与人类的处理方式存在根本性差异。这些限制主要源于标记化和LLMs的体系结构。
LLM(Language Models)与人类对文本的理解方式不同。
- 人类理解:人类按照顺序阅读和处理文本,逐个字母地查看。对于我们来说,“草莓”这个词立即被认出为一系列个别字符:‘s,’ ‘t,’ ‘r,’ ‘a,’ ‘w,’ ‘b,’ ‘e,’ ‘r,’ ‘r,’ ‘y.’ 我们可以轻松地数字母,识别模式,理解这个词作为一个完整单位。
- LLM理解:LLM与人类不同,不会像人类一样处理文本。它们依靠分词(tokenization)的过程,将文本分解成标记(token)——基本单位可以是整个单词、单词的部分,甚至是单个字符。例如, "strawberry" 可能被分割为 "straw" 和 "berry",或者如果它在训练数据中经常出现,则可能被作为一个标记来处理。这种方法使LLM能够高效处理文本,但在需要精确理解字符级别的任务时可能会出现问题。
标记化和复合词
标记化
标记化是AI模型如何将文本分解为称为令牌的较小块的过程。 这些令牌可以是整个单词、单词的部分,甚至是单个字母,具体取决于模型的训练方式。
例如:“草莓”:当AI读到“草莓”这个词时,它可能会将其分成“草”和“莓”。这种分裂发生是因为“草莓”由两个可识别的部分或标记组成,模型以前曾见过。在某些情况下,如果模型经过训练将“草莓”视为常见词,它可能会将整个单词视为一个标记。
为什么这很重要?因为当您要求AI做类似计算“strawberry”中的字母数时,它并不会看到单独的字母—只会看到更大的块,“straw”和“berry”。因此,如果您问:“在‘strawberry’中有多少个‘r’?”AI可能会感到困惑,因为它不会自然地将单词拆分为每个字母的级别。这就像在没有先将绳子解开的情况下数绳子中的线程。
复合词:
现在,让我们考虑一个复合词,比如“timekeeper”。人类看到这个词是一个单词,但是人工智能可能会把它拆分成“time”和“keeper”。这种标记法使得人工智能更容易地处理和理解句子中的单词,但是当您需要准确的细节时,它会产生问题。
例子:“计时器”:如果你问AI,“‘计时器’中有多少个‘e’?” AI可能只会分别计算“计时”和“器”中的‘e’,可能会漏掉一个或更多。更糟糕的是,因为AI可能从不同的点开始计数(比如从0或1开始),它给你的答案可能不一致。因此,你可能会得到错误的计数,因为AI并没有把“计时器”视为一个具有精确字母结构的整个单词。
变压器架构:AI的大脑
为了理解为什么会发生这些分词的怪现象,我们需要看一下变换器架构,这是大多数现代LLM的主干。
什么是Transformer架构?
想象一下变压器就像是一个超级聪明的阅读器,它不仅可以逐字阅读,还能一次理解整个句子。它被设计成能立即弄清单词之间的关系,非常擅长翻译语言或撰写连贯的段落。
- 分块阅读(分词):变压器通过将句子分解为标记来阅读。例如,“猫坐在垫子上”可能会变成像“猫”,“坐”,“在”,“垫子”之类的标记。 这些块有助于AI处理信息,但这意味着它并不自然地看到单个字母。
- 将单词转换为数字(编码):一旦文本被分割成标记,变换器会将这些标记转换为数字。这些数字,或编码,代表每个标记的含义而不是确切的字符。因此,AI看到的不再是'T','H','E',而是“the”的数值模式。
- 理解整体图景(注意力机制):变形金刚之所以出色是因为它们使用一种称为注意力机制的东西。这使它们能够集中精力关注句子中最重要的部分,而不仅仅是从左到右阅读。例如,在“猫坐在垫子上”中,人工智能可能更加关注“猫”和“坐”,推断出那只猫是坐着的。
- 将所有部分组合在一起(处理的层次):变压器有多个层次处理令牌,逐步提炼其理解。第一层可能捕捉基本含义,而接下来的层次添加更多细节,直到AI完全掌握句子的上下文。
变压器在理解句子的整体意义和上下文方面表现得很好,但它们并不自然地关注细节,比如计算特定字母的数量。这就好比知道一幅图片展示了什么,但无法数清每一笔 - 对于大思想而言非常出色,但对于细节而言就差了一些。
引导 LLMs 运用批判性思维
为了克服这些挑战,通过批判性思维方法指导LLM可以帮助提高他们在特定任务上的表现。例如,与其直接问“‘草莓’中有多少个‘r’?”,你可以启发LLM:
- 观察问题:清晰地定义任务,指导LLM将单词分解为单个字符。
- 推理步骤:指导LLM系统地计算每个字符,特别注意每个字母及其位置。
- 重复和反思:鼓励LLM审查其流程,检查其计数,并核实其结果。
"不要猜测,仔细观察“草莓”这个词。将其拆分为单个字母。逐个计算“r”的数量,每一步都要检查准确性。反思你的计数,并验证总数以确保正确。"
通过采用一种逐步、有条不紊的方法,LLMs可以被引导向对人类自然直觉的任务更准确的表现。
为什么及时工程很重要
“草莓问题”是为什么制作正确提示很重要的完美例子。提示工程是关于正确询问AI的方式。重要的不仅是你问什么,还有你如何提问会产生巨大的影响。
- 让人工智能做得正确:没有正确的提示,人工智能会按照它的常规操作,很可能出错。但是有了一个良好结构化的提示,你可以引导它处理通常无法成功的任务,比如准确计算字母数量。
- 释放人工智能潜力:良好的提示可以帮助人工智能发挥其全部潜力,引导其进行详细推理,而不仅仅是猜测。
- 一个实际例子:与“草莓”有关的问题表明了正确提示的关键性。对人类来说这是一个简单的任务,但是AI需要一点推动才能做到正确。通过正确的引导,你可以让AI表现得更好,即使在通常会觉得困难的任务上也是如此。
所以,提示性工程不仅仅是有帮助的 - 它是必不可少的。它的关键在于让人工智能更加聪明地工作,而不是更加努力地工作,并且通过正确的方式提出问题,将棘手的问题转变为可解决的问题。