Tokenizers v1: кодирование, декодирование и масштабирование, измерено
huggingface ·
Компания Hugging Face выпустила кандидат в релизы (release candidate) для версии tokenizers v1, целью которого является устранение узких мест производительности в рабочих процессах машинного обучения по мере масштабирования моделей. Новая версия обеспечивает скорость кодирования в три-тридцать раз выше, чем у версии v0.23, за счет замены разделения на основе регулярных выражений на операции с битовыми потоками, использующие SIMD, через библиотеку Bitcannon. Ключевые оптимизации включают кэш слов на уровне потока, который запоминает повторяющиеся предварительные токены, и переписанный цикл слияния, исключающий выделения памяти с использованием буферов кратковременного хранения. Эти изменения гарантируют, что графические процессоры остаются активными без ожидания завершения токенизации на центральном процессоре, что значительно повышает пропускную способность при работе с большими наборами данных и одновременными запросами. Обновление сохраняет полную совместимость API и результатов вывода с предыдущими версиями, а также поддерживает несколько семейств токенизаторов, таких как BPE, WordPiece и Unigram. Тестирование, проведенное на аппаратном обеспечении Apple M4 Max, продемонстрировало линейное масштабирование при использовании восьми рабочих потоков, подтвердив эффективность нативного параллелизма. В будущем планируется расширить поддержку семейств моделей и изучить возможности ускорения кодирования с помощью графических процессоров в последующих выпусках.
huggingface