Encoding text in numbers is a very important part of NLP as the better this can be done, the better are the possible results!

Word embedding works but they don't have the full context of the sentence.

This is where BERT comes in

But what is BERT?

1/9🧵
When we do word embedding, both sentences
• They are running a test
• They are running a company

Will have very similar embeddings but the meaning of both sentences are very different. Without this context, the model using this encoding will be blind to the context

2/9🧵
This is where Bidirectional Encoder Representations from Transformers (BERT) comes in play!

It is a Transformer-based network created in 2018 and
takes into account the context of the word's occurrence. For the previous example, it gives very different embeddings.

3/9🧵 Image
Understanding context is key for search engines and that's why Google's search engine is powered by BERT models in multiple languages!

blog.google/products/searc…

4/9🧵
BERT models are usually measured against some common benchmarks tasks like
• GLUE
• SQuAD
• SWAG

These tasks involve:
• Q&A
• Is a sentence grammatically correct?
• is sentence A a follow up of B?
• Is sentence A similar to B?
• Sentiment Analysis
• ...

5/9🧵
BERT models are usually very big but there are versions available to run on-device or on the browser!

A very nice use case is on the Recorder App.
It will create a smart scroll for the transcription of the recorded audio!

ai.googleblog.com/2020/11/naviga…

6/9🧵
Another nice example is Question Answering.

This sample can help you get started on a mobile phone with TFLite:

tensorflow.org/lite/examples/…

7/9🧵
Or if you want to use it on the Browser with TF.js

blog.tensorflow.org/2020/03/explor…

8/9🧵
You can find multiple BERT (and BERT-like) models on #TFHub in this collection:

tfhub.dev/google/collect…

Do you want to know more about BERT models?
leave your questions on comments

9/9🧵

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Luiz GUStavo

Luiz GUStavo Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @gusthema

2 Apr
One very interesting task on the NLP fields is text generation.

There are very advanced techniques and a lot of research on it and even business based solely on it!

But how does it work?

[7.47min]
[I guarantee it's a much better read then doom scrolling!!!]

1/11🧵
Let's think: what a model would have to do to generate text?

The rationale is, as humans we form sentences by trying to create a sequence of words that makes sense.

The less random this sequence looks like, the better the output text is and closer to human like.

2/11🧵
Here is where ML can help.

A model should learn how to combine the words the best way possible.
The simplest way to teach this is: given a sentence, hide the last word and let the model try to guess it.

The loss function measures how good the model's guess is.

3/11🧵
Read 11 tweets
2 Apr
One cool use of NLP is for NER (Named-entity recognition)

This enables you to find person names, organizations, locations, quantities, monetary values, percentages, etc. in a piece of text.

If you only want to use it on your data this API cloud.google.com/natural-langua… can help

1/4🧵
Sometimes you need to create your own model for your specific data corpus (eg: legal, science, medical texts)

To create your own model, AutoML Natural Language can help you:

2/4🧵
If you want to build everything from scratch, then you'll need:
• a language embedding (like BERT, ELMO, USE) and #TFHub have all you need
• a dataset and this github.com/juand-r/entity… can help you find one

3/4🧵
Read 4 tweets
27 Mar
If you are looking for something to learn during the weekend,

How about on-device Machine Learning?

You'll only need some understanding of ML and some of Mobile development.

Let me give you all the pointers in FAQ style:

[reading: 5.84 min]

1/12🧵
"Which tools will I need to start?"



2/12🧵
"Ok, how can a ML model run on a phone?"



3/12🧵
Read 13 tweets
25 Mar
To make Apps with Magical User Experiences, you need to get all the performance possible from the hardware.

From the on-device ML perspective, you can achieve that using the TFLite Delegates.

They enable you to access the power of HW acceleration.

1/6🧵
Your phone's CPU is usually very fast but as a multi-purpose processor it's not optimized for the heavy math that ML needs

Like on their big brothers (servers 🤓) phones have also more specialized chips more suitable for ML, the most popular being the GPUs

2/6🧵
Another popular accelerator is the Qualcomm Hexagon DSP that has shown 75% reduction in power consumption.

On the Apple side, you can use the Core ML delegate to access the Neural Engine processor on newer i[Phones|Pads] and that can give huge boosts in performance!

3/6🧵
Read 6 tweets
24 Mar
When we want to deploy a ML models on-device you may need to optimize them.

A model with bigger accuracy might also be bigger in size and also use more memory and slower

Do you need real time inference?

Let's take a look on how to optimize your model

[3.14 minutes]

1/6🧵
TFLite have the model optimization toolkit: tensorflow.org/model_optimiza…
To help you with this very important task.

Among the techniques are: Quantization and Pruning

2/6🧵
Quantization works by reducing the precision of the numbers used to represent a model's parameters, which by default are float32.

This results in a smaller model and faster computation.

More info here: blog.tensorflow.org/2020/04/quanti…

3/6🧵
Read 6 tweets
23 Mar
When you have your TensorFlow Model and want to use it on a mobile device, you'll need to convert it to the TFLite format.

This process can be done in two ways:
- Using the Python API
- Using a command line tool

Let's look into some more details….

1/6🧵
Why do we need to convert?

The TFLite is an optimized format (Flatbuffer) for faster loading
To keep the framework lite and fast, all the Operations are optimized for mobile execution but not all TF operations are available

The available ops: tensorflow.org/lite/guide/ops…

2/6🧵
How to convert the model?

The Python API to convert a model is straightforward and it's the recommended method of conversion

You can, during the conversion, apply some optimizations, like post training quantization to reduce your model size and latency.

3/6🧵
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!