Token
Узнай, как токены служат фундаментальными единицами информации в ИИ. Изучи их роль в NLP, компьютерном зрении и обнаружении объектов с открытым словарём с помощью YOLO26.
В сложной архитектуре современного искусственного интеллекта токен представляет собой фундаментальную, атомарную единицу информации, которую обрабатывает модель. Прежде чем алгоритм сможет интерпретировать предложение, проанализировать программный скрипт или распознать объекты на изображении, исходные данные необходимо разбить на эти отдельные стандартизированные элементы. Такая сегментация — важнейший этап предварительной обработки данных, преобразующий неструктурированные входные данные в числовой формат, который нейронные сети могут эффективно обрабатывать. Люди воспринимают язык как непрерывный поток мыслей, а изображения — как цельные визуальные сцены, тогда как вычислительным моделям необходимы такие мельчайшие строительные блоки для выполнения операций вроде распознавания образов и семантического анализа.
Токен и токенизация#
Чтобы понять принципы работы машинного обучения, важно различать единицу данных и процесс, с помощью которого она создаётся. Это различие помогает избежать путаницы при разработке конвейеров данных и подготовке обучающих материалов на платформе Ultralytics.
- Токенизация: Это алгоритмический процесс (глагол) разделения исходных данных на части. Для текста он может включать использование библиотек, таких как инструментарий обработки естественного языка (NLTK), чтобы определить, где заканчивается одна единица и начинается другая.
- Токен: Это результат (существительное). Фактический фрагмент данных — например, слово, часть слова или фрагмент изображения, — который в конечном итоге преобразуется в числовой вектор, известный как эмбеддинг.
Токены в разных областях ИИ#
Природа токена существенно меняется в зависимости от модальности обрабатываемых данных, особенно при сравнении текстовой и визуальной областей.
Текстовые токены в NLP#
В области обработки естественного языка (NLP) токены служат входными данными для больших языковых моделей (LLMs). Ранние подходы работали со словами целиком, но современные архитектуры используют алгоритмы разбиения на части слов, такие как кодирование пар байтов (BPE). Этот метод позволяет моделям обрабатывать редкие слова, разбивая их на значимые части, и обеспечивает баланс между размером словаря и семантическим охватом. Например, слово "unhappiness" может быть разбито на токены "un", "happi" и "ness".
Визуальные токены в компьютерном зрении#
Концепция токенизации распространилась на компьютерное зрение с появлением Vision Transformer (ViT). В отличие от традиционных свёрточных сетей, обрабатывающих пиксели в скользящих окнах, Transformer разделяет изображение на сетку фрагментов фиксированного размера (например, 16x16 пикселей). Каждый фрагмент преобразуется в плоский вектор и рассматривается как отдельный визуальный токен. Такой подход позволяет модели использовать механизмы самовнимания для понимания взаимосвязей между удалёнными частями изображения — подобно тому, как Google Research изначально применяла Transformer к тексту.
Практические применения#
Токены служат связующим звеном между данными, созданными людьми, и машинным интеллектом во множестве приложений.
-
Детектирование объектов с открытым словарём: продвинутые модели, такие как YOLO-World, используют мультимодальный подход, при котором текстовые токены взаимодействуют с визуальными признаками. Пользователь может ввести произвольные текстовые подсказки (например, "blue helmet"), после чего модель токенизирует их и сопоставляет с объектами на изображении. Это обеспечивает обучение без примеров, позволяя обнаруживать объекты, на которых модель явно не обучалась.
-
Генеративный ИИ: в системах генерации текста, таких как чат-боты, ИИ предсказывает вероятность появления следующего токена в последовательности. Итеративно выбирая наиболее вероятный следующий токен, система формирует связные предложения и абзацы, обеспечивая работу инструментов — от автоматизированной поддержки клиентов до виртуальных помощников.
Пример на 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()Понимание токенов необходимо для работы с экосистемой генеративного ИИ и продвинутой аналитикой. Будь то обеспечение возможности чат-боту вести беглый диалог или помощь системе компьютерного зрения в различении близких классов объектов, токены остаются основной единицей машинного интеллекта, используемой такими фреймворками, как PyTorch и TensorFlow.









