Encoder-only models (VI)

From Systems analysis Wiki
Jump to navigation Jump to search

Mô hình chỉ dùng Encoder (tiếng Anh: Encoder-Only Models) — là một lớp kiến trúc của các mô hình ngôn ngữ lớn (LLM), được xây dựng hoàn toàn dựa trên phần mã hóa (encoder) của kiến trúc Transformer. Khác với các mô hình sử dụng decoder hoặc kiến trúc encoder-decoder đầy đủ, các mô hình này chuyên biệt hóa cho các tác vụ hiểu ngôn ngữ tự nhiên (Natural Language Understanding, NLU).

Mô hình tiên phong và đại diện tiêu biểu của hướng tiếp cận này là BERT (Bidirectional Encoder Representations from Transformers), được Google phát triển vào năm 2018.

Khái niệm và kiến trúc

Ý tưởng cốt lõi của các mô hình chỉ dùng encoder là tạo ra các biểu diễn ngữ cảnh hóa (embedding) sâu cho từng token trong chuỗi đầu vào. Nhờ cơ chế tự chú ý (self-attention) trong Transformer, mỗi token có thể "nhìn thấy" và tương tác với tất cả các token còn lại trong chuỗi, giúp mô hình nắm bắt được ngữ cảnh phong phú.

Đặc điểm then chốt là tính hai chiều: biểu diễn của mỗi token được hình thành dựa trên cả ngữ cảnh bên trái lẫn bên phải đồng thời. Điều này tạo ra sự khác biệt căn bản so với các mô hình tự hồi quy chỉ dùng decoder (như GPT), vốn có bản chất một chiều.

Về mặt kiến trúc, mô hình là một tập hợp gồm N lớp encoder giống nhau. Mỗi lớp bao gồm hai lớp con chính:

  1. Tự chú ý đa đầu (Multi-Head Self-Attention): Tính toán biểu diễn ngữ cảnh hóa cho từng token.
  2. Mạng nơ-ron kết nối đầy đủ (Feed-Forward Network): Áp dụng phép biến đổi phi tuyến lên biểu diễn của từng token.

Đầu ra của mô hình là một chuỗi các vector có cùng độ dài với chuỗi đầu vào, trong đó mỗi vector là biểu diễn phong phú của token đầu vào tương ứng.

Các tác vụ tiền huấn luyện

Để dạy mô hình hiểu ngôn ngữ trong ngữ cảnh hai chiều, người ta sử dụng các tác vụ tiền huấn luyện tự giám sát đặc biệt:

Mô hình hóa ngôn ngữ có mặt nạ (Masked Language Modeling, MLM)

Đây là tác vụ chính và quan trọng nhất đối với các mô hình chỉ dùng encoder, được giới thiệu lần đầu trong BERT.

  • Nguyên lý hoạt động: Một tỷ lệ nhỏ các token trong chuỗi đầu vào được che đi (đặt mặt nạ) một cách ngẫu nhiên (thường là 15%). Nhiệm vụ của mô hình là dự đoán giá trị gốc của các token bị che, sử dụng ngữ cảnh hai chiều xung quanh chúng.
  • Mục tiêu: Tác vụ này buộc mô hình phải học các mối quan hệ ngữ nghĩa và cú pháp sâu giữa các từ.

Dự đoán câu tiếp theo (Next Sentence Prediction, NSP)

Tác vụ này (cũng có trong BERT gốc) được thiết kế để dạy mô hình hiểu mối quan hệ giữa các câu.

  • Nguyên lý hoạt động: Mô hình nhận vào một cặp câu và phải xác định liệu câu thứ hai có phải là phần tiếp nối logic của câu thứ nhất trong văn bản gốc hay không.
  • Trạng thái hiện tại: Các nghiên cứu về sau (ví dụ, trong mô hình RoBERTa) đã chỉ ra rằng NSP kém hiệu quả hơn MLM, và tác vụ này thường bị thay thế bằng các tác vụ khác hoặc loại bỏ hoàn toàn.

Ứng dụng

Các mô hình chỉ dùng encoder không được thiết kế để sinh văn bản tự do, vì chúng không có decoder tự hồi quy. Sức mạnh của chúng nằm ở việc phân tích và hiểu văn bản. Các biểu diễn vector đầu ra của mô hình được sử dụng để giải quyết một phổ rộng các tác vụ NLU:

  • Phân loại văn bản: Đối với các tác vụ như phân tích cảm xúc hay xác định chủ đề, người ta sử dụng biểu diễn của token đặc biệt `[CLS]` được thêm vào đầu mỗi chuỗi. Vector cuối cùng của nó tổng hợp thông tin về toàn bộ chuỗi.
  • Phân loại token: Đối với các tác vụ như nhận dạng thực thể có tên (NER) hay gán nhãn từ loại (POS-tagging), người ta sử dụng biểu diễn vector của từng token riêng lẻ.
  • Trả lời câu hỏi (Question Answering): Trong các tác vụ mà câu trả lời là một đoạn trích từ văn bản cho trước (extractive QA), mô hình được huấn luyện để dự đoán token bắt đầu và token kết thúc của câu trả lời.
  • Lấy embedding: Các mô hình encoder thường được dùng như các bộ mã hóa văn bản đa năng để thu được embedding chất lượng cao cho câu hoặc tài liệu, sau đó có thể được sử dụng trong các hệ thống tìm kiếm hoặc cho các tác vụ đo độ tương đồng ngữ nghĩa.

Các mô hình tiêu biểu và sự phát triển của chúng

  • BERT (2018): Mô hình tiên phong của kiến trúc, thiết lập các kỷ lục mới trên nhiều benchmark NLP.
  • RoBERTa (2019): «BERT được tối ưu hóa một cách mạnh mẽ». Cho thấy rằng hiệu suất của BERT có thể được cải thiện đáng kể thông qua việc huấn luyện lâu hơn trên nhiều dữ liệu hơn và loại bỏ tác vụ NSP.
  • ALBERT (2019): «A Lite BERT». Mô hình có số lượng tham số ít hơn đáng kể nhờ các kỹ thuật phân rã embedding và chia sẻ tham số giữa các lớp.
  • DistilBERT (2019): Phiên bản thu gọn của BERT, được tạo ra bằng phương pháp chắt lọc tri thức (knowledge distillation), nhanh hơn và nhẹ hơn nhưng vẫn giữ được phần lớn hiệu suất của mô hình gốc.
  • ELECTRA (2020): Giới thiệu một tác vụ tiền huấn luyện hiệu quả hơn — replaced token detection, trong đó mô hình học cách phân biệt các token gốc với các token «giả» được sinh ra bởi một mô hình sinh nhỏ.
  • DeBERTa (2020): Giới thiệu cơ chế «chú ý tách rời» (disentangled attention), mã hóa nội dung và vị trí tương đối của các token một cách riêng biệt.

Xem thêm

  • BERT