Token
了解 token 如何充当 AI 中信息的基本单位。探索它们在 NLP、计算机视觉和使用 YOLO26 进行开放词汇检测中的作用。
在现代人工智能的复杂架构中,令牌代表模型处理的信息的基本原子单元。在算法能够解释句子、分析软件脚本或识别图像中的对象之前,原始输入数据必须被拆分为这些离散且标准化的元素。这种分割是数据预处理中的关键步骤,可将非结构化输入转换为神经网络能够高效计算的数值格式。人类将语言感知为连续的思想流,或将图像感知为连贯的视觉场景,而计算模型则需要这些细粒度的构建块来执行模式识别和语义分析等操作。
令牌与令牌化#
要理解机器学习的工作机制,必须区分数据单元与用于创建该单元的过程。在设计数据管道和准备Ultralytics Platform上的训练材料时,这种区分有助于避免混淆。
- **令牌化:**这是将原始数据拆分为多个片段的算法过程(动词)。对于文本,这可能涉及使用自然语言工具包(NLTK)等库来确定一个单元在哪里结束、另一个单元在哪里开始。
- **令牌:**这是最终生成的输出(名词)。它是实际的数据片段,例如单词、子词或图像块,最终会被映射为称为嵌入的数值向量。
不同 AI 领域中的令牌#
令牌的性质会因所处理数据的模态而显著不同,尤其是在文本领域和视觉领域之间。
NLP 中的文本令牌#
在自然语言处理(NLP)领域,令牌是大型语言模型(LLM)的输入。早期方法严格以完整单词为映射单位,而现代架构则采用字节对编码(BPE)等子词算法。这种方法通过将罕见单词拆分为有意义的音节,使模型能够处理这些单词,在词汇量与语义覆盖范围之间取得平衡。例如,单词 "unhappiness" 可能会被令牌化为 "un"、"happi" 和 "ness"。
计算机视觉中的视觉令牌#
随着视觉 Transformer(ViT)的出现,令牌化的概念已扩展到计算机视觉领域。传统卷积网络在滑动窗口中处理像素,而 Transformer 会将图像划分为固定大小的图像块网格(例如 16x16 像素)。每个图像块都会被展平,并作为一个独立的视觉令牌处理。这种方法使模型能够利用自注意力机制理解图像中相距较远部分之间的关系,类似于Google Research最初将 Transformer 应用于文本的方式。
实际应用#
在无数应用中,令牌充当了人类数据与机器智能之间的桥梁。
-
开放词汇目标检测:YOLO-World等先进模型采用多模态方法,使文本令牌与视觉特征进行交互。用户可以输入自定义文本提示(例如 "blue helmet"),模型会将其令牌化,并与图像中的对象进行匹配。这实现了零样本学习,使模型能够检测未经过明确训练的对象。
-
**生成式 AI:**在聊天机器人等文本生成系统中,AI 通过预测序列中下一个令牌的概率来运行。系统通过反复选择最有可能出现的后续令牌,构建连贯的句子和段落,为从自动化客户支持到虚拟助手的各种工具提供支持。
Python 示例:使用文本令牌进行检测#
以下代码片段演示了 ultralytics 包如何使用文本令牌来指导目标检测。虽然对于高速固定类别推理,我们推荐使用先进的 YOLO26,但 YOLO-World 架构独特地允许用户在运行时将类别定义为文本令牌。
from ultralytics import YOLO
# Load a pre-trained YOLO-World model capable of understanding text tokens
model = YOLO("yolov8s-world.pt")
# Define specific classes; these text strings are tokenized internally
# The model will look specifically for these "tokens" in the visual data
model.set_classes(["bus", "backpack"])
# Run prediction on an image using the defined tokens
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results showing only the tokenized classes
results[0].show()理解令牌是掌握生成式 AI和高级分析领域的基础。无论是让聊天机器人能够流畅交流,还是帮助视觉系统区分细微的对象类别,令牌始终是机器智能不可或缺的“货币”,并被PyTorch和TensorFlow等框架使用。









