Welcome to Data Science: Transformers for Natural Language Processing.
Ever since Transformers arrived on the scene, deep learning hasn't been the same.
- Machine learning is able to generate text essentially indistinguishable from that created by humans
- We've reached new state-of-the-art performance in many NLP tasks, such as machine translation, question-answering, entailment, named entity recognition, and more
- We've created multi-modal (text and image) models that can generate amazing art using only a text prompt
- We've solved a longstanding problem in molecular biology known as "protein structure prediction"
In this course, you will learn very practical skills for applying transformers, and if you want, detailed theory behind how transformers and attention work.
This is different from most other resources, which only cover the former.
The course is split into 3 major parts:
- Using Transformers
- Fine-Tuning Transformers
- Transformers In-Depth
PART 1: Using Transformers
In this section, you will learn how to use transformers which were trained for you. This costs millions of dollars to do, so it's not something you want to try by yourself!
We'll see how these prebuilt models can already be used for a wide array of tasks, including:
- text classification (e.g. spam detection, sentiment analysis, document categorization)
- named entity recognition
- text summarization
- machine translation
- generating (believable) text
- masked language modeling (article spinning)
- zero-shot classification
This is already very practical.
If you need to do sentiment analysis, document categorization, entity recognition, translation, summarization, etc. on documents at your workplace or for your clients - you already have the most powerful state-of-the-art models at your fingertips with very few lines of code.
One of the most amazing applications is "zero-shot classification", where you will observe that a pretrained model can categorize your documents, even without any training at all.
PART 2: Fine-Tuning Transformers
In this section, you will learn how to improve the performance of transformers on your own custom datasets. By using "transfer learning", you can leverage the millions of dollars of training that have already gone into making transformers work very well.
You'll see that you can fine-tune a transformer with relatively little work (and little cost).
We'll cover how to fine-tune transformers for the most practical tasks in the real-world, like text classification (sentiment analysis, spam detection), entity recognition, and machine translation.
PART 3: Transformers In-Depth
In this section, you will learn how transformers really work. The previous sections are nice, but a little too nice. Libraries are OK for people who just want to get the job done, but they don't work if you want to do anything new or interesting.
Let's be clear: this is very practical.
How practical, you might ask?
Well, this is where the big bucks are.
Those who have a deep understanding of these models and can do things no one has ever done before are in a position to command higher salaries and prestigious titles. Machine learning is a competitive field, and a deep understanding of how things work can be the edge you need to come out on top.
We'll look at the inner workings of encoders, decoders, encoder-decoders, BERT, GPT, GPT-2, GPT-3, GPT-3.5, ChatGPT, and GPT-4 (for the latter, we are limited to what OpenAI has revealed).
We'll also look at how to implement transformers from scratch.
As the great Richard Feynman once said, "what I cannot create, I do not understand".
- Decent Python coding skills
- Deep learning with CNNs and RNNs useful but not required
- Deep learning with Seq2Seq models useful but not required
- For the in-depth section: understanding the theory behind CNNs, RNNs, and seq2seq is very useful
Thank you for reading and I hope to see you soon!