LogoAIRosetta

深度解析:LLM 的 Tokenizer 与向量化(Embedding)全攻略

原创

Summary本文全面总结了 tokenizer 的选择原则、向量化维度及其权衡、向量表与模型的对应关系,以及向量数据库的使用与迁移策略,强调必须与模型保持一致并在升级时重建向量。

随着大型语言模型(LLM)的快速发展,文本处理和语义搜索中,**Tokenizer 与向量化(Embedding)**是两个核心环节。本文对常用 tokenizer、向量化维度、向量数据库使用及模型选择做一个全面总结。

1. Tokenizer 工具及特点

Tokenizer 是将文本切分成可处理单元(token)的工具。常用工具包括:

选择原则:

  1. 与模型对应:必须用与训练 LLM 同一 tokenizer,否则 token 编码不一致,生成或向量化结果会出错。
  2. 多语种支持:如中文、日文,需要 SentencePiece 等可处理无空格语言的 tokenizer。
  3. 效率 vs 精度:BPE / WordPiece 优先考虑 token 覆盖率,GPT 系列优化了编码速度。

2. 向量化维度与向量表

在向量化(Embedding)阶段,模型会将 token 或文本映射到向量空间。关键信息如下:

含义解析:

  • 向量维度(如 768、1536、3072)表示 embedding 输出的特征数量。
  • 维度越高,理论上语义表达能力越强,但计算和存储成本也增加。

3. Tokenizer 与向量表的关系

  • 向量表不是查表获取的:embedding 模型通过训练得到参数,将 token 映射为向量。
  • 每个 embedding 厂家训练自己的向量表:
  • OpenAI、Google、HuggingFace 各自训练的 embedding 分布不同。
  • 同一文本在不同模型生成的向量不直接兼容。
  • 微调可能保持兼容性:
  • 对同一模型做微调(LoRA、Adapter 等)不会改变向量维度和分布过多。
  • 更换大版本或厂商(如 OpenAI 002 → 003,BERT → LLaMA embedding)必须重新生成向量。

4. 向量数据库使用注意事项

  • 向量数据库存储的是 针对特定模型生成的向量。
  • 换模型或维度不同:
  • 原向量无法直接对比(维度不匹配或语义空间不同)。
  • 必须重新向量化数据,否则搜索结果不准确。
  • 实际操作建议:
  1. 固定 embedding 模型,保持数据库向量一致。
  2. 微调同模型可保留旧向量兼容性。
  3. 若升级大版本,新增字段存新向量,实现增量迁移或双向搜索。

5. 选择 tokenizer 与 embedding 的实践

  1. 选择 tokenizer:
  • 必须和 LLM 训练时使用的一致。
  • 支持文本语言类型(中/英/日等)。
  • 高效处理长文本时可选优化 tokenizer(如 tiktoken)。
  1. 选择 embedding 模型:
  • 根据应用场景:语义搜索、问答、推荐系统等。
  • 考虑维度与性能成本。
  1. 向量数据库策略:
  • 确定模型版本,避免频繁更换。
  • 缓存、索引和相似度计算方式需要和向量维度一致。
  • 升级模型时必须重新生成向量,保证语义搜索准确性。

6. 总结

  • Tokenizer 是文本编码工具,必须匹配 LLM 模型。
  • Embedding 模型训练出的向量表决定向量分布和维度,向量数据库依赖于模型。
  • 维度越高,语义表达能力越强,但计算开销也大。
  • 不同厂家的 embedding 向量不直接通用,更换 embedding 模型时需重新向量化。
  • 微调同一模型可保留向量兼容性,但大版本升级或厂商更换必须更新向量库。

CopyrightStatement

Comment

Please login before commenting

NoComments

RelatedNews

LoadingMore

深度解析:LLM 的 Tokenizer 与向量化(Embedding)全攻略 - Airosetta News