Transformer là một kiểu kiến trúc mạng nơ-ron, công bố năm 2017, cho phép mô hình xét cùng lúc mọi chữ trong đoạn văn và tự quyết định chữ nào cần chú ý tới chữ nào. Hầu hết các mô hình ngôn ngữ lớn đứng sau chatbot hiện nay đều xây trên kiến trúc này; chữ "T" trong tên gọi GPT chính là transformer.
Tên gọi nghe kỹ thuật, nhưng ý tưởng cốt lõi có thể giải thích bằng ví dụ đời thường. Bài này đi từ vấn đề mà transformer giải quyết, tới cơ chế chú ý, tới lý do nó giúp AI lớn nhanh như vậy, và những giới hạn mà chính kiến trúc này mang theo. Không có công thức; phần toán học đứng sau thuộc về các trang chuyên về toán trong AI.
Trước transformer: máy đọc câu như người đọc qua khe cửa
Muốn hiểu vì sao transformer quan trọng, cần biết các mô hình ngôn ngữ trước đó làm việc ra sao. Trong nhiều năm, cách phổ biến là mạng nơ-ron hồi quy: đọc văn bản lần lượt từng chữ một, từ trái sang phải, và mang theo một bản tóm tắt nhỏ về những gì đã đọc. Đọc chữ mới thì cập nhật bản tóm tắt, rồi đi tiếp.
Hình dung bạn đọc một cuốn sách qua một khe cửa chỉ lộ ra một chữ mỗi lần, và chỉ được ghi nhớ vào một mẩu giấy nhỏ. Tới cuối một câu dài, những chữ ở đầu câu đã bị ghi đè lên mẩu giấy nhiều lần, chỉ còn lại dấu vết mờ. Các mạng hồi quy gặp đúng khó khăn đó: câu càng dài, thông tin ở xa càng khó giữ. Các nhà nghiên cứu đã cải tiến bằng những biến thể có "cổng" quyết định giữ hay quên, giúp đỡ hơn nhiều nhưng không giải quyết tận gốc.
Vấn đề thứ hai là tốc độ huấn luyện. Vì phải đọc tuần tự, chữ sau phải chờ chữ trước, nên rất khó tận dụng các bộ xử lý đồ hoạ vốn mạnh ở chỗ làm hàng nghìn phép tính song song. Mô hình khó lớn lên, vì huấn luyện trên lượng dữ liệu khổng lồ mất quá nhiều thời gian.
Năm 2017, một nhóm nhà nghiên cứu, phần lớn làm việc tại Google, công bố bài báo có tên "Attention Is All You Need" giới thiệu kiến trúc transformer. Ý tưởng chính là bỏ hẳn việc đọc tuần tự, và dựa hoàn toàn vào một cơ chế gọi là chú ý. Bài báo ban đầu áp dụng cho dịch máy, nhưng kiến trúc này nhanh chóng được dùng cho gần như mọi bài toán ngôn ngữ, rồi lan sang ảnh và âm thanh.
Cơ chế chú ý: mỗi chữ tự đi hỏi những chữ khác
Hãy lấy câu: "Con mèo không nhảy qua bức tường vì nó quá cao." Chữ "nó" chỉ con mèo hay bức tường? Người đọc biết ngay là bức tường, vì "cao" hợp với tường. Đổi thành "vì nó quá mệt" thì "nó" lại là con mèo. Để hiểu đúng chữ "nó", cần nhìn sang những chữ khác trong câu, và biết nên nhìn vào chữ nào.
Cơ chế chú ý làm đúng việc đó. Với mỗi chữ, mô hình để chữ đó "đặt câu hỏi" cho tất cả các chữ còn lại: ai trong số các bạn liên quan tới mình? Mỗi chữ khác "trả lời" bằng một mức độ phù hợp. Chữ "nó" sẽ nhận câu trả lời mạnh từ "bức tường" và "cao", yếu từ "không" hay "qua". Sau đó, chữ "nó" gom thông tin từ các chữ khác theo đúng mức độ phù hợp đó, và hiểu biết của mô hình về "nó" được làm giàu bằng thông tin về bức tường.
Hình ảnh gần gũi là một cuộc họp nhóm. Mỗi người khi phát biểu sẽ liếc nhìn những người liên quan nhất tới điều mình đang nói, lắng nghe họ nhiều hơn, bỏ qua những ý không dính dáng. Điểm khác biệt quan trọng: trong transformer, mọi chữ làm việc này cùng một lúc, không ai phải chờ ai, và khoảng cách không thành vấn đề. Chữ đầu câu và chữ cuối câu có thể "nhìn" nhau trực tiếp, không cần chuyền qua những chữ ở giữa.
Mức độ phù hợp giữa các chữ không do người viết quy tắc. Nó được học trong quá trình huấn luyện, khi mô hình liên tục điều chỉnh để đoán chữ tiếp theo cho đúng. Những quan hệ như đại từ với danh từ, động từ với chủ ngữ, tính từ với danh từ nó bổ nghĩa hình thành dần vì chúng giúp đoán đúng hơn.
Nhiều góc nhìn và nhiều tầng
Nhiều "đầu" chú ý cùng lúc. Một câu có nhiều kiểu quan hệ đan xen: quan hệ ngữ pháp, quan hệ nghĩa, quan hệ thời gian, quan hệ ai làm gì với ai. Thay vì một cơ chế chú ý duy nhất, transformer chạy song song nhiều cơ chế, mỗi cái có thể học để nhìn câu theo một góc khác. Giống như một bản thảo được đưa cho nhiều người đọc cùng lúc: người soát ngữ pháp, người soát logic, người soát tên riêng.
Nhiều tầng chồng lên nhau. Sau một vòng chú ý và một bước xử lý tiếp theo, mỗi chữ đã mang thêm thông tin từ ngữ cảnh. Kết quả đó lại được đưa vào tầng kế tiếp để chú ý thêm một vòng nữa. Mô hình lớn có hàng chục tới hàng trăm tầng như vậy. Các nghiên cứu về cách mô hình hoạt động bên trong gợi ý rằng tầng thấp hay nắm những thứ gần bề mặt chữ, tầng cao hơn nắm những quan hệ trừu tượng hơn, dù bức tranh thật phức tạp hơn và vẫn đang được tìm hiểu.
Thông tin vị trí được gắn thêm. Vì xét mọi chữ cùng lúc, transformer không tự biết chữ nào đứng trước chữ nào. "Chó cắn người" và "người cắn chó" sẽ giống nhau nếu không có thêm thông tin vị trí. Vì vậy mỗi chữ được gắn thêm một dấu hiệu cho biết nó đứng ở đâu trong câu.
Khi sinh chữ, chỉ được nhìn về phía trước. Trong các mô hình viết văn bản như chatbot, mỗi chữ chỉ được chú ý tới những chữ đứng trước nó, không được nhìn trộm chữ sau. Điều này khớp với việc mô hình viết từng chữ một từ trái sang phải.
Vì sao transformer giúp AI lớn nhanh như vậy
Transformer không phải lý do duy nhất khiến AI tiến nhanh trong những năm gần đây, nhưng nó là mảnh ghép quan trọng. Bảng dưới đặt các yếu tố cạnh nhau.
| Yếu tố | Transformer góp phần thế nào | Những thứ khác cũng cần |
|---|---|---|
| Tốc độ huấn luyện | Xử lý mọi chữ song song, tận dụng tốt bộ xử lý đồ hoạ | Phần cứng chuyên dụng ngày càng mạnh |
| Hiểu ngữ cảnh xa | Chữ ở xa nhìn nhau trực tiếp qua cơ chế chú ý | Dữ liệu huấn luyện có văn bản dài |
| Lớn lên theo quy mô | Kiến trúc đơn giản, đồng nhất, dễ nhân bản thêm tầng và tham số | Đầu tư lớn về máy móc, điện năng, con người |
| Dùng chung cho nhiều loại dữ liệu | Ảnh, âm thanh cũng chia thành mảnh và xử lý cùng kiến trúc | Cách chia mảnh phù hợp cho từng loại dữ liệu |
| Học không cần nhãn | Đoán chữ tiếp theo trên văn bản thô, không cần người gắn nhãn | Kho văn bản khổng lồ trên mạng |
Khi các nhóm nghiên cứu nhận ra rằng tăng kích thước mô hình, dữ liệu và lượng tính toán theo những tỉ lệ hợp lý thì chất lượng tăng khá đều đặn, transformer trở thành nền móng để đầu tư mở rộng. Những mô hình ngôn ngữ lớn nổi tiếng từ khoảng năm 2018 trở đi phần lớn đều là transformer với những điều chỉnh khác nhau.
Những giới hạn đến từ chính kiến trúc
Transformer mạnh nhưng không hoàn hảo. Một số giới hạn mà người dùng gặp hằng ngày có gốc từ đây:
- Chi phí tăng nhanh theo độ dài văn bản: ở dạng cơ bản, mỗi chữ chú ý tới mọi chữ khác, nên văn bản dài gấp đôi thì khối lượng tính toán chú ý có thể tăng gấp bốn. Đây là lý do cửa sổ ngữ cảnh có giới hạn, được giải thích ở bài riêng trong chuyên mục.
- Không có trí nhớ ngoài đoạn văn đang xét: mọi thứ mô hình "thấy" phải nằm trong đoạn đầu vào. Muốn nhớ qua các cuộc trò chuyện, ứng dụng phải tự lưu và đưa lại.
- Làm việc trên mảnh chữ chứ không trên chữ cái: đếm ký tự, đánh vần, tính toán nhiều chữ số dễ trượt.
- Không tự kiểm chứng với thế giới thật: cơ chế chú ý giúp hiểu quan hệ trong văn bản, không giúp biết văn bản đó có đúng sự thật hay không.
- Khó giải thích bên trong: với hàng tỉ tham số và nhiều tầng chú ý, việc chỉ ra chính xác vì sao mô hình trả lời như vậy vẫn là lĩnh vực nghiên cứu đang phát triển.
Nhiều nhóm đang thử những kiến trúc khác hoặc lai, nhằm giảm chi phí với văn bản dài. Một số đã cho kết quả đáng chú ý, nhưng tới nay transformer và các biến thể của nó vẫn là lựa chọn chủ đạo. Đọc tin về "kiến trúc thay thế transformer", hãy xem nó đã được thử ở quy mô lớn chưa trước khi tin rằng một bước ngoặt đã tới.
Transformer có phải là bộ não không
Tên gọi mạng nơ-ron và những hình minh hoạ não bộ phát sáng dễ khiến người ta nghĩ transformer bắt chước não người. Thực tế, mạng nơ-ron nhân tạo chỉ lấy cảm hứng rất lỏng lẻo từ tế bào thần kinh, và transformer càng xa hơn: cơ chế chú ý là một phép tính được thiết kế vì nó hiệu quả trên máy tính, không phải mô phỏng một vùng não nào.
Điều đó không có nghĩa là không có điểm gặp gỡ thú vị. Một số nhà khoa học thần kinh dùng transformer làm công cụ so sánh để tìm hiểu cách não xử lý ngôn ngữ, và có những kết quả gợi mở. Nhưng câu hỏi transformer có "hiểu" theo nghĩa con người hay không vẫn là tranh luận mở, và chuyên mục hỏi đáp của trang bàn riêng chuyện này.
Với người không chuyên, cách nhìn hữu ích nhất có lẽ là: transformer là một cỗ máy rất giỏi tìm và kết hợp quan hệ giữa các mảnh thông tin trong một đoạn văn, được huấn luyện trên lượng văn bản khổng lồ để đoán chữ tiếp theo. Sức mạnh và giới hạn của chatbot ngày nay phần lớn đều có thể lần về hai vế đó: cách nó nhìn quan hệ giữa các chữ, và những gì nó đã đọc.
Câu hỏi thường gặp
Transformer trong AI có liên quan đến phim robot biến hình không?
Không. Chữ transformer ở đây chỉ kiến trúc mạng nơ-ron biến đổi dãy chữ đầu vào thành biểu diễn giàu ngữ cảnh. Trùng tên với loạt phim chỉ là ngẫu nhiên, và bài báo gốc không liên quan gì tới phim.
GPT có nghĩa là gì?
GPT là viết tắt tiếng Anh của mô hình transformer được huấn luyện trước để sinh văn bản. Tên gọi nói lên ba ý: sinh ra văn bản, được huấn luyện trước trên kho chữ lớn, và dùng kiến trúc transformer. Nhiều mô hình khác không mang tên GPT nhưng dùng cùng kiến trúc.
Cơ chế chú ý có giống sự chú ý của con người không?
Chỉ giống về ý tưởng chung là tập trung vào phần liên quan. Về bản chất, đó là một phép tính đo mức phù hợp giữa các mảnh chữ rồi gom thông tin theo mức đó. Nó không có ý thức hay sự tập trung theo nghĩa tâm lý học.
Vì sao transformer ra đời năm 2017 mà mãi sau này chatbot mới phổ biến?
Vì cần thêm nhiều năm để mở rộng quy mô mô hình, gom dữ liệu, hoàn thiện cách tinh chỉnh mô hình thành trợ lý biết trò chuyện, và làm sản phẩm dễ dùng cho đại chúng. Kiến trúc chỉ là một mảnh ghép.
Transformer chỉ dùng cho chữ thôi sao?
Không. Kiến trúc này đã được áp dụng cho ảnh, âm thanh, video và nhiều loại dữ liệu khác, bằng cách chia dữ liệu thành mảnh rồi xử lý tương tự chữ. Nhiều mô hình nhận dạng ảnh và tạo giọng nói hiện nay cũng dùng transformer.
Có kiến trúc nào sẽ thay thế transformer không?
Nhiều nhóm đang thử những kiến trúc khác để giảm chi phí với văn bản dài, và một số cho kết quả hứa hẹn. Nhưng chưa ai biết chắc kiến trúc nào sẽ thay thế, và các mô hình phổ biến hiện nay vẫn chủ yếu dựa trên transformer.