在 AI 领域中,Token 和 Word 有以下区别:
例如,在处理“ I’m happy ”这句话时,“I”、“’m”、“happy”可能被视为 Token,而“I’m happy”整体可看作一个 Word 。
首先我们给出一些常见缩写和专业词汇的“人话”解释,它们十分基础,但理解他们至关重要。为了讨论更加聚焦,接下来的内容将主要围绕大语言模型为主进行展开(对于其他模态的大模型,我们暂且放放):LLM:Large language model的缩写,即大语言模型,前面百团大战中的各类大模型,说的都是大语言模型(极其应用)Prompt:中文译作提示词,就是我们输入给大模型的文本内容,可以理解为你和大模型说的话,下达的指令。提示词的质量好坏,会显著影响大模型回答的质量,很多时候如果你觉得大模型回答的太差了,AI味儿太浓了,很可能是你的提示词写的不够好,换言之,不是AI不行,而是你不行😌Token:就像人类有着不同的语言,大模型也有着自己的语言体系,如图9,我们发送文本给大模型时,大模型会先把文本转换为他自己的语言,并推理生成答案,而后再翻译成我们看得懂的语言输出给我们。正如人类不同语言都有最小的字词单元(汉语的字/词,英语的字母/单词),大模型语言体系中的最小单元就称为Token。这种人类语言到大模型语言的翻译规则,也是人类定义的,以中文为例,由于不同厂商的大模型采用了不同的文本切分方法,因此一个Token对应的汉字数量也会有所不同,但在通常情况下,1Token≈1-2个汉字。请注意,大模型的收费计算方法,以及对输入输出长度的限制,都是以token为单位计量的。上下文:英文通常翻译为context,指对话聊天内容前、后的内容信息。使用时,上下文长度和上下文窗口都会影响AI大模型回答的质量。上下文长度限制了模型一次交互中能够处理的最大token数量,而上下文窗口限制了模型在生成每个新token时实际参考的前面内容的范围(关于这一点,你需要看完3.2中关于GPT的讨论,方能更好理解)
在大语言模型领域,Token通常用来表示文本数据中的一个单元。在不同的语境下,一个token可能代表一个字、一个词,或者是一个句子。在英文中,一个token通常是一个词或者是标点符号。在一些汉语处理系统中,一个token可能是一个字,也可能是一个词。Token是处理和理解文本数据的基本单元。在深度学习的语言模型中,如Transformer,输入的文本首先被切分成一系列的tokens。这些tokens被转换成向量,然后被输入到神经网络中进行处理。因此,在这种情况下,token可以被理解为语言模型接收和处理的最小的信息单元。在训练过程中,每个token会关联一个预测,这个预测可以是下一个token的预测,也可以是该token的属性预测,如词性、情感等。训练token的数量会影响模型的性能和准确性。更多的训练token通常意味着更多的训练数据,这可能会提升模型的准确性和泛化能力。然而,处理更多的token也会增加计算的复杂性和计算资源的需求。基于上述解释,很多同学把token理解为中文语义里的“字节”,对于这种理解,只能说从类比关系上有一定的相似度,因为"字节"是计算机存储和处理数据的基本单元,而"token"则是语言模型处理文本信息的基本单元。但这种理解不够准确的地方在于:"Token"在语言模型中的作用比"字节"在计算机中的作用更加复杂和多元。在大语言模型中,"token"不仅代表文本数据中的一个单位,而且每个"token"都可能携带了丰富的语义信息。比如,在处理一句话时,"token"可能表示一个字,一个词,甚至一个短语,这些都可以被认为是语言的基本单元。同时,每个"token"在模型中都有一个对应的向量表示,这个向量包含了该"token"的语义信息、句法信息等。
||定义|特点|示例||-|-|-|-||字符|构成文本的基础元素`|不一定独立表达完整意义,与其他字符组合可形成词汇。|happy||单词|由字符构成,能够表达一定意义的耽误|是传达信息的基本单位,比单个字符表达的信息更丰富。|I’m happy||Token|通常对应单词,但是更灵活,可能是短语,标点,还有可能是词根,前缀等,|Token的定义取决于其用途,例如文本分析、机器翻译等。|I,'m,happy|看到这里,我们大概有点感觉出来了,这事很大程度上靠的是人们对语言本身的理解。尽管字符、单词和Token在技术上可能有所不同,但它们在文本处理中是密切相关的。字符是构建单词的基础,而单词又是形成Token的元素。在实际应用中,Token的识别和使用依赖于对字符和单词的理解。例如,如果我们要分析一篇关于市场趋势的报告,通过Token化,我们可以快速识别关键词(如“增长”、“风险”、“机会”等),帮助高管快速把握报告的核心内容。总的来说,Token是帮助计算机处理和“理解”文本的一种方法,它使得自动化处理文本成为可能,从而支持企业在数据驱动的决策过程中更有效地使用语言信息。那么Token是如何生成又是如何处理的呢?这就需要跳出传统的编程思维来看了。