- vừa được xem lúc

Giải thích toán học, ưu điểm/nhược điểm cho từng kỹ thuật : Mixture of Experts, Grouped Query Attention, Flash Attention

0 0 3

Người đăng: Phan Ngoc

Theo Viblo Asia

1. Mixture of Experts (MoE)

Toán học:

  • Đầu vào xx sẽ được đưa qua một tập các chuyên gia (experts) E1,E2,...,EnE_1, E_2, ..., E_n

  • Một gating function G(x)G(x) chọn ra top-k chuyên gia hoạt động (thường dùng softmax hoặc top-k hard routing).

  • Đầu ra:

    y=i=1kGi(x)Ei(x)y = \sum_{i=1}^{k} G_i(x) \cdot E_i(x)

Ưu điểm:

  • Giảm chi phí tính toán vì chỉ một vài expert được kích hoạt.
  • Mở rộng mô hình dễ dàng mà không tăng chi phí inference tuyến tính.

Nhược điểm:

  • Gating function khó huấn luyện (không trơn nếu hard routing).
  • Cần kỹ thuật phân bố tải (load balancing).

Ví dụ:

  • GShard, Switch Transformer.

Usecase:

  • Mô hình ngôn ngữ lớn (LLMs) như Google’s Switch Transformer, Mistral Mixture-of-Experts.

2. Grouped Query Attention (GQA)

Toán học:

Thông thường:

Attention(Q,K,V)=softmax(QKTd)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right) V

Trong GQA:

  • Các nhóm Query chia sẻ Key/Value:

    Qi=Qgroup(i)duˋng chung K,VQ_i = Q_{group(i)} \quad \text{dùng chung } K, V

Ưu điểm:

  • Tiết kiệm bộ nhớ.
  • Nhanh hơn nhiều trong inference.

Nhược điểm:

  • Mất đi một chút biểu diễn chi tiết vì chia sẻ Key/Value.

Ví dụ:

  • Trong mô hình như LLaMA v2.

Usecase:

  • Triển khai attention hiệu quả hơn trên GPU cho LLMs lớn.

3. Flash Attention

Toán học:

  • Sử dụng sắp xếp lại thuật toán Attention để tránh sinh ra ma trận attention full-size.

  • Tính attention theo block và sử dụng:

    softmax(QKT/d)V\text{softmax}(QK^T / \sqrt{d}) \cdot V

    nhưng được thực hiện theo từng block trong GPU SRAM để tiết kiệm RAM và tăng throughput.

Ưu điểm:

  • Giảm O(n²) memory xuống gần O(n).
  • Rất nhanh và tiết kiệm RAM.

Nhược điểm:

  • Cần phần cứng phù hợp (GPU).
  • Code phức tạp hơn.

Ví dụ:

  • FlashAttention v1, v2 trong PyTorch, Triton.

Usecase:

  • Training và inference LLMs cực lớn như GPT-4, Claude, LLaMA.

4. Rotary Positional Embedding (RoPE)

Toán học:

  • Dùng embedding quay tuần tự:

    RoPE(x)=xR(θ)với R(θ) laˋ ma trận xoay\text{RoPE}(x) = x \cdot R(\theta) \quad \text{với } R(\theta) \text{ là ma trận xoay}

  • Cụ thể, mỗi cặp chiều của vector được quay theo góc:

    [x1x2]=[cos(θ)sin(θ)sin(θ)cos(θ)][x1x2]\begin{bmatrix} x_1' \\ x_2' \end{bmatrix} = \begin{bmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}

Ưu điểm:

  • Giữ được tính tương đối giữa token.
  • Dễ mở rộng về chiều dài sequence.

Nhược điểm:

  • Không có trực giác dễ hiểu như sinusoidal position embedding.

Ví dụ:

  • LLaMA, GPTNeoX.

Usecase:

  • Các transformer decoder khi cần positional embedding tốt hơn sinusoidal.

5. YaRN (Yet another RoPE eNhancement)

Toán học:

  • Kéo giãn hoặc nén tần số trong Rotary Positional Embedding để hỗ trợ long-context extrapolation:

    θi=1λiθi=1λiα,α(0,1)\theta_i = \frac{1}{\lambda^i} \rightarrow \theta_i' = \frac{1}{\lambda^{i \cdot \alpha}}, \alpha \in (0,1)

Ưu điểm:

  • Giữ được khả năng học tốt trong vùng dài hơn mà mô hình chưa từng thấy.

Nhược điểm:

  • Không phải tất cả mô hình đều tương thích sẵn.
  • Cần điều chỉnh hyperparameters.

Ví dụ:

  • Mistral + YaRN để có thể xử lý 128K tokens.

Usecase:

  • Long-context reasoning như tài liệu dài, phân tích pháp lý, lịch sử cuộc chat.

6. Byte Pair Encoding (BPE)

Toán học:

  • Khởi đầu: tách mỗi từ thành ký tự.

  • Lặp lại:

    • Tìm cặp ký tự phổ biến nhất (A, B).
    • Gộp A+B thành một token mới.
  • Dừng khi đủ số token cần thiết.

Ưu điểm:

  • Linh hoạt hơn từ đơn.
  • Giảm từ vựng OOV (out of vocab).

Nhược điểm:

  • Cắt token không phù hợp với ngữ nghĩa.
  • Tạo token dài bất hợp lý với ngôn ngữ không Latin.

Ví dụ:

  • Từ "lower" → ['l', 'o', 'w', 'e', 'r'] → ['lo', 'w', 'er'] sau BPE.

Usecase:

  • Tất cả các LLM hiện nay (GPT, LLaMA, T5) dùng BPE hoặc biến thể như SentencePiece, Unigram LM.

Tổng kết: So sánh nhanh

Kỹ thuật Ưu điểm chính Nhược điểm chính Usecase tiêu biểu
Mixture of Experts (MoE) Mô hình lớn nhưng hiệu quả Gating khó, không đồng đều GPT-MoE, Switch Transformer
Grouped Query Attention Giảm tính toán & RAM Mất biểu diễn chi tiết LLaMA v2
Flash Attention Nhanh, tiết kiệm GPU Phụ thuộc phần cứng GPT-4, Claude, LLaMA
Rotary Pos Embedding Giữ quan hệ tương đối, mở rộng dài Trực giác thấp LLaMA, GPTNeoX
YaRN Hỗ trợ input dài hơn Cần tinh chỉnh Long-context reasoning
Byte Pair Encoding Giảm OOV, từ điển nhỏ Token hóa ngữ nghĩa không đều Tất cả mô hình LLM

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hành trình AI của một sinh viên tồi

Mình ngồi gõ những dòng này vào lúc 2h sáng (chính xác là 2h 2 phút), quả là một đêm khó ngủ. Có lẽ vì lúc chiều đã uống cốc nâu đá mà giờ mắt mình tỉnh như sáo, cũng có thể là vì những trăn trở về lý thuyết chồng chất ánh xạ mình đọc ban sáng khiến không tài nào chợp mắt được hoặc cũng có thể do mì

0 0 157

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 235

- vừa được xem lúc

Tìm hiểu về YOLO trong bài toán real-time object detection

1.Yolo là gì. . Họ các mô hình RCNN ( Region-Based Convolutional Neural Networks) để giải quyết các bài toán về định vị và nhận diện vật thể.

0 0 302

- vừa được xem lúc

Encoding categorical features in Machine learning

Khi tiếp cận với một bài toán machine learning, khả năng cao là chúng ta sẽ phải đối mặt với dữ liệu dạng phân loại (categorical data). Khác với các dữ liệu dạng số, máy tính sẽ không thể hiểu và làm việc trực tiếp với categorical variable.

0 0 268

- vừa được xem lúc

TF Lite with Android Mobile

Như các bạn đã biết việc đưa ứng dụng đến với người sử dụng thực tế là một thành công lớn trong Machine Learning.Việc làm AI nó không chỉ dừng lại ở mức nghiên cứu, tìm ra giải pháp, chứng minh một giải pháp mới,... mà quan trọng là đưa được những nghiên cứu đó vào ứng dụng thực tế, được sử dụng để

0 0 81

- vừa được xem lúc

Xây dựng hệ thống Real-time Multi-person Tracking với YOLOv3 và DeepSORT

Trong bài này chúng ta sẽ xây dựng một hệ thống sử dụng YOLOv3 kết hợp với DeepSORT để tracking được các đối tượng trên camera, YOLO là một thuật toán deep learning ra đời vào tháng 5 năm 2016 và nó nhanh chóng trở nên phổ biến vì nó quá nhanh so với thuật toán deep learning trước đó, sử dụng YOLO t

0 0 327