TROISINH
FoundationsSequence & Language Modeling

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ểmMasked LM (BERT)Autoregressive LM (GPT)
Hướng nhìnHai chiều (toàn bộ context)Một chiều (trái-sang-phải)
Mục tiêu huấn luyệnDự đoán token bị che (15%)Dự đoán token tiếp theo (100%)
Phù hợp nhấtUnderstanding, embeddingsGeneration, completion
Kiểu AttentionFull N×N matrixTam giác dưới (causal)
Khoảng cách pretrain-finetuneToken [MASK] là nhân tạoKhô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:

On this page