Tokenization
探索分词 (Tokenization) 如何将原始文本和图像转换为 AI 就绪的数据。学习 Ultralytics YOLO26 等模型所使用的 NLP 和计算机视觉方法。
Tokenization 是将原始数据流(如文本、图像或音频)分解为更小、更易管理的称为 token 的单元的算法过程。这种转换在 data preprocessing 管道中充当关键桥梁,将非结构化输入转换为 artificial intelligence (AI) 系统可以解释的数值格式。计算机无法天生理解人类语言或视觉场景;它们需要数值表示来执行计算。通过将数据分割成 token,工程师使 neural networks 能够将这些单元映射到 embeddings——即捕获语义的向量表示。没有这个基础步骤,machine learning 模型将无法识别模式、学习上下文或处理现代训练所需的大规模 datasets。
标记化与标记#
虽然这些术语在 deep learning 讨论中经常一起出现,但区分方法与结果有助于理解工作流。
- Tokenization 是过程(动词)。它指的是用于分割数据的特定规则或算法集。对于文本,这可能涉及使用像 NLTK 或 spaCy 这样的库来确定一个单元在哪里结束、另一个在哪里开始。
- Token 是输出(名词)。它是该过程生成的单个单元,例如单个词、子词、字符或像素块。
跨领域方法#
Tokenization 的策略根据数据的模态而显著变化,从而影响 foundation model 感知世界的方式。
NLP 中的文本标记化#
在 Natural Language Processing (NLP) 中,目标是在保持含义的同时分割文本。早期方法依赖于简单技术,如按空格分隔单词或删除 stop words。然而,现代 Large Language Models (LLMs) 利用了更复杂的子词算法,例如 Byte Pair Encoding (BPE) 或 WordPiece。这些算法迭代合并最频繁的字符对,允许模型通过将罕见词分解为熟悉的子组件来处理它们(例如,“smartphones”变成 “smart” + “phones”)。这种方法在词汇量大小与表示复杂语言的能力之间取得了平衡。
计算机视觉中的视觉标记化#
传统上,诸如 CNN 之类的 computer vision (CV) 模型使用滑动窗口处理像素。Vision Transformer (ViT) 的引入通过对图像应用 tokenization 改变了这一范式。图像被切片成固定大小的图块(例如 16x16 像素),然后将其扁平化并线性投影。这些“视觉 token”允许模型利用 self-attention 机制来学习跨图像的全局关系,类似于 Transformer 处理句子的方式。
实际应用#
标记化是当今生产环境中使用的许多 AI 应用背后的无声引擎。
-
开放词汇对象检测: 像 YOLO-World 这样先进的架构采用 multi-modal model 方法。当用户输入诸如“穿着红色帽子的行人”之类的提示时,系统会对该文本进行 tokenization 并将其映射到与视觉数据相同的特征空间。这实现了 zero-shot learning,允许模型通过将文本 token 与视觉特征进行匹配来检测未经显式训练的对象。
-
生成艺术与设计: 在 text-to-image 生成中,用户的提示会被进行 tokenization 以指导扩散过程。模型使用这些 token 来调整生成,确保生成的图像与在 tokenization 阶段提取的语义概念(例如“日落”、“海滩”)保持一致。
Python 示例:基于标记的检测#
以下示例演示了 ultralytics 包如何在 YOLO-World 工作流中隐式利用文本 tokenization。通过定义自定义类,模型会对这些字符串进行 tokenization 以动态搜索特定对象。
from ultralytics import YOLO
# Load a pre-trained YOLO-World model capable of text-based detection
model = YOLO("yolov8s-world.pt")
# Define custom classes; these are tokenized internally to guide the model
# The model will look for visual features matching these text tokens
model.set_classes(["backpack", "bus"])
# Run prediction on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Show results (only detects the tokenized classes defined above)
results[0].show()对模型性能的影响#
Tokenization 策略的选择直接影响 accuracy 和计算效率。低效的 tokenization 可能会导致 NLP 中的“词表外”错误或图像分析中细粒度细节的丢失。像 PyTorch 和 TensorFlow 这样的框架提供了灵活的工具来优化这一步骤。随着架构不断演进——例如最先进的 YOLO26——高效的数据处理可确保模型能够在从强大的云 GPU 到边缘设备的各种硬件上运行 real-time inference。管理这些复杂数据工作流的团队通常依靠 Ultralytics Platform 来简化数据集标注、model training 和部署。






