Mọi mô hình ngôn ngữ lớn bạn gặp đều xây trên Transformer. Học xong bài này, bạn giải thích được vì sao AI hiểu “nó” trong câu là ai, vì sao câu quá dài thì AI bắt đầu quên, và vì sao mọi thứ đều tính bằng token.
Vì sao cần cơ chế chú ý
Hãy đọc câu: “Chị Lan gửi đơn cho cô Hà, nhưng cô ấy chưa nhận được.” “Cô ấy” là ai? Bạn quay lại nhìn các tên trước đó và cân nhắc. Mô hình cũ đọc từng từ từ trái sang phải, tới cuối câu thì ký ức về đầu câu đã mờ. Transformer giải quyết bằng attention (cơ chế chú ý): khi xử lý một từ, mô hình được phép nhìn lại mọi từ khác trong câu và tự chấm điểm từ nào liên quan nhất.
Đọc tuần tự (kiểu cũ)
- Đi từng từ một, khó chạy song song
- Câu dài thì quên phần đầu
Chú ý toàn câu (Transformer)
- Mọi từ nhìn được mọi từ khác
- Tính song song nên huấn luyện được trên lượng dữ liệu rất lớn
Query, Key, Value bằng chuyện đi thư viện
Mỗi từ được biến thành ba phiên bản. Hình dung bạn vào thư viện tìm sách. Câu bạn đang hỏi là Query (truy vấn). Nhãn trên gáy mỗi cuốn là Key (khoá để đối chiếu). Nội dung bên trong cuốn sách là Value (giá trị được lấy ra). Bạn so Query của mình với Key của từng cuốn để biết cuốn nào hợp, rồi trộn nội dung các cuốn theo mức hợp: cuốn hợp nhiều thì lấy nhiều, cuốn ít hợp thì lấy ít.
Kết quả là từ “cô ấy” sau bước này mang nhiều thông tin của “cô Hà” hơn là của “chị Lan”, nhờ điểm chú ý cao hơn. Mô hình không được dặn quy tắc ngữ pháp nào, nó học điều đó từ dữ liệu.
Nhiều đầu chú ý
Một câu có nhiều mối quan hệ cùng lúc: ai làm gì, việc xảy ra khi nào, từ nào bổ nghĩa từ nào. Vì vậy Transformer chạy multi-head attention (chú ý nhiều đầu): nhiều bộ chú ý chạy song song, mỗi bộ có thể tập trung vào một kiểu quan hệ, rồi kết quả được ghép lại. Giống như cùng đọc một hợp đồng nhưng có người soi số tiền, người soi ngày tháng, người soi tên các bên.
Vị trí và token
Chú ý nhìn mọi từ cùng lúc nên tự nó không biết từ nào đứng trước từ nào. Mô hình cộng thêm thông tin vị trí vào mỗi từ để phân biệt “khách trả shop” với “shop trả khách”. Ngoài ra mô hình không đọc nguyên chữ mà đọc token (mẩu nhỏ của văn bản, có thể là một từ, một phần từ hoặc một dấu). Tiếng Việt thường bị cắt thành nhiều mẩu hơn tiếng Anh, nên cùng một nội dung có thể tốn nhiều token hơn.
Sinh chữ: đoán token kế tiếp
Mô hình sinh văn bản theo vòng lặp: nhìn toàn bộ chữ đã có, đoán token tiếp theo, gắn nó vào, rồi lặp lại. Vì mỗi lần đoán phải chú ý lại toàn bộ văn bản trước đó, nên đầu vào càng dài thì càng tốn thời gian và chi phí, và đó là lý do bài về kỹ thuật ngữ cảnh ở chương sau tồn tại.
Lưu ý
Mô hình đoán chữ nghe hợp lý nhất, không tra sự thật. Vì vậy nó có thể nói sai rất tự tin. Đây là gốc của hiện tượng “ảo giác” và là lý do ta cần RAG.
Thử ngay
Hỏi một trợ lý AI để thấy chú ý hoạt động:
Câu: "Shop giao hàng cho khách nhưng họ nói nó bị móp."
Trong câu này "họ" và "nó" chỉ ai, cái gì? Giải thích bằng cách nào bạn xác định được.
Rồi thử sửa câu cho mơ hồ hơn và xem AI có hỏi lại không.
Ghi nhớ
- Attention cho mỗi từ khả năng nhìn lại mọi từ khác và chấm điểm liên quan.
- Query so với Key để biết nên lấy bao nhiêu Value của từ nào.
- Nhiều đầu chú ý bắt nhiều kiểu quan hệ cùng lúc.
- Mô hình sinh từng token kế tiếp; đầu vào dài thì tốn hơn và dễ sót ý.