List of topics
[Zoom 24-02-2025] Khai giảng lớp học NLP 05
[Zoom 26-02-2025] Biểu thức chính quy - Regular Expressions
[Zoom 03-03-2025] Chi tiết các thuật toán tách token
[Zoom 05-03-2025] Chuẩn hóa văn bản
[Zoom 10-03-2025] Ôn tập đại số tuyến tính
[Zoom 12-03-2025] Ôn tập học máy, học sâu và các khái niệm liên quan
[Zoom 24-03-2025] Ôn tập quá trình training
[Bổ trợ] Các thuật toán Training
[Zoom 26-03-2025] Vector Semantics và Embeddings
[Zoom 31-03-2025] SkipGram, Glove và FastText
[Zoom 02-04-2025] Mô hình ngôn ngữ
[Zoom 07-04-2025] RNN và LSTM
[Zoom 14-04-2025] Bài toán dịch máy
[Zoom 09-04-2025] Mô hình Transfomer (4 buổi)
[Zoom 28-04-2025] Mô hình Bert và ứng dụng
[Zoom 28-4-2025] Thực hành Bert và ứng dụng với bài toán NER và POS Tag
[Zoom 29-4-2025] Bài toán truy xuất thông tin - Information Retrieval
[Zoom 05-05-2025] Vector Database and RAG
[Zoom 20-05-2025] Transformer Nâng cao
Dự án cuối khóa - 2 tuần
GPT + Đào tạo phân tán

[Zoom 20-05-2025] Transformer Nâng cao

Transformer Nâng cao

1. Tối ưu trên văn bản dài

1.1. Cách 1 - ROPE

Đưa Rope vào Transformer:

Team nâng cấp mô hình Transformer thay vì sử dụng Embedding vị trí thường thì sử dụng Phép nhúng vị trí xoay (Rotary Position Embedding) giúp cải thiện hiệu năng phân loại từ 1-2%.

RoFormer thêm thông tin vị trí vào vector q k thay vì phải tạo một lớp chỉ positional Embedding.

RoFormer áp dụng việc xoay vector q k với một góc không đổi để tăng mối quan hệ vị trí tương đối.

Ví dụ ở vị trí trong câu từ m=1 đến m=2 và vị trí m=2 đến m=3, ở cùng một vị trí embedding ví dụ i = 0 vector q sẽ quay một góc giống nhau. Tương tự vector k cũng quay một góc giống nhau.

Notebook: https://colab.research.google.com/drive/1QBkP6ve4f2-KapKaWDeodkR8_2JEYWjw?usp=sharing.

Bài báo: https://arxiv.org/pdf/2104.09864v5.

Biểu diễn ROPE: https://colab.research.google.com/drive/1SMsORT8958HOs2c99bC9FYV4sfKrs0el?usp=sharing

1.3. Cách 3 - Flash Attention

Cơ chế

Lập trình

Team thực hiện Benchmark Multiheaded Attention thường của Transformer và FlashAttention để tối ưu truy cập memory của GPU.

Kết quả sau 1000 lần thực hiện thì FlashAttention nhanh hơn khoảng gấp rưỡi so với Attention thông thường.

BenchMark này được thực hiện trên GPU T4 Google Colab.

P/S: trong Pytorch hàm scaled_dot_product_attention đã sử dụng Attention.

Notebook và kết quả: https://colab.research.google.com/drive/1-HjN3McMS_boMyBZFAt1TP7NLoRUd346?usp=sharing

1.5. Mixture of Experts

4. Video

4.1. [Zoom 10-12-2024] NLP 03

1. Tối ưu trên văn bản dài
1.1. Cách 1 - ROPE
1.2. Cách 2 - Sparse Attention
1.3. Cách 3 - Flash Attention
1.4. Cách 4 - Multiquery Attention
1.5. Mixture of Experts
1.6. Deep Seek v3
2. Tối ưu tốc độ sinh
2.1. KV Cache
3. Nâng cấp chất lượng
3.1. Sigmoid Attention
4. Video
4.1. [Zoom 10-12-2024] NLP 03