Откройте для себя возможности токенизации в NLP и ML! Узнайте, как разбиение текста на токены улучшает задачи ИИ, такие как анализ тональности и генерация текста.
Токенизация — это алгоритмический процесс разбиения потока необработанных данных, таких как текст, изображения или аудио, на более мелкие, удобные для обработки единицы, называемые токенами. Это преобразование играет важную роль в процессе предварительной обработки данных, преобразуя неструктурированные входные данные в числовой формат, который системы искусственного интеллекта (ИИ) могут интерпретировать. Компьютеры не могут по своей природе понимать человеческий язык или визуальные сцены; для выполнения вычислений им требуются числовые представления. Сегментируя данные на токены, инженеры позволяют нейронным сетям сопоставлять эти единицы с вложениями— векторными представлениями, которые отражают семантическое значение. Без этого фундаментального шага модели машинного обучения не смогли бы идентифицировать паттерны, изучать контекст или обрабатывать огромные наборы данных, необходимые для современного обучения.
Хотя эти термины часто употребляются вместе в дискуссиях о глубоком обучении, для понимания рабочего процесса полезно различать метод и результат.
Стратегия токенизации значительно варьируется в зависимости от модальности данных, влияя на то, как базовая модель воспринимает мир.
В обработке естественного языка (NLP) цель состоит в segment с сохранением смысла. Ранние методы полагались на простые техники, такие как разделение слов пробелами или удаление стоп-слов. Однако современные большие языковые модели (LLM) используют более сложные алгоритмы подслов, такие как кодирование парами байтов (BPE) или WordPiece. Эти алгоритмы итеративно объединяют наиболее частые пары символов, позволяя модели обрабатывать редкие слова, разбивая их на знакомые подкомпоненты (например, «smartphones» становится «smart» + «phones»). Такой подход обеспечивает баланс между размером словарного запаса и способностью представлять сложный язык.
Традиционно модели компьютерного зрения (CV), такие как CNN, обрабатывали пиксели с помощью скользящих окон. Внедрение Vision Transformer (ViT) изменило эту парадигму за счет применения токенизации к изображениям. Изображение разрезается на фрагменты фиксированного размера (например, 16x16 пикселей), которые затем выравниваются и линейно проецируются. Эти «визуальные токены» позволяют модели использовать механизмы самовнимания для изучения глобальных взаимосвязей по всему изображению, аналогично тому, как Transformer обрабатывает предложение.
Токенизация — это незаметный двигатель, стоящий за многими приложениями искусственного интеллекта, используемыми сегодня в производственных средах.
Следующий пример демонстрирует, как ultralytics Пакет использует токенизацию текста неявно
в рамках рабочего процесса YOLO. Определяя пользовательские классы, модель токенизирует эти строки для динамического поиска конкретных
объектов.
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, эффективная обработка данных гарантирует, что модели могут выполнять вывод в реальном времени на различном оборудовании, от мощных облачных графических процессоров до периферийных устройств. Команды, управляющие этими сложными рабочими процессами с данными, часто полагаются на Ultralytics для оптимизации аннотирования наборов данных, обучения моделей и развертывания.