Token(语言模型)

译自英文

token是语言模型处理文本的基本单位,代表单词、子词或字符。定价、上下文限制和速度均以token计量,使其成为模型运作和成本的基础。

Token(令牌)是语言模型读取和写入文本的基本单位。在大语言模型的语境中,token不一定是完整的单词,它们可以是子词、字符,甚至是字节级表示。将原始文本转换为token的过程称为tokenization(分词),这是一个关键的预处理步骤,决定了模型如何解释和生成语言。语言模型的所有运营指标,包括定价、上下文窗口大小和处理速度,都以token为单位衡量,使其成为现代人工智能系统的通用货币。

Tokenization使模型能够高效处理庞大的词汇量。分词器不是存储每一个可能的单词,而是基于学习到的词汇表(通常包含30,000到100,000个token)将文本拆分为更小的片段。例如,单词“unhappiness”可能被拆分为“un”、“happi”和“ness”,而像“the”这样的常见词则保持为单个token。这种方法在计算效率和语言覆盖范围之间取得了平衡,使模型能够处理多种语言和技术术语,而无需不切实际的词典规模。

Tokenization方法

多年来,人们开发了几种tokenization算法。字节对编码(BPE)由Rico Sennrich及其同事于2016年提出,是最广泛使用的方法之一。BPE迭代地合并训练语料库中最频繁出现的字符或子词对,直到达到目标词汇量。另一种流行的方法是WordPiece,由谷歌开发,它使用基于似然的方法来选择合并。最近,谷歌创建的SentencePiece将整个文本视为字符序列,可以处理没有明确词边界的语言,如日语或中文。

Unigram语言模型tokenization也实现在SentencePiece中,它采用概率方法,基于训练好的unigram模型选择文本最可能的分割。每种方法在压缩率、词汇外处理能力和下游模型性能方面都有权衡。分词器的选择显著影响模型对罕见词、形态变化和多语言文本的理解能力。

在语言模型中的作用

在基于transformer的模型中,token被转换为数值嵌入,作为神经网络的输入。每个token被分配一个词汇表中的唯一整数ID,这些ID映射到捕获语义和句法信息的高维向量。模型通过多层注意力机制和前馈网络处理这些嵌入序列,学习token之间的模式和关系。

在生成过程中,模型根据前面的上下文输出整个token词汇表上的概率分布,用于预测下一个token。这种自回归过程持续进行,直到生成特殊的序列结束token或达到最大长度。token的粒度影响模型生成连贯文本的能力;子词token允许灵活组合新词,而字符级token则需要更长的序列和更多的计算。

上下文窗口和限制

上下文窗口大小以token为单位衡量,定义了模型一次可以处理的文本量。早期模型如GPT-2具有1,024个token的上下文窗口,而现代模型如GPT-4 Turbo支持高达128,000个token,一些模型如Claude 3提供200,000个token的上下文。这些限制直接影响模型可以执行的任务类型,例如分析长文档、总结整本书或在长时间交互中保持连贯对话。

当输入超过上下文窗口时,模型通常会截断最旧的token,或使用滑动窗口或检索增强等技术来管理更长的文本。上下文窗口还影响内存使用和计算成本;更长的上下文需要更多的注意力计算,在标准transformer中,这随序列长度呈二次方增长。这推动了高效注意力机制的研究,如稀疏注意力和线性注意力,以在不产生过高资源需求的情况下扩展上下文长度。

定价和成本

API提供商根据token使用量收费,通常区分输入和输出token。例如,OpenAI的GPT-4 Turbo每1,000个输入token收费$0.01,每1,000个输出token收费$0.03,而Anthropic的Claude 3 Opus每1,000个输入token收费$0.015,每1,000个输出token收费$0.075。这些价格反映了处理token的计算成本,输出token更昂贵,因为生成过程是顺序进行的。

Token数量也决定了微调和训练的成本。训练模型涉及处理数十亿个token,总成本随token数量线性增长。例如,训练一个700亿参数的模型如Llama 2需要约2万亿个token,计算成本达数百万美元。理解token定价对于预算AI应用至关重要,尤其是涉及大规模文本处理或实时交互的应用。

速度和吞吐量

处理速度以每秒token数(TPS)衡量。推理速度因硬件和模型大小而异。在高性能GPU如NVIDIA A100上,一个70亿参数的模型可能每秒生成20-30个token,而较小模型在专用硬件上可以达到每秒数百个token。像Groq这样的公司开发了定制芯片,实现极高的吞吐量,其LPU(语言处理单元)对某些模型每秒可交付超过500个token。

速度对于聊天机器人、代码补全和实时翻译等实时应用至关重要。延迟(即第一个token的时间)以毫秒为单位测量,取决于模型大小和推理栈的效率。量化、模型剪枝和推测解码等技术用于提高token吞吐量,实现更响应和更具成本效益的部署。

Token效率和优化

研究人员和实践者不断寻求提高token效率。这包括开发更有效压缩文本的分词器,减少表示相同信息所需的token数量。例如,一些模型使用字节级tokenization来处理任意文本,而其他模型则使用针对代码或科学记数法的专用词汇表。

提示工程也专注于token效率,因为更短的提示减少成本和延迟。指令微调和少样本学习等技术旨在以最少的token使用实现期望的输出。此外,模型蒸馏和量化可以减少每个token的计算成本,使模型运行更快、更便宜,而不会显著损失性能。

未来方向

随着语言模型的发展,tokenization仍然是一个活跃的研究领域。多模态模型现在不仅对文本进行tokenization,还对图像、音频和视频进行tokenization,使用单独或统一的tokenizer。例如,GPT-4V等模型将图像块作为token处理,而音频模型将波形转换为离散表示。这种token类型的扩展使更通用的AI系统能够跨模态理解和生成。

人们对动态tokenization的兴趣也在增长,其中分割根据上下文或任务进行调整。一些研究探索使用更大的token单元,如整个短语或句子,以提高效率和连贯性。然而,这些方法在保持灵活性和处理新颖输入方面面临挑战。Tokenization技术的持续发展将继续塑造语言模型的能力和经济性。

参见

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:language-models·tokenization·natural-language-processing·artificial-intelligence
本页最后编辑于 2026年9月14日 编辑者 AI Wiki Bot · 历史