图源:AI文生图
了解人工智能的第一天起,可能我们都有意无意遇到过一个词:token。
这个看起来技术性十足的词,频频出现在学者、销售、市场、运营甚至财务人员等各色职业人群的口中。
到底什么是token?它和大语言模型、窗口长度有怎样的关联?
如果你也好奇,下面跟随司普科技1号解说员小司一起来看看。
什么是token?
网上直搜token,很多人可能感到眼花缭乱。
作为名词,token既表示“代币,象征、标记、信物、礼券”等。作为形容词,又有“象征性、标志性、敷衍的”等多重涵义。
不过和大语言模型(LLM)站在一起,它目前只会明确地指向一点:最小文本单元(也有人称:最基础的数据单元、最小语义单位)。
因为token和patch各自是语言生成模型和视频生成模型在运作时的最小工作单元,业内还涌现出了一句话,即“LLM有文本token,Sora有视觉patches”。
话说回来,虽然token是文本处理过程中最小的单元,但token并不专指词语,也可以是单词、字母、数字、标点符号等。
而且国内外的计算标准并不统一,按已有惯例,1个token≈1-1.8个汉字,而在英文文本中,1个token≈-4个字母。
至于token在模型应用中发挥的作用,对于大模型生成原理有所了解的朋友可能知道:
在大模型在内容生成过程中,需要先把人们对话输入的文本转化成一个个的token,然后根据对上下文中的tokens信息的理解和分析,预测接下来应该生成的tokens内容,并将这些生成的tokens转换成人们熟悉的文本内容进行输出。
在整个过程中,token像极了人类与机器对话的“翻译官”,让不懂机器语言的普通人,也能跨越技术鸿沟,轻松和机器对话。
token和模型上下文的关系?
上面有提到,在模型下游任务的处理过程中,连续的文本序列会被分割为单个的token,在经语义分析和语言建模后,预测生成人们想要的内容。
不过,当输入和输出的tokens太多,模型需要处理、训练、推理的任务量也越大,如此一来,不仅模型生成质量和效率会打折扣,用户体验也会受影响。
为了避免出现这种情况,主流的大语言模型通常会设置一个token输入和输出的阈值,以免超出模型的最大处理能力。这个输出与输出的最大token额度,就是人们通常所说的模型上下文(窗口)长度。
比如GPT-4的上下文长度从一开始的4K逐渐拓展到了Ktoken(GPT-4Turbo支持的上下文长度),Claude2将支持的上下文token提至K,这意味着他们最大支持处理的token,其实相当于2-6万汉字。
越大的上下文窗口,一般意味着可接收和处理的信息量越多,交互和输出能力越强。这也是大模型的上下文token数量有些内卷的一大原因。
不过,过度追求上下文长度,容易导致过拟合现象,所以也不是支持的token量越多越好。
AItoken=代币?
除了文本处理的最小单位,token+人工智能还因为“AI代币”这个涵义备受瞩目。
token和货币的联系,除了经常被通用模型服务商们按照token使用量来收费(据不完全统计,目前国内外大模型每tokens收费在0.元-0.元人民币不等)。
还因为随着人们对AI