Skip to content

Token基础概念

概述

本章介绍Token的基本概念、计算方法和实际应用,这是理解和使用大语言模型的基础知识。

核心内容

什么是Token

定义 Token是文本被分割后的最小单位,可以是单词、子词或字符。

与字符的区别 一个Token可能对应一个单词、一个字符,或一个单词的一部分。

示例

  • 英文:"hello world" → ["hello", " world"] (2个tokens)
  • 中文:"你好世界" → ["你", "好", "世界"] (3个tokens)

Tokenizer(分词器)

作用 将原始文本转换为token序列,是模型处理文本的第一步。

常见类型

BPE(Byte Pair Encoding) 通过合并高频字节对来构建词表,GPT系列使用。

WordPiece 类似BPE,BERT等模型使用。

SentencePiece 支持多种分词算法,可直接处理原始文本。

字符级分词 将每个字符作为一个token,词表小但序列长。

Token计算

估算方法

  • 英文:约4个字符 ≈ 1个token
  • 中文:约1-2个汉字 ≈ 1个token
  • 代码:因语言而异,通常比自然语言更密集

计算工具

  • OpenAI Tokenizer
  • Tiktoken库
  • 各模型提供的在线工具

Token与成本

API计费 大多数LLM API按token数量计费。

价格因素

  • 输入token价格
  • 输出token价格(通常更高)
  • 模型版本和性能

成本优化

  • 精简提示词
  • 使用更短的示例
  • 选择合适的模型

Token与上下文窗口

窗口限制 上下文窗口以token为单位计算。

输入输出分配 总token数 = 输入token + 输出token

实际应用 需要为输出预留足够的token空间。

Tokenization的影响

多语言支持 不同语言的token效率不同,影响成本和处理能力。

特殊字符处理 代码、公式等特殊内容的tokenization可能不够高效。

隐私考虑 某些敏感信息可能在tokenization过程中暴露。

小结

Token是大语言模型处理文本的基本单位,理解Token的概念和计算方法对于有效使用LLM至关重要。掌握Token相关知识有助于优化成本、管理上下文窗口,并更好地理解模型的工作方式。