Transformer là gì?
Transformer là kiến trúc nền tảng của ChatGPT và mọi LLM hiện đại. Tìm hiểu cách attention mechanism thay thế hoàn toàn RNN để xử lý ngôn ngữ song song với tốc độ chưa từng có.
Định nghĩa
Transformer là kiến trúc mạng neural được giới thiệu trong bài báo "Attention Is All You Need" (Vaswani et al., 2017) của Google, sử dụng cơ chế Self-Attention để xử lý dữ liệu tuần tự mà không cần đệ quy (recurrence) hay convolution. Đây là nền tảng của mọi mô hình ngôn ngữ lớn (LLM) hiện đại từ BERT đến GPT-4, cho phép huấn luyện song song trên phần cứng tính toán hiệu năng cao và nắm bắt phụ thuộc xa (long-range dependencies) trong văn bản hiệu quả hơn bất kỳ kiến trúc RNN/LSTM nào trước đó.
Giải thích chi tiết
Vấn đề của kiến trúc RNN truyền thống
Trước năm 2017, mô hình xử lý ngôn ngữ tự nhiên (NLP) chủ yếu dựa vào RNN và LSTM. Những kiến trúc này xử lý dữ liệu theo trình tự (sequential processing): để hiểu từ thứ 100, mô hình phải đọc qua 99 từ trước đó. Điều này tạo ra ba hạn chế nghiêm trọng:
- Khó song song hóa: Không thể tận dụng đồng thời nhiều GPU/TPU để huấn luyện nhanh hơn
- Vanishing gradient: Khi câu văn dài (ví dụ: đoạn văn pháp lý tiếng Việt 500 từ), gradient biến mất trước khi lan truyền đến đầu câu, khiến mô hình "quên" ngữ cảnh xa
- Thời gian inference chậm: Dịch một câu dài phải chờ từng bước tính toán nối tiếp
Transformer giải quyết tất cả bằng cách bỏ hoàn toàn recurrence, thay vào đó sử dụng Self-Attention để "nhìn" toàn bộ câu cùng lúc.
Cơ chế Self-Attention: Trái tim của Transformer
Self-Attention cho phép mô hình tính toán mức độ liên quan giữa mọi cặp từ trong câu song song. Cơ chế này sử dụng ba ma trận trọng số: Query (Q), Key (K), và Value (V).
Với mỗi từ, mô hình tạo ra một vector Query hỏi: "Tôi cần gì?", và vector Key trả lời: "Tôi có gì?". Tích vô hướng giữa Q và K tạo ra Attention Score, xác định từ nào cần "chú ý" đến từ nào. Cuối cùng, output là tổng có trọng số của các vector Value.
Điểm mạnh: Dù từ cách nhau 100 vị trí, gradient vẫn lan truyền trực tiếp qua lớp Attention mà không bị suy giảm.
Multi-Head Attention: Nhiều góc nhìn cùng lúc
Thay vì một lần attention, Transformer chạy song song nhiều "đầu" (multi-head) — thường là 8 hoặc 16. Mỗi đầu học một kiểu quan hệ khác nhau:
- Đầu 1: Chú ý đến tính từ và danh từ (phân loại ngữ pháp)
- Đầu 2: Chú ý đến đại từ và danh từ nó chỉ đến (coreference)
- Đầu 3: Chú ý đến ngữ cảnh thời gian trong câu tiếng Việt (đã, đang, sẽ)
Kết quả của các đầu được nối (concatenate) rồi chiếu qua ma trận tuyến tính để tạo output cuối.
Positional Encoding: Thêm thông tin vị trí không cần đệ quy
Vì Transformer xử lý toàn bộ câu đồng thời, nó không biết từ nào đứng trước, từ nào đứng sau (khác với RNN, vị trí ngầm trong trạng thái ẩn). Google sử dụng Positional Encoding dựa trên hàm sin/cos với tần số khác nhau cho mỗi chiều vector.
Công thức:
- PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
- PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
Cách này cho phép mô hình học được quan hệ tương đối giữa các vị trí và tổng quát hóa cho những câu dài hơn dữ liệu huấn luyện.
Encoder-Decoder vs Kiến trúc thuần tuý
Bản gốc Transformer gồm:
- Encoder: 6 lớp giống nhau, đọc câu nguồn, tạo biểu diễn ngữ cảnh (dùng trong dịch máy)
- Decoder: 6 lớp, tạo câu đích, sử dụng Masked Self-Attention (chỉ nhìn các từ đã sinh ra, không nhìn tương lai)
Tuy nhiên, thực tế hiện nay phân nhánh:
- Encoder-only (BERT, PhoBERT): Học biểu diễn ngữ cảnh hai chiều (bidirectional) cho phân loại văn bản, trích xuất thông tin
- Decoder-only (GPT series, Claude): Tối ưu cho sinh văn bản tự hồi quy (autoregressive), trở thành chuẩn mực cho LLM
Layer Normalization và Residual Connections
Mỗi sub-layer trong Transformer (Attention hoặc Feed-Forward) được bao quanh bởi Residual Connection (skip connection) và Layer Normalization. Công thức:
Output = LayerNorm(x + Sublayer(x))
Điều này giải quyết vấn đề degradation trong mạng sâu (Transformer thường có 12-24-96 lớp), cho phép gradient lan truyền trực tiếp qua các lớp mà không bị biến dạng.
Ví dụ thực tế
Google Translate dịch Anh-Việt chính xác hơn
Trước 2017, Google Translate dùng RNN Encoder-Decoder, thường dịch sai thứ tự từ trong câu tiếng Việt phức tạp (ví dụ: "The book that I bought yesterday" → dịch lộn xộn thứ tự định ngữ). Sau khi chuyển sang Transformer (2018), hệ thống nhìn toàn bộ câu gốc cùng lúc, sắp xếp lại trật tự từ phù hợp với ngữ pháp tiếng Việt (định ngữ đứng trước danh từ) thông qua Multi-Head Attention, tạo ra bản dịch mượt mà hơn đáng kể.
PhoBERT của VinAI xử lý tiếng Việt phức tạp
PhoBERT (2020) là phiên bản BERT được huấn luyện trước (pre-trained) trên 20GB văn bản tiếng Việt. Kiến trúc Encoder-only của Transformer cho phép PhoBERT hiểu ngữ cảnh hai chiều (bidirectional), xử lý hiệu quả các đặc thù tiếng Việt như từ ghép ("sinh viên" = sinh + viên), từ láy ("lấp lánh"), và thiếu dấu câu trong văn bản mạng xã hội. Các nhà nghiên cứu Việt Nam sử dụng PhoBERT để phân tích sentiment bình luận Shopee với độ chính xác trên 90%.
GPT-4 trong hệ sinh thái Zalo AI, Viettel AI
Các ứng dụng chatbot tiếng Việt như Zalo AI hoặc trợ lý ảo Viettel (Viettel AI) đều dựa trên kiến trúc Decoder-only của Transformer (tương tự GPT). Khi người dùng nhập "Đặt lịch khám bệnh mai lúc 9h", mô hình sử dụng Causal Self-Attention để tính toán xác suất từ tiếp theo dựa trên toàn bộ ngữ cảnh trước đó, sinh ra phản hồi tự nhiên mà không cần quy tắc hard-coded.
Ứng dụng
Sinh viên và Nghiên cứu sinh
- Hiểu sâu cách LLM hoạt động để định hướng nghiên cứu thesis về NLP tiếng Việt
- Tái hiện (reproduce) kiến trúc Transformer từ đầu bằng PyTorch để nắm vững mechanism
- Fine-tune PhoBERT hoặc viT5 (Transformer cho tiếng Việt) cho các bài toán như phát hiện tin giả trên Facebook, phân loại văn bản pháp lý
Lập trình viên và Kỹ sư ML
- Implement Attention mechanism từ scratch để tối ưu hóa cho dữ liệu tiếng Việt (ví dụ: điều chỉnh Positional Encoding cho câu dài đặc trưng văn bản pháp luật)
- Tối ưu inference speed bằng kỹ thuật KV-Cache (lưu trữ Key-Value của các token đã sinh ra để tránh tính toán lại)
- Xây dựng hệ thống RAG (Retrieval-Augmented Generation) kết hợp Transformer với vector database để trả lời câu hỏi dựa trên tài liệu nội bộ doanh nghiệp
Doanh nghiệp và Tổ chức
- Triển khai hệ thống dịch máy nội bộ (Anh-Việt-Nhật) dựa trên kiến trúc Transformer mã nguồn mở (mBART, NLLB) để bảo mật dữ liệu thay vì dùng API bên ngoài
- Xây dựng chatbot chăm sóc khách hàng hiểu ngữ cảnh tiếng Việt đa dạng vùng miền (từ lóng, từ địa phương) bằng cách fine-tune Transformer trên dữ liệu nội địa
- Trích xuất thông tin tự động từ hóa đơn, hợp đồng tiếng Việt (Named Entity Recognition) sử dụng BERT-based models
So sánh
| Đặc điểm | RNN/LSTM | CNN cho NLP | Transformer |
|---|---|---|---|
| Cơ chế xử lý | Tuần tự (sequential) | Local convolution | Toàn cục (global attention) |
| Song song hóa | Khó (phụ thuộc bước trước) | Dễ | Hoàn toàn song song |
| Phụ thuộc xa | Kém (vanishing gradient) | Trung bình (qua nhiều lớp) | Xuất sắc (trực tiếp kết nối) |
| Vị trí từ | Ngầm trong hidden state | Convolution layers | Positional Encoding rõ ràng |
| Độ phức tạp tính toán | O(n) cho 1 bước, nhưng tuần tự | O(n log n) với dilated conv | O(n²) cho attention matrix |
| Dữ liệu huấn luyện | Hiệu quả với dữ liệu nhỏ | Cần nhiều dữ liệu | Cần rất nhiều dữ liệu + tài nguyên tính toán |
| Ứng dụng điển hình | Nhận dạng giọng nói, OCR cũ | Phân loại văn bản đơn giản | LLM, Machine Translation, BERT, GPT |
Kết luận: Transformer đã thay thế hoàn toàn RNN trong các tác vụ NLP hiện đại nhờ khả năng song song hóa và nắm bắt ngữ cảnh toàn cục, mặc dù chi phí tính toán bình phương (O(n²)) là hạn chế khi xử lý văn bản rất dài (10k+ tokens), dẫn đến các biến thể như Linear Attention, Flash Attention sau này.
Bài viết liên quan
Cùng cụm
- Attention mechanism là gì? — Tìm hiểu chi tiết cơ chế Attention tổng quát, nền tảng của Transformer
- Self-attention hoạt động thế nào? — Phân tích sâu Query-Key-Value và cách tính Attention Score
- Encoder vs Decoder — So sánh hai bên của kiến trúc gốc và tại sao GPT chỉ dùng Decoder
- GPT hoạt động ra sao? — Xem cách kiến trúc Decoder-only được áp dụng trong thực tế LLM
Đọc tiếp
- LLM & mô hình ngôn ngữ — Hiểu cách Transformer trở thành nền tảng của các mô hình ngôn ngữ lớn như GPT-4, Claude
- NLP chuyên sâu — Tìm hiểu các kỹ thuật Tokenization, NER áp dụng cùng Transformer cho tiếng Việt
Level 3: Chuyên sâu
40 bài chuyên sâu — Transformer, RAG, fine-tuning, AI Agent, MLOps và xu hướng tương lai.
Attention mechanism là gì?
Attention mechanism giúp AI tập trung vào thông tin quan trọng thay vì xử lý toàn bộ dữ liệu như nhau. Giải thích chi tiết cơ chế Query-Key-Value và mã nguồn PyTorch minh họa.