- Các nhà nghiên cứu từ MIT và nhiều đơn vị khác xác nhận rằng mô hình ngôn ngữ lớn (LLM), nền tảng của các chatbot AI như ChatGPT, thường dùng một hàm tuyến tính đơn giản để lấy ra một số sự thật đã được lưu trữ
- Hàm này thay đổi theo từng loại sự thật, như “nhạc cụ một người chơi” hay “bang nơi một người sinh ra”, và cùng một hàm giải mã được áp dụng cho các sự thật có loại tương tự
- Sau khi ước lượng các hàm cho 47 quan hệ rồi kiểm thử bằng cách thay chủ thể, nhóm nghiên cứu thu hồi đúng thông tin đối tượng trong hơn 60% trường hợp ở các quan hệ như “thủ đô của một quốc gia”
- Ngay cả khi mô hình đưa ra đáp án sai, trong nhiều trường hợp đáp án đúng vẫn còn bên trong, và điều này dẫn tới attribute lens để quan sát thông tin cụ thể được lưu ở lớp nào của transformer
- Không phải mọi tri thức đều được lưu theo dạng tuyến tính, nên việc tìm hiểu các sự thật không thể truy ra bằng hàm tuyến tính và kiểm chứng độ chính xác trên các mô hình lớn hơn vẫn là nhiệm vụ cho nghiên cứu tiếp theo
Cách truy xuất tri thức đơn giản được phát hiện bên trong LLM
- Các nhà nghiên cứu từ MIT và nhiều tổ chức khác thu được kết quả cho thấy mô hình ngôn ngữ transformer phức tạp thường dùng các hàm tuyến tính đơn giản để truy hồi những sự thật đã lưu trữ
- Hàm tuyến tính là một dạng đơn giản biểu diễn mối quan hệ thẳng giữa hai biến
- Ngay cả bên trong LLM, nơi thực hiện các phép tính phi tuyến phức tạp, một phần việc truy xuất tri thức vẫn vận hành bằng cơ chế đơn giản như vậy
- Bài báo liên quan là “Linearity of Relation Decoding in Transformer Language Models”, và nghiên cứu sẽ được trình bày tại International Conference on Learning Representations
Sự thật được xử lý như quan hệ giữa chủ thể và đối tượng
- Nhiều tri thức được lưu trong transformer có thể được biểu diễn dưới dạng quan hệ nối giữa chủ thể và đối tượng
- “Miles Davis plays the trumpet” là một quan hệ nối chủ thể Miles Davis với đối tượng trumpet
- Với prompt “Miles Davis plays the...”, mô hình phải trả lời trumpet chứ không phải Illinois, bang nơi Miles Davis sinh ra
- Khi mô hình thu được nhiều tri thức hơn về một chủ đề nào đó, nhiều sự thật liên quan đến chủ đề đó sẽ được lưu qua nhiều lớp
- Khi có truy vấn, mô hình phải giải mã sự thật liên quan nhất để tạo phản hồi
Hàm giải mã tuyến tính thay đổi theo từng loại quan hệ
- Qua các thí nghiệm khảo sát LLM, nhóm nghiên cứu xác nhận rằng trong một số trường hợp mô hình giải mã thông tin quan hệ bằng một hàm tuyến tính đơn giản
- Hàm này cũng thay đổi tùy theo loại sự thật cần truy xuất
- Hàm dùng để xuất ra nhạc cụ một người chơi khác với hàm dùng để xuất ra bang nơi một người sinh ra
- Nhóm nghiên cứu đã xây dựng phương pháp ước lượng các hàm như vậy và tính toán hàm cho 47 quan hệ như “thủ đô của một quốc gia”, “ca sĩ chính của một ban nhạc”
- Vì số lượng quan hệ có thể có là vô hạn, thí nghiệm dùng một tập con đại diện cho các loại sự thật có thể xử lý theo cách này
Hơn 60% truy hồi thành công và giới hạn của lưu trữ tuyến tính
- Mỗi hàm được kiểm tra xem có thể truy hồi đúng thông tin đối tượng khi thay đổi chủ thể hay không
- Hàm “thủ đô của một quốc gia” phải truy hồi Oslo khi chủ thể là Norway và London khi chủ thể là England
- Trong hơn 60% trường hợp, các hàm truy hồi được thông tin chính xác
- Một phần thông tin bên trong transformer có thể được mã hóa và truy hồi theo cách này
- Tuy nhiên, không phải mọi thông tin đều được mã hóa tuyến tính
- Có những sự thật mà mô hình biết và vẫn dự đoán văn bản phù hợp với sự thật đó, nhưng nhóm nghiên cứu không tìm được hàm tuyến tính
- Trong những trường hợp như vậy, mô hình đang dùng cách phức tạp hơn để lưu trữ thông tin đó
Attribute lens để quan sát mô hình biết gì
- Các hàm đã được ước lượng có thể dùng để kiểm tra mô hình xem điều gì là đúng về một chủ đề cụ thể
- Một thí nghiệm bắt đầu từ prompt “Bill Bradley was a” rồi áp dụng các hàm giải mã tương ứng với “chơi thể thao” và “đã học đại học”
- Đây là cách kiểm tra xem mô hình có biết rằng thượng nghị sĩ Bill Bradley từng là cầu thủ bóng rổ và học ở Princeton hay không
- Cách làm này cho thấy ngay cả khi mô hình đang tập trung vào thông tin khác trong quá trình sinh văn bản, bên trong nó vẫn có thể có nhiều thông tin liên quan được mã hóa
- Từ đó, một lưới gọi là attribute lens đã được tạo ra
- Attribute lens trực quan hóa thông tin về một quan hệ cụ thể được lưu ở đâu trong nhiều lớp của transformer
- Nó có thể được tạo tự động và dùng như một phương pháp đơn giản hóa để hiểu mô hình
Khả năng sửa đáp án sai và các câu hỏi nghiên cứu còn lại
- Ngay cả khi mô hình trả lời sai trước một prompt, trong nhiều trường hợp nó vẫn lưu thông tin đúng bên trong
- Cách tiếp cận này có thể được dùng để tìm và sửa thông tin sai lệch bên trong mô hình, từ đó có thể góp phần giảm xu hướng chatbot AI đưa ra câu trả lời thiếu chính xác hoặc vô nghĩa
- Nghiên cứu trong tương lai sẽ tập trung vào việc hiểu rõ hơn điều gì xảy ra với những sự thật không được lưu theo dạng tuyến tính
- Nhóm nghiên cứu cũng dự định thử nghiệm trên các mô hình lớn hơn và nghiên cứu độ chính xác của các hàm giải mã tuyến tính
- Mor Geva Pipek của Tel Aviv University đánh giá rằng nghiên cứu này đã hé lộ một mảnh ghép còn thiếu trong việc hiểu cách LLM hồi tưởng tri thức sự thật khi suy luận, đồng thời cho thấy các phép tính phi tuyến phức tạp để trích xuất thuộc tính có thể được xấp xỉ tốt bằng các hàm tuyến tính đơn giản
1 bình luận
Ý kiến trên Hacker News
Công trình rất ấn tượng, nhưng theo tôi nó cũng cho thấy vấn đề lớn của làn sóng AI hiện nay. Thực tế, lĩnh vực này vẫn không thoát ra khỏi những nơ-ron hay tập quy tắc vốn chẳng khác mấy perceptron với hàm cộng đơn giản
Chỉ vì pha lan truyền thuận ở mức nơ-ron đơn lẻ là dễ nhất cho việc huấn luyện và chạy trên GPU, không có nghĩa đó thực sự là cách tốt nhất để giải quyết bài toán
Cũng có rất nhiều phương pháp huấn luyện và cách mã hóa độc đáo không được dùng chỉ vì các thư viện lớn không hỗ trợ, và cho đến khi có thay đổi thật sự ở tập quy tắc nền tảng của mạng nơ-ron, có lẽ chúng ta vẫn sẽ tiếp tục vật lộn với “perceptron có thêm nhiều tầng”
Một khía cạnh của NP-đầy đủ, theo cách tôi hiểu, là mọi thuật toán trong lớp độ phức tạp đó rốt cuộc đều có thể quy về kiểu ‘hàm cộng’ như vậy
Ngay cả khi GPT cần nhiều nơ-ron gấp 10 lần để đạt cùng hiệu năng, nếu chi phí mua tính toán và bộ nhớ cho số nơ-ron đó rẻ hơn, thì GPT vẫn là phương tiện tốt hơn để đạt mục tiêu
Nếu bạn tìm được một cấu trúc đơn giản hơn và có thể học được thì có thể bạn đã nắm được điều gì đó. Những nỗ lực làm mọi thứ phức tạp hơn đã được thử rồi và đều biến mất
Tôi tự hỏi câu “sự thật được lưu trữ dưới dạng hàm tuyến tính” có nghĩa là bên trong LLM tồn tại một kiểu không gian sự thật N chiều được mã hóa theo cách nào đó, và các sự thật được cắm vào đó như các điểm, siêu cầu, hay đa tạp Voronoi hay không
Nếu vậy thì việc gợi lại một sự thật, xét trừu tượng, có phải là mạng nơ-ron tính toán hoặc ghi nhớ một khóa để rồi thực hiện truy vấn khóa-giá trị trong không gian đó không?
Nếu đúng thế thì tôi cũng muốn biết người ta đưa kho khóa-giá trị vào trong mô hình đồ thị lan truyền theo cạnh như thế nào, và liệu hiện nay đã có kỹ thuật nổi tiếng nào để con người chủ động thiết kế như vậy chưa
Ngoài ra, liệu kỹ thuật “cung điện ký ức” có thể được xem là một ví dụ cho việc não người đặt sự thật vào các hàm tuyến tính để truy xuất dễ hơn không?
Bạn lấy tích vô hướng giữa truy vấn và các khóa, rồi dùng softmax để chọn ra chủ yếu một khóa thắng cuộc, tức khóa gần truy vấn nhất, sau đó dùng giá trị tương ứng
Điểm khác là nó mềm hơn một chút nên có thể khớp nhiều khóa, và có thể tối ưu bằng các phương pháp kiểu gradient descent để tìm được ánh xạ QKV phù hợp
Tôi chỉ lướt qua bài báo, nhưng điểm chính có vẻ là tồn tại những hàm tương đối đơn giản ẩn bên trong, hoặc có thể trích xuất ra từ, mạng lớn hơn, và chúng xử lý các loại quan hệ cụ thể giữa các khái niệm
Nếu có thể tách riêng những hàm đó thì về lý thuyết ta có thể tối ưu trực tiếp hơn, và điều này có thể dẫn đến tiến bộ trong cách huấn luyện các mô hình kiểu này
Rốt cuộc, một trong những phê phán xác đáng với AI “hiện đại” là cảm giác chúng ta chỉ đang khuấy một nồi súp đại số tuyến tính; nhưng nếu cho phép một mức độ mô-đun hóa hay quy giản nào đó, ta có thể tiến gần hơn đến cách tiếp cận dựa trên thành phần thay vì chỉ xem nó như một hộp đen đơn giản
Muốn vậy, não phải rất giỏi ghi nhớ vị trí, lập kế hoạch đường đi trong và ngoài không gian đó, rồi chuyển điều đó thành lời nói hay hành động
Thật sự rất thú vị. Tôi lập tức nghĩ đến việc tri thức lập trình được mã hóa thành dạng hàm nào, và nếu đó cũng chỉ là những hàm tuyến tính đơn giản, liệu có thể tải thẳng thư viện chuẩn hay các thư viện khác vào bộ não của LLM mà không cần huấn luyện tốn kém hay fine-tuning làm giảm hiệu năng không
Hiện giờ vẫn còn như khoa học viễn tưởng, nhưng có vẻ chúng ta đang ngày càng tiến gần hơn
Chắc ở đâu đó đã có người đọc điều này và nghĩ cách xuất Excel hay cơ sở dữ liệu vào LLM
Việc đã có nghiên cứu nhìn được vào bên trong hộp đen một cách thành công là điều đáng khích lệ
Một kết quả lớn khác trong lĩnh vực này là bài báo tìm ra biểu diễn của bàn cờ bên trong một LLM được huấn luyện để chơi game. Tôi cũng tò mò liệu còn kết quả tốt nào khác theo hướng này không
Như các tác giả chỉ ra, LLM không chỉ mã hóa thông tin vị từ, và đó cũng chỉ là một phần trong số đó
Tôi tự hỏi liệu quan hệ này có còn giữ nguyên ngay cả ở các mô hình mới nhất được đổ vào nhiều tính toán hơn hay không
Trực giác của tôi là chính cấu trúc nội tại của ngôn ngữ đã làm cho Word2Vec trở nên khả thi. Sau đó, khi huấn luyện trên hàng terabyte văn bản do con người viết được mã hóa bằng Word2Vec và positional encoding, mô hình dường như có thể dự đoán encoding tiếp theo với mức nhận thức siêu nhân ngay trong lúc huấn luyện
Tôi có cảm giác bag-of-words với vai trò là cơ chế vào/ra, cùng với cửa sổ ngữ cảnh bị giới hạn để positional encoding hoạt động, tạo ra một sự lệch pha rất lớn với cấu trúc nhận thức bên trong
Vì vậy, xét đến lượng tính toán lớn hơn rất nhiều đã được đổ vào GPT-4 và các mô hình tương tự, hoàn toàn có khả năng những dạng biểu diễn mới đã tiến hóa, và con người vẫn chưa phát hiện ra vì còn phải dò từng trọng số
Tôi nghĩ MemGPT rốt cuộc có thể trở thành AGI nhờ bộ nhớ dài hạn không giới hạn, nhưng hình thái có khả năng cao hơn có lẽ sẽ gần với nhân vật chính của Memento
[1] https://en.wikipedia.org/wiki/Memento_(film)
Điều này làm tôi nhớ đến ví dụ embedding nổi tiếng “King - Man + Woman = Queen”. Việc các thuộc tính ngữ nghĩa tồn tại trong embedding giải thích vì sao ngay cả các hàm tuyến tính đơn giản cũng có thể hoạt động tốt
Cảm giác khá giống với vector quan hệ của word2vec. Nếu cộng thêm một vector như “của X” thì thường sẽ ra đáp án đúng
Về nguyên lý thì vẫn vậy, và có thể transformer chỉ đơn giản là đã giỏi hơn nhiều trong việc ánh xạ thực thể vào không gian embedding
Nói cách khác, thay vì kiểu x = 0 là “bay”, x = 0.01 là “lái xe”, x = 0.02 là “màu tím”, tôi nghĩ nó gần với kiểu x < 1.5 là “lạnh”, x > 1.5 là “nóng” hơn
Đó cũng là một trong những lý do lượng tử hóa, kể cả lượng tử hóa 1 bit, thường vẫn hoạt động
Đồng thời đây cũng là lý do vì sao khi đưa văn bản hay hình ảnh vào các mô hình kiểu BERT hoặc CLIP rồi áp dụng các mô hình machine learning cổ điển vốn thường dùng ranh giới quyết định tuyến tính, ta vẫn thu được kết quả tốt
LLM trông giống như một cơ chế nén tốt
Thật đáng kinh ngạc khi có thể để một bản sao llama trên PC cục bộ mà về cơ bản vẫn tiếp cận được gần như toàn bộ internet
Theo bản dump mới nhất, Common Crawl có 4,3 tỷ trang, nhưng Google từng ước tính vào năm 2016 rằng web có 130 nghìn tỷ trang
Chênh lệch giữa 130 nghìn tỷ và 4,3 tỷ gần như vẫn là 130 nghìn tỷ. Ngay cả nếu thu hẹp xuống chỉ còn chỉ mục văn bản có thể tìm kiếm của Google thì vẫn là “hàng trăm tỷ trang”, khoảng 100PB, so với 400TB của Common Crawl
Khả năng học PAC, VC dimension hữu hạn, và dạng nén sau đây là hoàn toàn tương đương
https://arxiv.org/abs/1610.03592
Về cơ bản, từng nơ-ron hay perceptron riêng lẻ chỉ làm việc chia không gian thành hai không gian con
Tôi không hiểu làm sao một tệp CSV/cơ sở dữ liệu/mô hình có 70 tỷ “tham số” với trọng số 4 bit lại có thể trở thành một LLM/GPT hội thoại gần như thông thái về mọi chủ đề
Tìm hiểu thì có phải 4 bit chỉ là một cách nén, và rốt cuộc mô hình vẫn nhìn thấy f32?
Lượng tử hóa được mô tả là quá trình ánh xạ các số thực dấu phẩy động 32 bit — tức trọng số của mạng nơ-ron — sang biểu diễn ít bit hơn nhiều, như giá trị 4 bit, để tiết kiệm lưu trữ và bộ nhớ
Giải lượng tử hóa xảy ra khi mô hình được sử dụng, tức trong suy luận hoặc đôi khi cả lúc huấn luyện, khi các trọng số lượng tử hóa 4 bit được chuyển ngược thành các số dấu phẩy động dùng cho tính toán thực tế
Vậy tôi tự hỏi mối quan hệ giữa “tham số” và “số lượng token riêng biệt mà mô hình biết”, tức kích thước từ vựng, là gì
Bề ngoài thì có vẻ LLaMA chỉ có kích thước từ vựng 32.000 và 65 tỷ tham số khi so với GPT-3
65 tỷ tham số của một mô hình như LLaMA được cho là hoạt động như một hệ thống ánh xạ cực kỳ phức tạp, quyết định cách phản hồi đầu vào dựa trên các quan hệ đã học giữa các token trong dữ liệu huấn luyện
Nói dài hơn một chút thì ngay cả một bản dump văn bản Wikipedia đã nén cũng chưa đến 70GB, và đây là dạng nén mất dữ liệu của internet
Nếu embedding token của mô hình đó có độ dài 1024, thì ngay cả với lượng tử hóa 1 bit, mỗi token vẫn có 2^1024 giá trị khả dĩ
Nếu độ dài ngữ cảnh là 32.000 token, thì số đầu vào khả dĩ là 32,000^2^1024
Có thể nói một cách khái quát rằng ở chế độ học, LLM tự động tạo ra vô số quy tắc IF-THEN từ lượng thông tin khổng lồ mà trước đây là bất khả thi không?
Bài báo này rất hay, và tôi cũng thích việc họ đã chạy thí nghiệm để kiểm chứng những ý tưởng này. Chỉ là tôi không chắc bản thân ý tưởng đó mới đến mức nào
Nếu LLM tự nhiên học được những xu hướng thống kê đơn giản giữa các từ, thì chẳng phải các kết quả như vậy là điều có thể dự đoán được sao?
Ngược lại, điều thú vị hơn nhiều là nó cho thấy rõ rằng không phải mọi hành vi của LLM đều có thể được giải thích đơn giản theo cách này