相信你接触过AI对话系统,就一定熟悉token这个概念。当使用各类大模型的API服务时,费用都是按token数量结算的。
比方说,你的提问内容占用了80token,AI系统生成的回复包含120token,那么本次交互总计消耗的token量就是200。
有时候阅读深度学习论文时,某些架构名称后缀会出现7B、13B或175B这样的数字,这通常表示该神经网络的参数量级。
当参数规模成为衡量模型能力的常见指标时,我们自然会产生疑问:
什么是token?
它是怎么计算的?
一个token是指一个字吗?
中文和英文的token是一样的吗?
什么是Token?
大模型世界的最小积木——Token
Token=AI世界的"语言积木",中文俗称「语素」,是算法解析文字的基础元件,恰似人类思维时自然分解的「认知粒子」,AI并非逐字识别而是通过Token消化内容。
如同积木单元能搭建万千形态,智能模型先将文本解构为Token,再编织成有逻辑的回应~
在大模型技术体系中,"token"被定义为文本处理的最小单元。模型通过对文本进行token化(tokenization)实现基础语义分析。
这种划分过程可能将token对应为完整单词、标点符号、数字等常规元素,也可能细分为子词(subword)或单个字符等更精细的文本组成部分。
以下是不同token切分类型的介绍:
单词级token: 即token是按照单词进行划分的。一个句子中的每个单词通常都会成为一个独立的token。例如,在句子"我是智泊AI"中,"我"、"是”、"智泊AI"分别是三个单词级token.
标点符号级token: 除了单词,标点符号通常也作为独立的token存在。这是因为标点符号在语义和语法上都具有重要的作用。
例如,在句子"token好理解吗?"中,除了"token好理解吗"作为一个整体的token外:蕞后的问号"?"也是一个独立的token。
子词级token: 为了更好地处理复杂的语言情况,有时候将单词进一步划分为子词级的token。例如,单词"unhappiness"可以被划分为子词级token"un-"、、"happiness'
更复杂一点的,现在大模型比较流行的子词级token还有字节对编码(BPE),这也是ChatGPT的guan方采用的token编码方法它是通过合并出现频繁的子词对来实现的。
字符级token: 在某些情况下,特别是在字符级别的处理任务中,文本会被划分为字符级token。这样做可以处理字符级别的特征和模式。例如,在句子"Hello!"中,"H"、"e"““、" ”"o"和"!"分别是六个字符级token。
通过对文本做成一个一个的token,LLM模型能够更好地理解和处理语言,从而实现任务如文本生成、机器翻译、文本分类等。
因此,现在主流的大模型都会自带一个tokenizer,也就是自动将输入文本解析成一个一个的token,然后做编码(就是查字典转换成数字),作为大模型真正的“输入
蕞后,那么在ChatGPT中,一个token到底是多长?下面是一些有用的经验法则,可以帮助理解token的实际长度:
对于英文文本,1个token大约是4个字符或0.75个单词。通常来说,也就是1000个Token约等于750个英文单词。
对于中文,1000个Token通常等于400~500个汉字。
但是......!!!
Token ≠ 汉字/单词
中文: 1个token≈1-2个汉字(比如"人工智能"会被拆成2-3个token)
英文:1个token≈0.75个单词(比如"unbelievable"可能会被拆分成"un+believetable")
空格也算token!大家输入时千万别乱敲空格哦~
为什么重要?
算力成本: 每次对话消耗token量=你的"算力账单"(GPT-4每千token约¥0.3)
内容长度: ChatGPT-3.5最多支持4096 tokens(约3000汉字)
回答质量: 超出限制会"失忆",重要信息要前置!
技术原理3层拆解
分词算法: 用unigram/BPE算法找最佳拆分组合
分词器(tokenizer)黑科技:
英文: 按词根拆分(如“unbelievable"一["un","##belie",“##able”])
中文: 混合策略("人工智能"可能拆为[“人”,“工”,“智能”])
Emoii/符号: 每个表情算1个token
词表映射: 每个token对应唯一ID(比如"猫"→3827,🐱→12850)
向量转换: ID转换成768维数学向量,模型才能真正“理解”
概率预测: 根据前文猜下一个token
Tokens的作用:
1⃣ 输入限制:AI模型对每次处理的Token数量有限制(比如GPT-4最多支持32K Tokens),超过限制的部分会被截断。
2⃣ 计费标准:很多AI平台按Tokens数量收费,比如输入和输出的Tokens总和决定了使用成本。
3⃣ 模型理解:模型通过Tokens来“理解”文本,Token化方式直接影响模型的性能和效果。
日常应用Tips
优* 化prompt*: 删减冗余词=省token空间
控制输出: 设置max tokens参数
处理长文本: 用"继续"触发连贯生成
现在你明白了吗?Tokens是AI大模型的核心概念之一,了解它有助于更好地使用AI工具哦!