04

Deep Learning (học sâu) · Bước 4/8 · 11 phút

Chuỗi, attention và transformer

Bạn giải thích được attention làm gì và vì sao transformer thay thế các model chuỗi đời cũ.

Văn bản là một chuỗi

Từ ngữ đến theo thứ tự, và nghĩa phụ thuộc vào thứ tự đó. Model trước hết cắt văn bản thành token, tức những mẩu nhỏ của từ, rồi biến mỗi token thành một vector số gọi là embedding.

Các model đời cũ như mạng hồi quy (RNN) và LSTM đọc từng token một và mang theo một bộ nhớ chạy dọc. Chúng chạy được, nhưng huấn luyện chậm vì mỗi bước phải chờ bước trước, và hay quên chi tiết ở xa trong văn bản dài.

Attention: nhìn tất cả, cân xem cái gì quan trọng

Attention (cơ chế chú ý) cho mỗi token nhìn mọi token khác cùng lúc và tự quyết định token nào quan trọng với nó đến mức nào. Trong câu "Chiếc cúp không vừa vali vì nó quá to", attention giúp "nó" gắn chặt với "chiếc cúp".

Về cơ chế, mỗi token tạo ra một query, một key và một value. So query với các key cho ra điểm số. Điểm số thành trọng số, và nghĩa mới của token là hỗn hợp có trọng số của các value. Nhiều attention head chạy song song, mỗi head có thể theo dõi một kiểu quan hệ khác nhau.

Transformer

Transformer, ra đời trong bài báo năm 2017 "Attention Is All You Need", xếp chồng các khối gồm attention và các layer feed-forward nhỏ. Vì không có vòng lặp từng bước, cả chuỗi được xử lý song song trên GPU. Chính điều này khiến việc huấn luyện trên lượng văn bản khổng lồ trở nên khả thi.

Attention tự nó không biết thứ tự, nên thông tin vị trí được cộng vào embedding. Và vì mỗi token so với mọi token khác, chi phí tăng theo bình phương độ dài chuỗi. Đó là một lý do context window (cửa sổ ngữ cảnh) có giới hạn.

Một thiết kế, nhiều công dụng

Các transformer chỉ có phần decoder, dự đoán token kế tiếp, là nền của các chatbot như ChatGPT, Claude và Gemini. Các model encoder như BERT dùng cho tìm kiếm và phân loại. Cùng ý tưởng ấy, áp vào các mảnh ảnh hay âm thanh, cũng vận hành model thị giác và giọng nói.

Thử ngay

Xem attention hoạt động

  1. 1.Mở Transformer Explainer tại poloclub.github.io/transformer-explainer. Trang này chạy một model GPT-2 nhỏ ngay trong trình duyệt.
  2. 2.Gõ một câu ngắn (tiếng Anh cho kết quả rõ nhất) và nhìn các đường attention giữa các token.
  3. 3.Đổi từ cuối câu và xem xác suất của token kế tiếp thay đổi thế nào.
Hãy hướng dẫn tôi từng bước self-attention cho câu "Con mèo ngồi trên tấm thảm" bằng query, key và value. Dùng các con số nhỏ tự đặt, và giải thích mỗi bước trong một câu.
Vì sao transformer thay thế RNN ở hầu hết bài toán ngôn ngữ?

Tự kiểm tra

Vì sao transformer thay thế RNN ở hầu hết bài toán ngôn ngữ?

Đọc thêm