Is there GPU support for the MatLab GitHub BERT Model?

6 views (last 30 days)
MatLab does not seem to natively support models like BERT, but there is a Gihub repository where pre-trained BERT models can be loaded.
However, to me this seems a little "workaorundy" and totally side-stepped from the standard architecture and workflow that the deep learning toolbox brings to MatLab. As painful as this is (for now I can live with this), my main problem the following:
I was not able to figure out how to use that code --for instance, using the pretrained BERT or FinBert-- with my GPU (GPU works, MatLab finds it, etc...). Inferencing on a relatively small dataset takes ages (>25 mins) compared to ~3 mins with GPU using a similar model and identical dataset in Tensorflow.
Help would be much appreciated. Thanks.
Bijan Sahamie
Bijan Sahamie on 25 Feb 2022
Thank you for your reply. The matter seems to be resolved from my perspective. What confused me is that when using the Finbert-script for sentiment analysis (SentimentAnalysisWithFinBERT.m), that the inferencing that is used there, namely
[sentiment,scores] = finbert.sentimentModel(X,mdl.Parameters)
goes to the CPU (for whatever reason). From that I assumed that there might be no GPU support (since with models of this size you would use GPU by default unless you have a very good reason not to). I tried the fine tuning scripts and the function calls seem to be done differently there, as they indeed utilize GPU (checked with nvtop and htop where loads go).

Sign in to comment.

Accepted Answer

David Willingham
David Willingham on 24 Feb 2022
Hi Bijan,
Did walter's comment help speed up your training? What version of MATLAB are you using?
On your comments regarding the Transformer models implementation. We currently don't have the inbuilt layers to support transformers, however the flexibility of the framework allows for users to create their own model functions when inbuilt layers don't exist. For more information on this, see this page Train Deep Learning in MATLAB. As you've pointed out though, this implementation does require more work to achieve the same benefits as compared to have full layer support. For reference we are actively looking at supporting more layers for Transformers in a future release.
David Willingham
David Willingham on 27 Feb 2022
Hi Bijan,
Thanks for spending the time to give your comprehensive feedback. Whilst I can't offer an immediate solution to all of the areas you have listed, what I can state is our development team is actively working on: adding more layer support, improving training performance and enabling our importers to import more networks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!