Token
学习 Token 如何作为 AI 中最基本的信息单元。探索它们在 NLP、计算机视觉和使用 YOLO26 进行开放词汇检测中的角色。
在现代人工智能的复杂架构中,token 是模型所处理的基本原子信息单元。在算法能够解读句子、分析软件脚本或识别图像中的对象之前,原始输入数据必须被分解为这些离散且标准化的元素。这种分割是数据预处理中的关键步骤,它将非结构化输入转换为神经网络能够高效计算的数值格式。虽然人类将语言视为连续的思想流,或将图像视为无缝的视觉场景,但计算模型需要这些细粒度的构建块来执行诸如模式识别和语义分析之类的操作。
Link to this sectionToken 与 Tokenization#
要理解机器学习的机制,区分数据单元和创建该单元所使用的过程至关重要。这种区分可以避免在设计数据流水线和准备Ultralytics Platform的训练材料时产生混淆。
- Tokenization: 这是将原始数据分割成片段的算法过程(动词)。对于文本,这可能涉及使用诸如 Natural Language Toolkit (NLTK) 之类的库来确定一个单元在哪里结束,另一个在哪里开始。
- Token: 这是最终的输出结果(名词)。它是实际的数据块——例如单词、子词或图像补丁——并最终被映射到称为嵌入(embedding)的数值向量。
Link to this section不同 AI 领域的 Tokens#
token 的性质会根据所处理数据的模态而有显著差异,特别是在文本领域和视觉领域之间。
Link to this sectionNLP 中的文本 Tokens#
在自然语言处理 (NLP) 领域,token 是大语言模型 (LLM) 的输入。早期方法严格映射到整个单词,但现代架构利用了诸如字节对编码 (BPE) 之类的子词算法。这种方法允许模型通过将罕见词分解为有意义的音节来处理它们,从而在词汇量大小和语义覆盖范围之间取得平衡。例如,“unhappiness”这个词可能会被标记化(tokenized)为“un”、“happi”和“ness”。
Link to this section计算机视觉中的视觉 Tokens#
The concept of tokenization has expanded into computer vision with the advent of the Vision Transformer (ViT). Unlike traditional convolutional networks that process pixels in sliding windows, Transformers divide an image into a grid of fixed-size patches (e.g., 16x16 pixels). Each patch is flattened and treated as a distinct visual token. This approach enables the model to use self-attention mechanisms to understand the relationship between distant parts of an image, similar to how Google Research originally applied transformers to text.
Link to this section实际应用#
在无数的应用中,token 是连接人类数据与机器智能的桥梁。
-
开放词汇对象检测: 像 YOLO-World 这样的高级模型使用了一种多模态方法,其中文本 token 与视觉特征相互作用。用户可以输入自定义文本提示(例如“blue helmet”),模型会对这些提示进行标记化处理,并将其与图像中的对象进行匹配。这实现了零样本学习(zero-shot learning),允许检测模型未经过明确训练的对象。
-
生成式 AI: 在像聊天机器人这样的文本生成系统中,AI 通过预测序列中下一个 token 的概率来运行。通过迭代选择最可能的后续 token,系统构建出连贯的句子和段落,为从自动化客户支持到虚拟助手的各种工具提供动力。
Link to this sectionPython 示例:使用文本 Tokens 进行检测#
以下代码片段展示了 ultralytics 包如何使用文本 token 来指导对象检测。虽然推荐使用最先进的 YOLO26 进行高速、固定类别的推理,但 YOLO-World 架构独特之处在于允许用户在运行时将类定义为文本 token。
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()理解 token 对于驾驭生成式 AI 和高级分析领域至关重要。无论是使聊天机器人能够流利对话,还是帮助视觉系统区分细微的对象类别,token 始终是PyTorch 和 TensorFlow 等框架所使用的机器智能的基本货币。






