Masked LM — Che 15% từ, bắt đoán lại — BERT's trick
Hiểu cách BERT dùng Masked Language Modeling để đọc cả câu hai chiều, thay vì đoán từ tiếp theo như GPT. Core idea của bidirectional understanding.
BERT thay đổi cuộc chơi năm 2018 bằng cách đọc văn bản như thám tử phá án, không phải như nhà tiên tri gieo quẻ. Thay vì đoán "từ tiếp theo là gì" như GPT, BERT ngẫu nhiên che đi 15% từ và buộc model điền lại bằng ngữ cảnh hai bên. Chiêu đơn giản này đã tạo ra kỷ nguyên "understanding" trong AI, vận hành Google Search và mọi công cụ phân tích cảm xúc hiện nay.
Vấn đề
Trước BERT, các language model như GPT-1 bị kẹt trong tư duy "trái-sang-phải". Chúng đọc văn bản như con người đọc sách—dự đoán từ thứ N+1 chỉ dựa trên các từ 1..N. Cách tiếp cận autoregressive này tạo ra điểm mù cơ bản: khi xử lý từ "bank" trong câu "I went to the bank to...", model chưa thấy "deposit money" ở phía sau, nên không thể biết đây là ngân hàng (financial) hay bờ sông (river).
Thêm nữa, các model này được thiết kế để sinh văn bản (generation), không phải để hiểu (comprehension). Với nhiệm vụ như "Tweet này tích cực hay tiêu cực?" hay "CEO được đề cập là ai?", bạn cần thấy toàn bộ ngữ cảnh cùng lúc, không chỉ bên trái. Cách cũ đòi hỏi kiến trúc task-specific phức tạp xây trên language model, tạo ra hệ sinh thái rời rạc.
Ý tưởng cốt lõi
Ý chính của BERT đơn giản đến ngạc nhiên: ngẫu nhiên che đi 15% token đầu vào (thay bằng token đặc biệt [MASK]), rồi huấn luyện model dự đoán các từ gốc đằng sau lớp mặt nạ—sử dụng ngữ cảnh từ cả hai phía. Vậy thôi.
Phép tương tự "bài kiểm tra điền từ vào chỗ trống" (cloze test) giải thích toàn bộ bản chất. Hãy tưởng tượng học sinh làm bài thi với các từ bị xóa ngẫu nhiên. Để điểm cao, học sinh không thể dựa vào việc nhớ cụm từ—họ phải thực sự hiểu ngữ pháp, kiến thức thế giới, và manh mối ngữ cảnh từ cả bên trái và bên phải lỗ trống.
Chi tiết tạo nên sự khác biệt:
Thứ nhất, tỷ lệ 15% là điểm ngọt. Che quá ít (5%) thì nhiệm vụ tầm thường—model đoán được từ kết hợp từ địa phương. Che quá nhiều (50%) thì ngữ cảnh quá thưa thớt để suy luận. 15% ép buộc model lập luận sâu trong khi vẫn giữ câu dễ hiểu.
Thứ hai, BERT không luôn dùng [MASK]. Nó áp dụng quy tắc 80/10/10: 80% thời gian dùng [MASK], 10% giữ nguyên từ gốc, và 10% thay bằng từ ngẫu nhiên. Điều này ngăn model học rằng [MASK] luôn chỉ ra mục tiêu cần dự đoán, vì trong thực tế fine-tuning, [MASK] không bao giờ xuất hiện.
Thứ ba và quan trọng nhất, BERT loại bỏ "causal mask" chặn attention đến token tương lai. Trong GPT, token 5 chỉ thấy token 1-4. Trong BERT, token 5 thấy tất cả—1, 2, 3, 4, 6, 7, 8... Attention toàn phần này cho phép "bank" nhìn cả "river" (trái) và "steep" (phải) đồng thời để xác định nghĩa.
Nhiều người nghĩ MLM chỉ là "cách khác để dự đoán từ"—thực ra đây là chuyển dịch triết lý từ generation sang understanding. GPT học cách viết tiếp; BERT học cách đọc hiểu ngữ cảnh.
Tại sao nó hoạt động
Cơ chế dựa trên bidirectional self-attention. Trong khi GPT chỉ tính attention scores Q·K^T/√d cho token trước đó (ma trận tam giác dưới), BERT tính cho tất cả cặp—tạo đồ thị attention fully connected nơi mọi từ trao đổi thông tin với mọi từ khác.
Về mặt toán học, với chuỗi độ dài N, ma trận attention là N×N không có masking. Khi "bank" attend đến "river", không quan trọng rằng "river" xuất hiện sau trong câu. Điều này cho phép model xây dựng các representation có ngữ cảnh hóa (contextualized embeddings), nơi mỗi word embedding là hàm số của toàn bộ ngữ cảnh xung quanh.
Việc masking đóng vai trò như mục tiêu denoising. Bằng cách làm nhiễu đầu vào và yêu cầu tái tạo, BERT học được các đặc trưng robust tương tự như denoising autoencoders trong computer vision. Model phải nén ý nghĩa của văn bản xung quanh thành representation đủ khả năng tái tạo phần bị thiếu.
Minh họa bằng code đơn giản:
# BERT masking logic (đơn giản hóa)
tokens = ["The", "cat", "sat", "on", "the", "mat"]
# Che 15% ngẫu nhiên (ví dụ: "cat")
masked = ["The", "[MASK]", "sat", "on", "the", "mat"]
# Model nhìn toàn bộ câu (hai chiều)
# Dự đoán "cat" dựa trên "The", "sat", "on", "the", "mat"
# Không có "tương lai" hay "quá khứ"—chỉ có ngữ cảnhÝ nghĩa thực tế
BERT thay đổi bản đồ bằng cách tách rời "understanding" khỏi "generation". Trong khi GPT tỏa sáng ở viết luận, BERT thống trị các bài toán classification—phân tích cảm xúc, nhận dạng thực thể (NER), trả lời câu hỏi. Google Search dùng BERT để hiểu ý định truy vấn (query intent), không chỉ match từ khóa.
Bảng so sánh chi tiết:
| Đặc điểm | Masked LM (BERT) | Autoregressive LM (GPT) |
|---|---|---|
| Hướng nhìn | Hai chiều (toàn bộ context) | Một chiều (trái-sang-phải) |
| Mục tiêu huấn luyện | Dự đoán token bị che (15%) | Dự đoán token tiếp theo (100%) |
| Phù hợp nhất | Understanding, embeddings | Generation, completion |
| Kiểu Attention | Full N×N matrix | Tam giác dưới (causal) |
| Khoảng cách pretrain-finetune | Token [MASK] là nhân tạo | Không có token nhân tạo |
Hạn chế thực tế: MLM rất tệ trong việc sinh văn bản—bạn không thể tự nhiên tạo câu bằng cách liên tục che và đoán. Nó cũng huấn luyện kém hiệu quả; chỉ 15% vị trí tạo gradient mỗi bước, so với 100% ở model autoregressive. Và token [MASK] tạo ra sự không khớp giữa pretraining và finetuning vì văn bản thực không chứa [MASK].
Đào sâu hơn
-
Paper gốc: BERT: Pre-training of Deep Bidirectional Transformers (Devlin et al., 2019) — Giới thiệu MLM và Next Sentence Prediction, tạo nền tảng cho transfer learning trong NLP.
-
Cùng cụm:
- Autoregressive LM — Đối chiếu với cách GPT đoán từ tiếp theo thay vì điền chỗ trống
- Self-Attention — Hiểu sâu cơ chế attention hai chiều cho phép BERT nhìn cả câu
- Transformer Architecture — Kiến trúc encoder-only của BERT so với decoder-only của GPT
-
Đọc tiếp:
- Attention Efficiency — Cách tối ưu O(n²) attention của BERT với FlashAttention và sparse patterns
- Encoder-Decoder — Khi cần cả hiểu và sinh (dịch máy), dùng kiến trúc hai đầu kết hợp bidirectional encoder và autoregressive decoder
-
External:
- The Illustrated BERT — Visual guide tương tác giải thích MLM và cách BERT tạo embeddings
- Hugging Face BERT Course — Thực hành masking strategy với code PyTorch
Autoregressive LM — Đoán token tiếp theo, lặp lại, GPT ra đời
Hiểu bản chất Autoregressive Language Model: dự đoán từng token một bằng causal masking, tại sao GPT thống trị AI, và điểm khác biệt với BERT.
SFT — Dạy model bắt chước output tốt
Supervised Fine-Tuning biến pre-trained model thành assistant thực thụ bằng cách dạy nó bắt chước câu trả lời chất lượng từ dữ liệu curated.