Запуск токенизатора huggingface Bert на GPU

Я имею дело с огромным набором текстовых данных для классификации контента. Я реализовал модель distilbert и токенизатор distilberttokenizer.from_pretrained (). Этот токенизатор занимает невероятно много времени для токенизации моих текстовых данных, примерно 7 минут для всего 14k записей, и это потому, что он работает на моем процессоре.

Есть ли способ заставить токенизатор работать на моем графическом процессоре.


person tehem    schedule 08.02.2021    source источник
comment
Похоже, это дубликат этот вопрос.   -  person justanyphil    schedule 08.02.2021


Ответы (1)


Токенизация - это манипуляции со строками. По сути, это цикл for по строке с кучей условий if-else и поисков по словарю. Нет никакого способа ускорить это с помощью графического процессора. По сути, единственное, что может делать графический процессор, - это тензорное умножение и сложение. Только задачи, которые можно сформулировать с помощью тензорных операций, можно ускорить с помощью графического процессора.

Токенизаторы по умолчанию в Huggingface Transformers реализованы на Python. В Rust реализована более быстрая версия. Вы можете получить его либо из автономного пакета Huggingface Tokenziers, либо в более новых версиях Transformers, они должны быть доступны в разделе DistilBertTokenizerFast.

person Jindřich    schedule 09.02.2021
comment
Спасибо. Я реализовал быстрый токенизатор, и производительность резко возросла. - person tehem; 09.02.2021