Tokenization
探索分词如何将原始文本和图像转换为适用于 AI 的数据。了解 Ultralytics YOLO26 等模型所使用的 NLP 和计算机视觉方法。
分词是一个算法过程,用于将原始数据流(如文本、图像或音频)拆分成更小且易于处理的单元,这些单元称为 token。这种转换是数据预处理流程中的关键桥梁,可将非结构化输入转换为人工智能 (AI)系统能够理解的数值格式。计算机无法天生理解人类语言或视觉场景;它们需要数值表示来执行计算。通过将数据分割成 token,工程师可以让神经网络将这些单元映射到嵌入——能够捕获语义含义的向量表示。如果没有这一步基础处理,机器学习模型将无法识别模式、学习上下文,也无法处理现代训练所需的大规模数据集。
分词与 Token#
虽然在深度学习讨论中经常同时听到这两个术语,但区分方法与结果有助于理解工作流程。
- **分词**是过程(动词)。它指用于拆分数据的一组具体规则或算法。对于文本,这可能涉及使用 NLTK 或 spaCy 等库来确定一个单元在哪里结束、另一个单元在哪里开始。
- **Token**是输出(名词)。它是由该过程生成的单个单元,例如一个单词、一个子词、一个字符或一块像素。
不同领域中的方法#
分词策略会根据数据模态的不同而显著变化,从而影响基础模型感知世界的方式。
NLP 中的文本分词#
在自然语言处理 (NLP)中,目标是在保留含义的同时对文本进行分段。早期方法依赖按空格分隔单词或移除停用词等简单技术。然而,现代大型语言模型 (LLMs)采用了更复杂的子词算法,例如字节对编码 (BPE)或 WordPiece。这些算法会迭代合并出现频率最高的字符对,使模型能够通过将生僻词拆分成熟悉的子组件来处理这些词(例如,"smartphones" 会变成 "smart" + "phones")。这种方法在词汇量与表示复杂语言的能力之间实现了平衡。
计算机视觉中的视觉分词#
传统上,计算机视觉 (CV)模型(如 CNN)使用滑动窗口处理像素。视觉 Transformer (ViT)的引入通过将分词应用于图像改变了这一范式。图像会被切分成固定大小的图像块(例如 16x16 像素),随后进行展平和线性投影。这些“视觉 token”使模型能够利用自注意力机制学习图像中的全局关系,其方式类似于 Transformer 处理句子的方式。
实际应用#
分词是当今许多生产环境中 AI 应用背后的无形引擎。
-
**开放词汇目标检测:**像 YOLO-World 这样的先进架构采用多模态模型方法。当用户输入“person wearing a red hat”这样的提示词时,系统会对文本进行分词,并将其映射到与视觉数据相同的特征空间。这支持零样本学习,模型可以通过将文本 token 与视觉特征进行匹配,检测出未经过明确训练的对象。
-
**生成艺术与设计:**在文本到图像生成中,用户提示词会被分词,以引导扩散过程。模型使用这些 token 对生成过程进行条件控制,确保生成的图像符合分词阶段提取的语义概念(例如“sunset”和“beach”)。
Python 示例:基于 Token 的检测#
以下示例演示了 ultralytics 包如何在 YOLO-World 工作流中隐式使用文本分词。通过定义自定义类别,模型会对这些字符串进行分词,以动态搜索特定对象。
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()对模型性能的影响#
分词策略的选择会直接影响准确率和计算效率。低效的分词可能导致 NLP 中出现“词汇表外”错误,或导致图像分析中丢失细粒度细节。PyTorch 和 TensorFlow 等框架提供了用于优化这一步骤的灵活工具。随着架构不断发展(例如先进的 YOLO26),高效的数据处理可确保模型在从高性能云端 GPU 到边缘设备等各种硬件上运行实时推理。管理这些复杂数据工作流的团队通常依靠 Ultralytics Platform 来简化数据集标注、模型训练和部署。









