BERT encoding is very slow - Help

13 views (last 30 days)
Zzz
Zzz on 7 May 2021
Answered: Ralf Elsas on 26 Feb 2023
I've been following this github: https://github.com/matlab-deep-learning/transformer-models which is the MATLAB implementation of BERT.
While trying to encode my text using the tokenizer, following this script, I realize that BERT encoding takes very long to work on my dataset.
My dataset contains 1000+ text entries, each of which is ~1000 in length. I noticed that the example csv used in the github contains very short description text. My question is: how can we perform text preprocessing using BERT encoding? And how we can speed up the encoding process?
Thanks!

Accepted Answer

Divya Gaddipati
Divya Gaddipati on 13 May 2021
Here are a few things that you can try to speed up the tokenizer, which were suggested by the GitHub repo author (you can also find this information here):
1. Remove redundant white-space tokenization in BasicTokenizer
2. Convert basic tokenized tokens to UTF32 in one call in FullTokenizer, and modify WordPieceTokenizer to accept UTF32 as input.
3. Only call sub.string() once in WordPieceTokenizer.
4. Remove input validation in WhitespaceTokenizer which may be called many times.
If the issue still exists, you could also create a new issue on the GitHub page itself.

More Answers (1)

Ralf Elsas
Ralf Elsas on 26 Feb 2023
Hello! For everybody dealing with this issue - it can be easily solved: fastBERTtokens

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!