Перейти к основному содержимому

Для чистой Markdown-версии этой страницы добавьте .md к этому URL. Полный индекс документации доступен по адресу https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая API reference и примеры SDK, доступно по адресу https://docs.nvidia.com/dynamo/llms-full.txt.

Токенизатор

Dynamo Frontend поддерживает несколько бэкендов токенизатора для моделей tokenizer.json, основанных на BPE. BPE — это базовый алгоритм токенизации, а не особенность конкретного бэкенда: и стандартный путь HuggingFace, и путь fastokens могут обслуживать такие модели. Выбор бэкенда определяет, какая реализация выполняет токенизацию до отправки запросов в inference engine.

Бэкенды токенизатора

Токенизаторы HuggingFace default

Бэкенд по умолчанию использует библиотеку HuggingFace tokenizers (Rust). Он поддерживает возможности файлов tokenizer.json (normalizers, pre-tokenizers, post-processors, decoders, added tokens с флагами special-token и byte-fallback).

Высокопроизводительный кодировщик fastokens

Бэкенд fastokens использует crate fastokens - специализированный кодировщик, оптимизированный под пропускную способность на поддерживаемых моделях tokenizer.json с BPE. Это hybrid бэкенд: кодирование выполняется с помощью fastokens, а декодирование при необходимости откатывается на HuggingFace, чтобы корректно работали пошаговая детокенизация, byte-fallback и обработка special-token.

Используйте этот бэкенд, когда токенизация становится измеримым узким местом, например в высококонкурентных нагрузках с преобладанием prefill.

Примечания по совместимости:

  • Работает со стандартными файлами BPE tokenizer.json (Qwen, LLaMA, GPT-family, Mistral, DeepSeek и т. д.).
  • Если fastokens не может загрузить конкретный файл tokenizer, frontend пишет предупреждение и прозрачно откатывается на HuggingFace; запросы никогда не теряются.
  • Не влияет на tokenizer в формате TikToken (.model / .tiktoken files), которые всегда используют TikToken backend.

Конфигурация

Задайте бэкенд через CLI-флаг или переменную окружения. CLI-флаг имеет приоритет.

CLI-флагПеременная окруженияДопустимые значенияЗначение по умолчанию
--tokenizerDYN_TOKENIZERdefault, fastokensdefault

Examples:

# CLI flag
python -m dynamo.frontend --tokenizer fastokens

# Environment variable
export DYN_TOKENIZER=fastokens
python -m dynamo.frontend

Поведение Dynamo Frontend

Когда задано DYN_TOKENIZER=fastokens:

  1. Frontend передает переменную окружения в Rust runtime.
  2. При сборке токенизатора для модели ModelDeploymentCard::tokenizer() пытается загрузить fastokens::Tokenizer из того же файла tokenizer.json.
  3. Если загрузка успешна, создается гибридный FastTokenizer, который кодирует с помощью fastokens, а декодирует с помощью HuggingFace.
  4. Если загрузка не удается (unsupported tokenizer features, отсутствует файл и т. д.), frontend пишет предупреждение и откатывается на стандартный HuggingFace backend; вмешательство оператора не требуется.