Courses
Ngôn ngữ giữ vai trò tối quan trọng trong giao tiếp của con người, và tự động hóa nó có thể mang lại lợi ích to lớn. Các mô hình xử lý ngôn ngữ tự nhiên (NLP) đã chật vật suốt nhiều năm để nắm bắt tinh tế của ngôn ngữ cho đến khi một đột phá xuất hiện — cơ chế attention.
Cơ chế attention được giới thiệu năm 2017 trong bài báo Attention Is All You Need. Khác với các phương pháp truyền thống xem xét từ ngữ tách biệt, attention gán trọng số cho mỗi từ dựa trên mức độ liên quan với nhiệm vụ hiện tại. Điều này cho phép mô hình nắm bắt phụ thuộc tầm xa, đồng thời phân tích cả ngữ cảnh cục bộ lẫn tổng thể, và giải quyết mơ hồ bằng cách tập trung vào những phần thông tin của câu.
Hãy xem câu sau: "Miami, được mệnh danh là 'thành phố phép thuật', có những bãi biển cát trắng tuyệt đẹp." Các mô hình truyền thống sẽ xử lý từng từ theo thứ tự. Cơ chế attention, tuy nhiên, hoạt động giống não bộ chúng ta hơn. Nó gán điểm cho mỗi từ dựa trên mức độ liên quan với trọng tâm đang xét. Các từ như "Miami" và "beaches" trở nên quan trọng hơn khi xét về địa điểm, nên sẽ nhận điểm cao hơn.
Trong bài viết này, chúng tôi sẽ đưa ra một giải thích trực quan về cơ chế attention. Bạn cũng có thể tìm cách tiếp cận kỹ thuật hơn trong hướng dẫn này về cách transformers hoạt động. Cùng bắt đầu nhé!
Các mô hình ngôn ngữ truyền thống
Hãy bắt đầu hành trình hiểu cơ chế attention bằng cách đặt nó trong bối cảnh rộng hơn của các mô hình ngôn ngữ.
Những điều cơ bản của xử lý ngôn ngữ
Các mô hình ngôn ngữ xử lý ngôn ngữ bằng cách cố gắng hiểu cấu trúc ngữ pháp (cú pháp) và ý nghĩa (ngữ nghĩa). Mục tiêu là xuất ra ngôn ngữ có cú pháp và ngữ nghĩa đúng, phù hợp với đầu vào.
Các mô hình ngôn ngữ dựa vào một loạt kỹ thuật để phân tách và hiểu văn bản:
- Phân tích cú pháp (Parsing): Kỹ thuật này phân tích cấu trúc câu, gán loại từ (danh từ, động từ, tính từ, v.v.) cho mỗi từ và xác định các quan hệ ngữ pháp.
- Tách từ (Tokenization): Mô hình chia câu thành các từ riêng lẻ (token), tạo khối xây dựng cho việc phân tích ngữ nghĩa (bạn có thể tìm hiểu thêm về tokenization trong một bài viết riêng).
- Stemming: Bước này đưa từ về dạng gốc (ví dụ, "walking" thành "walk"). Việc này giúp mô hình xử lý nhất quán các từ tương tự.
- Nhận diện thực thể và trích xuất quan hệ: Các kỹ thuật này phối hợp để nhận diện và phân loại thực thể cụ thể (như người hay địa điểm) trong văn bản và khám phá quan hệ giữa chúng.
- Word embeddings: Cuối cùng, mô hình tạo biểu diễn số cho mỗi từ (vector), nắm bắt ý nghĩa và liên hệ với các từ khác. Điều này cho phép mô hình xử lý văn bản và thực hiện các tác vụ như dịch hoặc tóm tắt.
Hạn chế của các mô hình truyền thống
Dù các mô hình ngôn ngữ truyền thống đã mở đường cho tiến bộ trong NLP, chúng vẫn gặp khó trong việc nắm bắt đầy đủ sự phức tạp của ngôn ngữ tự nhiên:
- Ngữ cảnh hạn chế: Các mô hình truyền thống thường biểu diễn văn bản như tập hợp các token riêng lẻ, không nắm được bối cảnh rộng của câu. Điều này gây khó trong việc hiểu mối liên hệ giữa các từ cách xa nhau.
- Cửa sổ ngữ cảnh ngắn: Phạm vi ngữ cảnh các mô hình này xét đến thường bị giới hạn. Vì vậy chúng không thể nắm bắt phụ thuộc tầm xa, nơi các từ cách xa nhau ảnh hưởng đến nghĩa của nhau.
- Khó khăn trong khử mơ hồ từ: Các mô hình truyền thống gặp khó khi khử mơ hồ cho từ đa nghĩa chỉ dựa vào từ xung quanh. Chúng thiếu khả năng xét bối cảnh rộng hơn để xác định nghĩa dự định.
- Thách thức tổng quát hóa: Do hạn chế về kiến trúc mạng và lượng dữ liệu huấn luyện, các mô hình này thường khó thích ứng với tình huống mới hoặc chưa từng thấy (dữ liệu ngoài miền).
Attention trong các mô hình ngôn ngữ là gì?
Khác với các mô hình truyền thống xem từ ngữ tách biệt, attention cho phép mô hình ngôn ngữ xét đến ngữ cảnh. Hãy xem cụ thể là gì!
Attention là tất cả những gì bạn cần
Bước ngoặt cho lĩnh vực NLP đến vào năm 2017 khi bài báo Attention Is All You Need giới thiệu cơ chế attention.
Bài báo này đề xuất một kiến trúc mới gọi là transformer. Khác với các phương pháp cũ như mạng nơ-ron hồi quy (RNN) và mạng nơ-ron tích chập (CNN), transformers sử dụng các cơ chế attention.
Bằng cách giải quyết nhiều vấn đề của mô hình truyền thống, transformers (và attention) đã trở thành nền tảng cho nhiều mô hình ngôn ngữ lớn (LLM) phổ biến ngày nay, như GPT-4 của OpenAI và ChatGPT.
Attention hoạt động như thế nào?
Hãy xét từ “bat” trong hai câu sau:
- "Swing the bat!"
- "The bat flew at night."
Các phương pháp embedding truyền thống gán một vector biểu diễn duy nhất cho “bat”, hạn chế khả năng phân biệt nghĩa. Tuy nhiên, cơ chế attention khắc phục bằng cách tính các trọng số phụ thuộc ngữ cảnh.
Chúng phân tích các từ xung quanh ("swing" so với "flew") và tính điểm attention xác định mức liên quan. Các điểm này sau đó được dùng để cân trọng các vector embedding, tạo ra biểu diễn khác biệt cho "bat" với nghĩa dụng cụ thể thao (trọng số cao ở "swing") hoặc loài dơi biết bay (trọng số cao ở "flew").
Điều này cho phép mô hình nắm bắt sắc thái ngữ nghĩa và cải thiện khả năng hiểu.

Tầm quan trọng của Attention trong LLMs
Giờ hãy dựa trên trực giác về attention để xem cơ chế này vượt lên trên word embedding truyền thống như thế nào nhằm nâng cao khả năng hiểu ngôn ngữ. Chúng ta cũng sẽ xem một vài ứng dụng thực tế của attention.
Vượt xa word embedding truyền thống
Các kỹ thuật word embedding truyền thống như Word2Vec và GloVe biểu diễn từ dưới dạng các vector có kích thước cố định trong không gian ngữ nghĩa dựa trên thống kê đồng xuất hiện trong một kho văn bản lớn.
Dù các embedding này nắm bắt một số quan hệ ngữ nghĩa giữa các từ, chúng thiếu độ nhạy ngữ cảnh. Nghĩa là cùng một từ sẽ có embedding như nhau bất kể bối cảnh trong câu hay tài liệu.
Hạn chế này đặt ra thách thức cho những tác vụ đòi hỏi hiểu biết tinh tế về ngôn ngữ — đặc biệt khi từ mang nghĩa khác nhau theo ngữ cảnh. Cơ chế attention giải quyết vấn đề bằng cách cho phép mô hình chọn lọc tập trung vào những phần liên quan của chuỗi đầu vào, từ đó đưa độ nhạy ngữ cảnh vào quá trình học biểu diễn.
Tăng cường khả năng hiểu ngôn ngữ
Attention giúp mô hình hiểu sắc thái và mơ hồ trong ngôn ngữ, khiến chúng hiệu quả hơn khi xử lý văn bản phức tạp. Một số lợi ích chính gồm:
- Gán trọng số động: Attention cho phép mô hình điều chỉnh linh hoạt tầm quan trọng của một số từ dựa trên mức liên quan trong ngữ cảnh hiện tại.
- Phụ thuộc tầm xa: Nó giúp nắm bắt các quan hệ giữa những từ ở cách xa nhau.
- Hiểu theo ngữ cảnh: Bên cạnh biểu diễn theo ngữ cảnh, nó giúp khử mơ hồ và khiến mô hình thích ứng với nhiều tác vụ hạ nguồn.
Ứng dụng và tác động
Tác động của các mô hình ngôn ngữ dựa trên attention là rất lớn. Hàng nghìn người sử dụng các ứng dụng xây dựng trên nền tảng này. Một số ứng dụng phổ biến nhất là:
- Dịch máy: Các mô hình như Google Dịch tận dụng attention để tập trung vào các phần liên quan của câu nguồn và tạo bản dịch chính xác hơn về ngữ cảnh.
- Tóm tắt văn bản: Attention có thể tìm ra câu hoặc cụm từ quan trọng trong tài liệu, hỗ trợ tạo bản tóm tắt súc tích và nhiều thông tin.
- Hỏi đáp: Attention giúp các mô hình học sâu căn chỉnh từ trong câu hỏi với các phần ngữ cảnh liên quan, cho phép trích xuất câu trả lời chính xác.
- Phân tích cảm xúc: Các mô hình phân tích cảm xúc sử dụng attention để nắm bắt các từ mang sắc thái cảm xúc và tầm quan trọng theo ngữ cảnh của chúng.
- Sinh nội dung: Các mô hình sinh nội dung tận dụng attention để tạo văn bản mạch lạc và phù hợp ngữ cảnh bằng cách đảm bảo văn bản sinh ra nhất quán với ngữ cảnh đầu vào.
Các cơ chế Attention nâng cao
Giờ khi đã quen với cách attention hoạt động, hãy xem self-attention và multi-head attention.
Self-attention và multi-head attention
Self-attention cho phép mô hình tập trung vào các vị trí khác nhau trong chuỗi đầu vào để tính toán một biểu diễn cho chuỗi đó. Nó cho phép mô hình đánh giá tầm quan trọng của từng từ trong chuỗi so với các từ khác, nắm bắt các phụ thuộc giữa các từ khác nhau trong đầu vào. Cơ chế này có ba thành phần chính:
- Query: Đây là một vector đại diện cho trọng tâm hoặc câu hỏi hiện tại mà mô hình đặt ra về một từ cụ thể trong chuỗi. Nó giống như chiếc đèn pin mà mô hình chiếu vào một từ để hiểu nghĩa của nó trong ngữ cảnh.
- Key: Mỗi từ có một nhãn hay điểm tham chiếu — vector key đóng vai trò như nhãn này. Mô hình so sánh vector query với tất cả các vector key để xem từ nào liên quan nhất để trả lời câu hỏi về từ đang được chú ý.
- Value: Vector này chứa thông tin thực sự gắn với mỗi từ. Sau khi mô hình xác định các từ liên quan thông qua so sánh key, nó truy xuất các vector value tương ứng để lấy chi tiết cần thiết cho việc hiểu.
Điểm attention có thể được tính bằng tích vô hướng có tỉ lệ giữa các vector query và key. Cuối cùng, các điểm này được nhân với các vector value để cho ra tổng có trọng số của các value.
Multi-head attention là phần mở rộng của self-attention. Nó tăng khả năng của mô hình trong việc nắm bắt thông tin ngữ cảnh đa dạng bằng cách đồng thời tập trung vào các phần khác nhau của chuỗi đầu vào. Điều này đạt được bằng cách thực hiện nhiều phép self-attention song song, mỗi phép có bộ biến đổi query, key và value được học riêng.
Multi-head attention dẫn đến hiểu biết ngữ cảnh tinh vi hơn, tăng độ vững và khả năng biểu đạt.
Attention: Thách thức và giải pháp
Dù triển khai cơ chế attention mang lại nhiều lợi ích, nó cũng đi kèm các thách thức riêng, mà nghiên cứu hiện nay có thể giải quyết.
Độ phức tạp tính toán
Các cơ chế attention bao gồm việc tính tương đồng theo cặp giữa mọi token trong chuỗi đầu vào, dẫn đến độ phức tạp bậc hai theo độ dài chuỗi. Điều này có thể tốn kém về mặt tính toán, đặc biệt với chuỗi dài.
Nhiều kỹ thuật đã được đề xuất để giảm độ phức tạp tính toán, như cơ chế attention thưa (sparse), attention xấp xỉ, và các cơ chế attention hiệu quả như hashing nhạy cảm vị trí trong mô hình Reformer.
Overfitting ở attention
Các cơ chế attention có thể overfit vào thông tin nhiễu hoặc không liên quan trong chuỗi đầu vào, dẫn đến hiệu năng kém trên dữ liệu chưa thấy.
Các kỹ thuật regularization như dropout và chuẩn hóa lớp (layer normalization) có thể giúp ngăn overfitting trong các mô hình dựa trên attention. Ngoài ra, các kỹ thuật như attention dropout và attention masking được đề xuất để khuyến khích mô hình tập trung vào thông tin liên quan.
Tính diễn giải và khả năng giải thích
Hiểu cách cơ chế attention vận hành và diễn giải đầu ra của chúng có thể là thách thức, đặc biệt trong các mô hình phức tạp với nhiều lớp và nhiều head attention. Điều này dấy lên lo ngại về đạo đức của công nghệ mới — bạn có thể tìm hiểu thêm về đạo đức AI trong khóa học của chúng tôi, hoặc nghe podcast với nhà nghiên cứu AI Dr. Joy Buolamwini.
Các phương pháp trực quan hóa trọng số attention và diễn giải ý nghĩa của chúng đã được phát triển để tăng tính diễn giải của các mô hình dựa trên attention. Ngoài ra, các kỹ thuật như quy gán attention nhằm xác định mức đóng góp của từng token vào dự đoán của mô hình, cải thiện khả năng giải thích.
Khả năng mở rộng và ràng buộc bộ nhớ
Các cơ chế attention tiêu tốn nhiều bộ nhớ và tài nguyên tính toán, khiến việc mở rộng sang mô hình và dữ liệu lớn trở nên thách thức.
Các kỹ thuật mở rộng mô hình dựa trên attention, như attention phân cấp (hierarchical), attention tiết kiệm bộ nhớ, và attention thưa, nhằm giảm tiêu thụ bộ nhớ và chi phí tính toán trong khi vẫn duy trì hiệu năng.
Attention: Tóm tắt
Hãy tổng kết những gì chúng ta đã học bằng cách tập trung vào khác biệt giữa mô hình truyền thống và mô hình dựa trên attention:
|
Tính năng |
Mô hình dựa trên Attention |
Mô hình NLP truyền thống |
|
Biểu diễn từ |
Vector embedding nhận biết ngữ cảnh (được cân động dựa trên điểm attention) |
Vector embedding tĩnh (một vector cho mỗi từ, không xét ngữ cảnh) |
|
Trọng tâm |
Xem xét các từ xung quanh để hiểu nghĩa (nhìn vào bối cảnh rộng hơn) |
Xử lý mỗi từ một cách độc lập |
|
Điểm mạnh |
Nắm bắt phụ thuộc tầm xa, giải quyết mơ hồ, hiểu sắc thái |
Đơn giản hơn, rẻ hơn về tính toán |
|
Điểm yếu |
Có thể tốn kém về tính toán |
Khả năng hiểu ngôn ngữ phức tạp hạn chế, gặp khó với ngữ cảnh |
|
Cơ chế nền tảng |
Mạng encoder-decoder với attention (nhiều kiến trúc khác nhau) |
Các kỹ thuật như parsing, stemming, nhận diện thực thể, word embeddings |
Kết luận
Trong bài viết này, chúng ta đã khám phá cơ chế attention, một đổi mới đã cách mạng hóa NLP. Khác với các phương pháp trước đây, attention cho phép mô hình ngôn ngữ tập trung vào những phần then chốt của câu, đồng thời xét đến ngữ cảnh. Điều này giúp chúng nắm bắt ngôn ngữ phức tạp, các kết nối tầm xa và mơ hồ của từ.
Bạn có thể tiếp tục học về cơ chế attention bằng cách:
- Nắm bối cảnh rộng hơn qua khóa học Large Language Models (LLMs) của chúng tôi.
- Xây dựng một transformer với PyTorch.