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

[Zoom 19-2-2025] Transformer nâng cao

Các cách đào tạo mô hình Transformer trên văn bản dài

  • Cách 1: Positional Encoding tốt hơn. Thay vì dùng encoding vị trí như paper gốc Transformer, 2 cái tên có thể thay thế là ALiBi và ROPE. Một cách encode vị trí có thể scale theo context của câu.

  • Cách 2: Bạn không cần phải tính toán attention scores giữa tất cả các tokens. Một số tokens quan trọng hơn các tokens khác, vì vậy có thể sử dụng Sparse Attention. Điều này sẽ tăng tốc cả quá trình training và inference.

  • Cách 3: Flash Attention triển khai hiệu quả attention layer cho GPU. Nó sử dụng tiling và tránh việc tạo ra các ma trận trung gian lớn (n, n) không phù hợp với GPU SRAM. Điều này sẽ tăng tốc cả quá trình training và inference.

  • Multi-Query attention thay vì Multi-Head attention. Bạn chia sẻ weights giữa tất cả các heads khi nhân tuyến tính K và V. Nó sẽ tăng tốc đáng kể quá trình inference.

  • Conditional computation tránh việc sử dụng tất cả các model parameters lên tất cả các tokens từ input sequence. CoLT5 chỉ áp dụng các tính toán nặng nề lên những tokens quan trọng nhất và xử lý phần còn lại của các tokens với một phiên bản nhẹ hơn của các layers. Điều này sẽ tăng tốc cả quá trình training và inference.

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

https://github.com/bangoc123/rope-visualization

1.2. Slide - ROPE

1.4. 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.6. Mixture of Experts

4. Video

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

4.2. [Zoom 19-02-2025] NLP 04

1. Tối ưu trên văn bản dài
1.1. Cách 1 - ROPE
1.2. Slide - ROPE
1.3. Cách 2 - Sparse Attention
1.4. Cách 3 - Flash Attention
1.5. Cách 4 - Multiquery Attention
1.6. Mixture of Experts
1.7. 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
4.2. [Zoom 19-02-2025] NLP 04