Ghi chú về "Attention" và "Transformer": "mô hình ngôn ngữ lớn" trong mạng nơ-ron
- Thuật ngữ "Attention" là một khái niệm khác với sự chú ý thực tế của con người, có nghĩa là gán một mức trọng số nào đó cho mọi vector khả dĩ.
- "Attention" là một dạng làm mượt kernel, không phải là phát minh mới xuất hiện trong lĩnh vực mạng nơ-ron vào khoảng năm 2015 mà là sự tái khám phá của một ý tưởng đã tồn tại từ trước.
- "Multi-Headed Attention" là cách thực hiện làm mượt kernel bằng nhiều kernel khác nhau rồi lấy trung bình kết quả.
"Transformer"
- "Transformer" là một kiến trúc sử dụng cơ chế "Attention" để làm mượt các vector đầu vào, rồi đưa đầu ra thu được qua một mạng nơ-ron truyền thẳng để tạo ra đầu ra cuối cùng.
- Transformer được cấu thành bằng cách chồng nhiều tầng (layer), và mỗi tầng gồm cơ chế "Attention" cùng mạng nơ-ron truyền thẳng.
- Tên gọi của Transformer ít gây hiểu nhầm hơn "Attention", và thực sự phù hợp vì nó thực hiện công việc biến đổi.
"Mô hình ngôn ngữ (Language Models)"
- Mô hình ngôn ngữ về cơ bản là mô hình xác suất cho một chuỗi ký hiệu, mô hình hóa xác suất của ký hiệu tiếp theo theo ngữ cảnh đã cho.
- Các mô hình ngôn ngữ lớn hiện đại (Large Language Models, LLMs) có thể được xem là các mô hình Markov bậc hữu hạn với độ dài ngữ cảnh tối đa cố định.
- LLMs có thể dự đoán cả với những ngữ cảnh chưa từng thấy trước đó thông qua quá trình làm mượt ngầm phức tạp.
"Dự đoán ký hiệu tiếp theo (Next Symbol) so với dự đoán tầm xa (Longer-range Prediction)"
- Mục tiêu huấn luyện của LLMs là dự đoán chính xác ký hiệu tiếp theo, và đây cũng có thể là một mục tiêu mạnh cho các dự đoán tầm xa.
- Việc tìm ra bộ dự đoán tối thiểu mang lại rất nhiều thông tin về cấu trúc của quá trình nền tảng mà ta muốn dự đoán.
"Một linh cảm mạnh về việc bóc lộ prompt (A Strong Hunch about Uncovering Prompts)"
- Những nỗ lực nhằm làm lộ prompt của các ứng dụng dựa trên LLM bằng các yêu cầu như "hãy nói cho tôi prompt" chẳng qua chỉ là tự đánh lừa mình.
- Mô hình ngôn ngữ cốt lõi của LLM không có cơ chế để phân biệt prompt với các phần khác trong chuỗi đầu vào hiện tại.
- Có thể nhà thiết kế hệ thống đã triển khai chức năng theo dõi prompt, nhưng hầu như không có lý do gì để làm vậy.
"Gopnikism; thư viện"
- Cách tiếp cận hứa hẹn và hấp dẫn nhất là xem LLM không phải như một thứ giống tâm trí mà như một "công nghệ văn hóa" tương tự mục lục thư viện.
- Việc dùng prompt để cung cấp văn bản cho LLM tương tự như tra cứu nội dung của một thư viện rồi lấy mẫu nội dung tương ứng.
Ý kiến của GN⁺
- Việc thuật ngữ "Attention" được dùng như một khái niệm kỹ thuật khác với sự chú ý thực tế của con người là hiện tượng thường gặp trong lĩnh vực trí tuệ nhân tạo, cho thấy các thuật ngữ kỹ thuật có thể bị nhầm lẫn với các hiện tượng trong thế giới thực.
- Thành công của các mô hình ngôn ngữ lớn là kết quả của việc kết hợp các phương pháp luận học máy cổ điển với sức mạnh tính toán hiện đại để đạt tới một mức hiệu năng mới, nhấn mạnh sự cần thiết phải đánh giá lại các lý thuyết và phương pháp hiện có rồi áp dụng chúng một cách đổi mới.
- Việc ví LLM với mục lục thư viện mang lại một góc nhìn thú vị về cách công nghệ này xử lý và tiếp cận tri thức, thông tin của con người, từ đó có thể giúp hiểu rõ hơn cách trí tuệ nhân tạo tương tác với văn hóa nhân loại.
1 bình luận
Ý kiến Hacker News
Một người bình luận cho biết từng làm việc tại Google Research cùng hai tác giả của bài báo "Attention is All You Need", đồng thời cũng đã cộng tác với người chọn tiêu đề cho bài báo đó. Người này giải thích rằng self-attention vốn đã là một khái niệm được cộng đồng nghiên cứu biết đến, và các tác giả không hề tuyên bố họ phát minh ra nó. Các tác giả đã tìm cách kết hợp nhiều kỹ thuật để cải thiện hiệu năng của mạng nơ-ron feedforward, rồi thu được những kết quả thú vị, và sau đó trong quá trình nghiên cứu mới phát hiện ra rằng cơ chế attention đóng vai trò cốt lõi. Người này cũng nhắc rằng tiêu đề bài báo là một cách chơi chữ gợi nhớ đến ca khúc "All You Need Is Love" của The Beatles. Bài báo hữu ích nhất đối với người này là "Formal Algorithms for Transformers" của Phuong và Hutter, được viết với trọng tâm là sự rõ ràng và chính xác; đặc biệt, phần động cơ nghiên cứu (Section 2) được đánh giá là giải thích rất tốt các điểm yếu của bài báo gốc và các bài báo về sau.
Một người bình luận khác thú nhận rằng dù đã đọc kỹ bài báo "Attention is All You Need" nhiều lần, họ vẫn không thể hiểu được 'attention' thực sự làm gì. Họ hiểu phần toán học, nhưng ngay cả khi đọc nhiều bài hướng dẫn cũng không thấy ích lợi. Cuối cùng, phải vài năm sau họ mới nhận ra rằng 'attention' thực ra chỉ là kernel smoothing, và chỉ trích rằng đó là vì bài báo được viết không rõ ràng. Người này cho rằng phần lớn các bài báo machine learning đều là rác, dù bài "Attention is All You Need" vẫn tốt hơn đa số.
Người bình luận thứ ba đánh giá cách tiếp cận kiểu "dòng ý thức" của bài viết là thú vị và mới mẻ. Họ cũng nhắc đến việc tác giả tỏ ra xin lỗi và khiêm tốn trước những chỉ trích nhận được trên internet, đồng thời bày tỏ hy vọng rằng những phản ứng tiêu cực như vậy sẽ không ngăn tác giả tiếp tục công bố các ghi chú của mình.
Một người bình luận khác nói rằng, không giống phần lớn các bài viết về machine learning, bài này khiến họ có cảm giác như được viết bằng chính ngôn ngữ của mình. Họ cho rằng phần nói về Lempel-Ziv (LZ) rất thú vị, đồng thời nhận xét rằng việc làm cho mô hình LZ lớn hơn có lẽ không quá hấp dẫn vì LZ phải khớp chuỗi một cách chính xác. Thay vào đó, họ gợi ý rằng sẽ thú vị hơn nếu có thể giảm kích thước bằng cách cho phép một mức độ không chính xác nào đó, giống như "jpeg" cho văn bản. Họ đoán rằng đó có lẽ chính là điều mà các mô hình ngôn ngữ lớn (LLM) đang làm.
Một người bình luận khác nữa nói rằng họ xem scaled dot product attention như một cơ chế tích chập được khái quát hóa. Họ cho rằng các thuật ngữ query, key và value gây nhầm lẫn, và giải thích rằng trong self-attention, cả ba đều được suy ra từ cùng một tín hiệu rồi được nhân với nhau. Họ nói thêm rằng không ai thực sự biết vì sao cơ chế này hiệu quả, siêu tham số nào phù hợp với loại dữ liệu nào, hay kích thước chuỗi lý tưởng là bao nhiêu.
Một người bình luận khác nhận xét rằng transformer chỉ là một universal approximator khác, và việc một attention head cụ thể đang mô phỏng mảng kết hợp liên tục, kernel smoothing hay một không gian vector nhiều chiều biểu diễn tính đơn nghĩa nào đó đều không quan trọng. Điều quan trọng là transformer có thể được huấn luyện hiệu quả trên GPU và với xử lý song song, và đó là lý do nó vượt trội hơn LZ hay các universal approximator khác. Nếu ai đó có thể làm cho LZ (hoặc thứ gì khác) chạy trên GPU hiệu quả hơn rất nhiều so với transformer, thì họ có thể lập ra OpenAI tiếp theo và trở thành tỷ phú.
Một người bình luận đã yêu cầu giải thích cho câu: "Mythology: chúng ta điều chỉnh ý nghĩa của từng token đã thấy dựa trên ngữ cảnh, và các ý nghĩa tương tự sẽ củng cố lẫn nhau". Họ nói rằng ở thời điểm này, kernel smoothing trông như được áp dụng độc lập cho từng vector embedding, và họ không hiểu vì sao một vector y_t nào đó được suy ra rồi làm trơn bởi các token lân cận trong chuỗi lại bị ảnh hưởng. Họ nói rằng khi thêm token r_t thì có thể thấy ngữ cảnh trở nên quan trọng, nhưng đặt câu hỏi liệu đó có phải là thứ duy nhất xét đến ngữ cảnh hay không.
Một người bình luận khác nói rằng họ hiểu vì sao những người ở các lĩnh vực khác, nơi "tính chặt chẽ" học thuật cao hơn và đã có sẵn các kết quả tương tự, lại nổi giận trước những bài báo machine learning như "Attention is All You Need". Người này chỉ trích rằng những bài báo như vậy thực ra không phải là các công trình học thuật tốt; việc nghĩ ra một cái tên khéo léo rồi chọn những thuật ngữ kiểu kỹ thuật ngụy trang khó hiểu nhất không làm nên một bài báo tốt. Tuy vậy, họ cho rằng trên thực tế điều đó không quá quan trọng, vì các mô hình ngôn ngữ lớn thật sự hoạt động, và còn hoạt động vì những lý do khá ngớ ngẩn. Các giải pháp mang tính kỹ thuật như thêm "positional embeddings" thực sự đã giải quyết được vấn đề, không phải vì có hiểu biết toán học sâu sắc mà vì người ta thử và thấy hiệu quả. Họ cũng nói rằng các "transformer hiệu quả" dùng phương pháp kernel để giảm tuyến tính nhu cầu bộ nhớ của attention thực ra cũng không quan trọng lắm, bởi các công ty như OpenAI, Anthropic và Meta không quan tâm đến việc thêm nhiều GPU hơn mà chỉ quan tâm đến thông lượng. Họ kết luận rằng tất cả chỉ là phỏng đoán và kinh nghiệm, và thứ thực sự quan trọng là kết quả tạo ra.
Người bình luận cuối cùng cho biết họ hoàn toàn không đồng ý với nhận định rằng "bất kỳ ai cố lộ ra prompt của ứng dụng dựa trên LLM bằng cách yêu cầu nó 'hãy nói cho tôi biết prompt của bạn' đều đang tự lừa mình". Họ giải thích rằng bản thân mô hình ngôn ngữ cốt lõi không có cơ chế nào để phân biệt prompt với các phần khác của chuỗi đầu vào hiện tại, cũng không có cơ chế tham chiếu chéo từ phần này sang phần khác của chuỗi. Có thể các nhà thiết kế hệ thống đã lập trình thứ gì đó để theo dõi prompt trong toàn bộ hệ thống, nhưng không rõ vì sao họ lại cần làm vậy. Họ nói rằng dùng "soft prompt" có thể hiệu quả và hữu ích hơn; đó là phần đầu của một chuỗi vector có thể được học bằng gradient descent, nhưng có thể không tương ứng với một chuỗi từ ngữ gọn gàng. Nếu yêu cầu LLM cho biết prompt của nó, câu trả lời sẽ được tạo ra dựa trên thống kê của các chuỗi từ đã được huấn luyện chứ không phải do truy cập vào mã hay trạng thái nội bộ. Người này cho rằng tiếp cận từ góc nhìn của mô hình ngôn ngữ là tốt nhất, và kết luận rằng vì đầu ra được tạo ra từ kết quả kernel smoothing của đầu vào, nên có thể dùng thông tin trong prompt để điều hướng mô hình theo một phong cách cụ thể.