Kiến trúc Transformer và Attention Mechanism
## Kiến trúc Transformer và Cơ chế Attention Kiến trúc Transformer, được giới thiệu trong bài báo “Attention Is All You Need” của Vaswani et al. (2017) [1], đã cách mạng hóa lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và học sâu. Mô hình này loại bỏ hoàn toàn các mạng thần kinh hồi quy (RNN) và mạng thần kinh tích chập (CNN) truyền thống, thay vào đó chỉ dựa vào cơ chế attention để nắm bắt các phụ thuộc toàn cục trong dữ liệu tuần tự. Sự thay đổi này đã mang lại những cải tiến đáng kể về chất lượng mô hình, khả năng song song hóa và tốc độ đào tạo [1]. ### 1. Cơ chế Self-Attention Cơ chế Self-Attention (tự chú ý), đôi khi còn được gọi là intra-attention, là một thành phần cốt lõi của Transformer. Nó cho phép mô hình xem xét các phần khác nhau của một chuỗi đầu vào khi mã hóa một từ cụ thể trong chuỗi đó. Điều này giúp mô hình hiểu được ngữ cảnh và mối quan hệ giữa các từ, bất kể khoảng cách vật lý của chúng trong câu [1]. Trong self-attention, mỗi từ trong chuỗi đầu vào được gán ba vector: Query (Q), Key (K) và Value (V). Các vector này được tạo ra bằng cách nhân embedding của từ với ba ma trận trọng số khác nhau (WQ, WK, WV) được học trong quá trình đào tạo. Quá trình tính toán self-attention diễn ra như sau: 1. Tính điểm tương đồng (Attention Score): Đối với mỗi từ Query, điểm tương đồng được tính bằng cách lấy tích vô hướng của Query đó với tất cả các Key trong chuỗi. Điều này cho biết mức độ liên quan của mỗi từ khác đối với từ Query hiện tại. 2. Chuẩn hóa (Scaling): Các điểm tương đồng được chia cho căn bậc hai của chiều của vector Key (√dk). Bước chuẩn hóa này giúp ổn định quá trình đào tạo, đặc biệt khi dk lớn, ngăn chặn hàm softmax rơi vào các vùng có gradient cực nhỏ [1]. 3. Áp dụng Softmax: Kết quả sau khi chuẩn hóa được đưa qua hàm softmax để chuyển đổi thành phân phối xác suất. Các giá trị này biểu thị trọng số attention, tổng của chúng bằng 1. 4. Tính tổng trọng số (Weighted Sum): Mỗi trọng số attention được nhân với vector Value tương ứng. Sau đó, tất cả các vector Value đã được nhân trọng số này được cộng lại để tạo thành vector đầu ra cho từ Query. Vector đầu ra này chứa thông tin ngữ cảnh của từ Query, được tổng hợp từ tất cả các từ khác trong chuỗi, với mức độ chú ý khác nhau [1]. Công thức cho Scaled Dot-Product Attention là: text{Attention}(Q, K, V) = text{softmax}left(frac{QK^T}{sqrt{d_k}}right)V ### 2. Multi-Head Attention Multi-Head Attention (chú ý đa đầu) là một cải tiến của self-attention, cho phép mô hình cùng lúc chú ý đến các khía cạnh khác nhau của thông tin từ các không gian biểu diễn khác nhau. Thay vì thực hiện một phép tính attention duy nhất, multi-head attention thực hiện nhiều phép tính attention song song (gọi là “heads”). Mỗi head học một tập hợp các ma trận trọng số Q, K, V riêng biệt [1]. Cụ thể, đầu vào được chiếu tuyến tính h lần thành các không gian con khác nhau. Sau đó, mỗi head thực hiện phép tính scaled dot-product attention độc lập. Các vector đầu ra từ tất cả các head sau đó được nối lại và chiếu tuyến tính một lần nữa để tạo ra vector đầu ra cuối cùng. Điều này giúp mô hình tập trung vào các mối quan hệ khác nhau trong dữ liệu và thu thập thông tin từ các vị trí khác nhau trong chuỗi [1]. Lợi ích của multi-head attention bao gồm: • Khả năng nắm bắt nhiều loại phụ thuộc: Mỗi head có thể học cách chú ý đến một loại mối quan hệ khác nhau (ví dụ: mối quan hệ cú pháp, mối quan hệ ngữ nghĩa). • Mở rộng khả năng biểu diễn: Bằng cách chiếu các Query, Key và Value vào các không gian con khác nhau, mô hình có thể học các biểu diễn phong phú hơn cho cùng một thông tin. ### 3. Positional Encoding Không giống như RNN/LSTM xử lý dữ liệu tuần tự từng bước, Transformer xử lý toàn bộ chuỗi đầu vào cùng một lúc. Điều này có nghĩa là bản thân cơ chế attention không có thông tin về vị trí tương đối hoặc tuyệt đối của các từ trong chuỗi. Để khắc phục hạn chế này, Positional Encoding (mã hóa vị trí) được thêm vào các embedding đầu vào [1]. Positional encoding là các vector được thêm vào các embedding của từ trước khi chúng được đưa vào các lớp encoder và decoder. Các vector này mang thông tin về vị trí của mỗi từ trong chuỗi. Trong bài báo gốc, các tác giả đã sử dụng các hàm sin và cosin với các tần số khác nhau để tạo ra các positional encoding. Điều này cho phép mô hình học cách sử dụng thông tin vị trí một cách linh hoạt và có khả năng khái quát hóa cho các độ dài chuỗi khác nhau [1]. Công thức cho positional encoding là: PE_{(pos, 2i)} = sin(pos / 10000^{2i/d_{model}}) PE_{(pos, 2i+1)} = cos(pos / 10000^{2i/d_{model}}) Trong đó, `pos` là vị trí của từ trong chuỗi, `i` là chiều của vector positional encoding, và `d_model` là chiều của embedding [1]. ### 4. Tại sao Transformer thay thế RNN/LSTM Transformer đã thay thế RNN và LSTM trong nhiều tác vụ NLP nhờ một số ưu điểm vượt trội: • Khả năng song song hóa cao: RNN và LSTM xử lý dữ liệu tuần tự, từng bước một, điều này hạn chế khả năng song song hóa và làm chậm quá trình đào tạo trên các chuỗi dài. Transformer, nhờ cơ chế attention, có thể xử lý tất cả các từ trong chuỗi cùng một lúc, cho phép song song hóa đáng kể và giảm thời gian đào tạo [1]. • Nắm bắt phụ thuộc tầm xa hiệu quả hơn: RNN và LSTM gặp khó khăn trong việc nắm bắt các phụ thuộc tầm xa (long-range dependencies) do vấn đề vanishing/exploding gradients. Cơ chế self-attention của Transformer cho phép mỗi từ tương tác trực tiếp với tất cả các từ khác trong chuỗi, bất kể khoảng cách, giúp nắm bắt các phụ thuộc tầm xa một cách hiệu quả hơn [1]. • Không có vấn đề về bộ nhớ: RNN và LSTM có bộ nhớ giới hạn, chỉ có thể lưu trữ thông tin từ các bước thời gian gần đây. Transformer, thông qua attention, có thể truy cập thông tin từ bất kỳ vị trí nào trong chuỗi đầu vào, giải quyết vấn đề này. • Hiệu suất vượt trội: Các thử nghiệm trên các tác vụ dịch máy cho thấy Transformer đạt được kết quả vượt trội so với các mô hình dựa trên RNN/LSTM. Ví dụ, trên tác vụ dịch Anh-Đức WMT 2014, Transformer đạt 28.4 BLEU, cải thiện hơn 2 BLEU so với các kết quả tốt nhất trước đó. Trên tác vụ dịch Anh-Pháp WMT 2014, mô hình đạt 41.8 BLEU, một kỷ lục mới vào thời điểm đó, chỉ sau 3.5 ngày đào tạo trên tám GPU [1]. ### Kết luận Kiến trúc Transformer và cơ chế attention đã mở ra một kỷ nguyên mới trong NLP, cho phép phát triển các mô hình ngôn ngữ lớn (LLM) mạnh mẽ như GPT, BERT và T5. Khả năng xử lý song song, nắm bắt phụ thuộc tầm xa hiệu quả và hiệu suất vượt trội đã khẳng định vị thế của Transformer là kiến trúc tiêu chuẩn cho nhiều tác vụ học sâu hiện nay [2].
Nội dung chi tiết
• Transformer ra đời: Kiến trúc Transformer được giới thiệu trong bài báo “Attention Is All You Need” của Vaswani et al. (2017) [1]. • Thay thế RNN/CNN: Transformer loại bỏ hoàn toàn các mạng thần kinh hồi quy (RNN) và mạng thần kinh tích chập (CNN) truyền thống, chỉ dựa vào cơ chế attention [1]. • Ưu điểm chính: Mang lại cải tiến đáng kể về chất lượng mô hình, khả năng song song hóa và tốc độ đào tạo [1]. • Self-Attention: Là cơ chế cốt lõi cho phép mô hình xem xét các phần khác nhau của chuỗi đầu vào để hiểu ngữ cảnh, bất kể khoảng cách vật lý giữa các từ [1]. • Thành phần Self-Attention: Mỗi từ được gán vector Query (Q), Key (K) và Value (V) để tính điểm tương đồng, chuẩn hóa bằng căn bậc hai của chiều Key (√dk), áp dụng softmax và tính tổng trọng số [1]. • Công thức Scaled Dot-Product Attention: text{Attention}(Q, K, V) = text{softmax}left(frac{QK^T}{sqrt{d_k}}right)V [1]. • Multi-Head Attention: Cải tiến của self-attention, thực hiện nhiều phép tính attention song song để nắm bắt các khía cạnh thông tin khác nhau từ các không gian biểu diễn khác nhau [1]. • Lợi ích Multi-Head Attention: Nắm bắt nhiều loại phụ thuộc và mở rộng khả năng biểu diễn [1]. • Positional Encoding: Các vector được thêm vào embedding đầu vào để cung cấp thông tin về vị trí tương đối hoặc tuyệt đối của các từ trong chuỗi, khắc phục hạn chế của việc xử lý song song [1]. • Công thức Positional Encoding: PE_{(pos, 2i)} = sin(pos / 10000^{2i/d_{model}}) và PE_{(pos, 2i+1)} = cos(pos / 10000^{2i/d_{model}}) [1]. • Lý do thay thế RNN/LSTM: Khả năng song song hóa cao, nắm bắt phụ thuộc tầm xa hiệu quả hơn, không có vấn đề về bộ nhớ và hiệu suất vượt trội [1]. • Hiệu suất dịch máy: Đạt 28.4 BLEU trên WMT 2014 Anh-Đức và 41.8 BLEU trên WMT 2014 Anh-Pháp, vượt trội so với các mô hình RNN/LSTM [1]. • Tác động: Mở ra kỷ nguyên mới trong NLP, cho phép phát triển các mô hình ngôn ngữ lớn (LLM) mạnh mẽ như GPT, BERT và T5 [2].
Điểm chính cần nhớ
• Transformer ra đời: Kiến trúc Transformer được giới thiệu trong bài báo “Attention Is All You Need” của Vaswani et al. (2017) [1].
• Thay thế RNN/CNN: Transformer loại bỏ hoàn toàn các mạng thần kinh hồi quy (RNN) và mạng thần kinh tích chập (CNN) truyền thống, chỉ dựa vào cơ chế attention [1].
• Ưu điểm chính: Mang lại cải tiến đáng kể về chất lượng mô hình, khả năng song song hóa và tốc độ đào tạo [1].
• Self-Attention: Là cơ chế cốt lõi cho phép mô hình xem xét các phần khác nhau của chuỗi đầu vào để hiểu ngữ cảnh, bất kể khoảng cách vật lý giữa các từ [1].
• Thành phần Self-Attention: Mỗi từ được gán vector Query (Q), Key (K) và Value (V) để tính điểm tương đồng, chuẩn hóa bằng căn bậc hai của chiều Key (√dk), áp dụng softmax và tính tổng trọng số [1].
• Công thức Scaled Dot-Product Attention: text{Attention}(Q, K, V) = text{softmax}left(frac{QK^T}{sqrt{d_k}}right)V [1].
• Multi-Head Attention: Cải tiến của self-attention, thực hiện nhiều phép tính attention song song để nắm bắt các khía cạnh thông tin khác nhau từ các không gian biểu diễn khác nhau [1].
• Lợi ích Multi-Head Attention: Nắm bắt nhiều loại phụ thuộc và mở rộng khả năng biểu diễn [1].
• Positional Encoding: Các vector được thêm vào embedding đầu vào để cung cấp thông tin về vị trí tương đối hoặc tuyệt đối của các từ trong chuỗi, khắc phục hạn chế của việc xử lý song song [1].
• Công thức Positional Encoding: PE_{(pos, 2i)} = sin(pos / 10000^{2i/d_{model}}) và PE_{(pos, 2i+1)} = cos(pos / 10000^{2i/d_{model}}) [1].
• Lý do thay thế RNN/LSTM: Khả năng song song hóa cao, nắm bắt phụ thuộc tầm xa hiệu quả hơn, không có vấn đề về bộ nhớ và hiệu suất vượt trội [1].
• Hiệu suất dịch máy: Đạt 28.4 BLEU trên WMT 2014 Anh-Đức và 41.8 BLEU trên WMT 2014 Anh-Pháp, vượt trội so với các mô hình RNN/LSTM [1].
• Tác động: Mở ra kỷ nguyên mới trong NLP, cho phép phát triển các mô hình ngôn ngữ lớn (LLM) mạnh mẽ như GPT, BERT và T5 [2].