Представлен Gigatoken — новый BPE-токенизатор с открытым исходным кодом, написанный на языке Rust. Инструмент демонстрирует рекордную скорость обработки текста до 24,53 ГБ/с, что значительно превосходит существующие аналоги, включая решения от HuggingFace и tiktoken. Высокая производительность достигается за счет оптимизированного претокенизатора и системы кэширования, что критически важно для ускорения работы LLM-конвейеров.
Основное преимущество Gigatoken заключается в использовании техники SWAR (SIMD Within A Register) для предварительной обработки данных. В отличие от стандартных подходов, которые фокусируются исключительно на ускорении цикла слияния BPE, разработчики Gigatoken оптимизировали этап подготовки текста, который часто становится «узким местом» при работе с большими объемами данных. Это позволяет эффективно использовать многоядерные серверные процессоры для подготовки токенов в реальном времени.
Инструмент распространяется по лицензии MIT и ориентирован на высоконагруженные системы, где задержки при токенизации ограничивают общую пропускную способность инференса. Благодаря своей архитектуре, Gigatoken может быть интегрирован в существующие пайплайны обработки данных, обеспечивая кратное ускорение подготовки входных последовательностей для нейросетей.
Ключевые факты
- Скорость обработки достигает 24,53 ГБ/с на 144-ядерном процессоре AMD EPYC 9565.
- Производительность в 989 раз выше, чем у стандартных токенизаторов HuggingFace.
- Превышение скорости работы tiktoken составляет 681 раз.
- Оптимизация достигнута за счет написанного вручную SWAR-претокенизатора и системы кэширования.
- Проект распространяется под лицензией MIT.
