Đột phá về bộ nhớ của GPT-4o – cây kim trong đống kim
(nian.llmonpy.ai)- needle-in-a-needlestack là một trang công khai tập hợp các bài viết thử nghiệm và mã liên quan đến GPT-4o, Llama, Jamba, Sonnet và Gemini ở một nơi
- Dự án có kèm kho mã nguồn, cho phép bạn trực tiếp xem các tài liệu thử nghiệm Needle in a Needlestack
- Các bài viết theo từng mô hình so sánh kết quả của Llama 3.1 8B, Jamba 1.5, v.v., tập trung vào khác biệt về xử lý ngữ cảnh dài và khả năng mở rộng
- GPT-4o-mini được giới thiệu như một trường hợp có hiệu năng tương tự GPT-4 Turbo nhưng giá thấp hơn 98,5%; Sonnet 3.5 được giới thiệu là tốt hơn Sonnet 3.0 trong NIAN
- Bản thân trang này là mã nguồn mở, nên bạn có thể tham gia chỉnh sửa tài liệu qua liên kết “Improve this page” trên GitHub
Liên kết liên quan đến Needle in a Needlestack
- Needle in a Needlestack Code: Needle in a Needlestack kho mã nguồn
- GPT-4o’s Memory Breakthrough!: bài viết về đột phá bộ nhớ của GPT-4o
- GPT4o-mini comparable to GPT-4 Turbo, for 98.5% lower price: bài viết nói rằng GPT-4o-mini tương đương GPT-4 Turbo nhưng giá thấp hơn 98,5%
Bài viết so sánh theo mô hình
- Llama 3.1 8B: Excels in 8K Contexts, Challenged by Expansion: nội dung nói rằng Llama 3.1 8B mạnh trong ngữ cảnh 8K nhưng gặp khó khăn khi mở rộng
- Jamba 1.5: New model with new architecture crushes Needle-in-a-Needlestack: nội dung nói rằng Jamba 1.5 với kiến trúc mới vượt xa Needle-in-a-Needlestack
- Sonnet 3.5 Does Much Better at NIAN Than 3.0: nội dung nói rằng Sonnet 3.5 tốt hơn Sonnet 3.0 rất nhiều trong NIAN
- Gemini 1.5 Flash Outperforms Much More Expensive Models: nội dung nói rằng Gemini 1.5 Flash vượt trội hơn các mô hình đắt tiền hơn nhiều
Tài liệu mã nguồn mở
- Trang này là mã nguồn mở
- Có thể chỉnh sửa trang trên GitHub thông qua liên kết Improve this page
2 bình luận
Tiến bộ công nghệ thật sự quá khủng khiếp.. hu hu
Ý kiến trên Hacker News
Bài kiểm thử này dựa trên bộ dữ liệu limerick được công bố năm 2021: https://zenodo.org/records/5722527
Tôi cho rằng khả năng rất cao GPT-4o đã được huấn luyện trên dữ liệu này. Vì chẳng có lý do gì để cố tình không đưa vào. Tôi thắc mắc vì sao nhóm NIAN không tạo limerick bằng nhiều mô hình rồi kiểm tra xem kết quả đó có nằm trong bộ dữ liệu hay không. Làm vậy có thể loại trừ khả năng các mô hình đã được huấn luyện bằng chính những limerick đó
Tôi đã thử so sánh hai tài liệu pháp lý nhỏ, và nó hoàn toàn ảo giác rằng có một điều khoản xuất hiện ở bên này nhưng không có ở bên kia. Điều này xảy ra ở ba đoạn khác nhau trong hợp đồng
Kiểm tra bằng
ctrl-fthì thấy điều khoản đó có giống hệt ở cả hai bên. Chỉ là một mẫu thôi, nhưng con số 90% nghe không có vẻ hợp lý. Tổng cộng khoảng 80 nghìn tokenTôi không kỳ vọng câu trả lời đúng vì nghĩ đây là tác vụ khó với số lượng attention head cố định, nhưng nó có vẻ tệ hơn nhiều so với Claude Opus hoặc GPT-4
LLM làm tác vụ này tốt hơn nếu chia hai tài liệu thành các đoạn nhỏ hơn và xử lý lặp theo từng đoạn. Do không có năng lực suy luận hay trí nhớ, nó không thể phân tích có cấu trúc hai khối văn bản vượt quá các mẩu tương đối nhỏ. Thay vào đó, nếu duyệt dần qua các mẩu nhỏ độc lập về mặt ngữ nghĩa và có liên quan, thì nó hoạt động khá tốt
Sai lầm là coi chúng như những cỗ máy ma thuật. Chúng có giới hạn và năng lực; cũng như các công cụ khác, cần hiểu chúng làm được gì, không làm được gì, và tốt nhất là biết vì sao. Đây vẫn là một bước tiến khá mới với 99,9% lập trình viên, nên tôi không hiểu vì sao kỳ vọng lại gần như cao vô hạn. Với các công nghệ trước đây, tiêu chuẩn hợp lý hơn thường là “được rồi, hãy tìm cách dùng cho đúng”. Có lẽ vì chúng nói như con người nên trông như có cả những năng lực mà chúng không có, hoặc vì nghe quá giống con người nên người ta trách chúng vì không phải con người. Vừa có thổi phồng, vừa có đánh giá thấp cùng lúc. Ngay cả XML cũng từng trải qua một chu kỳ quá nhiệt tương tự, khi có thời được xem như sắp chấm dứt nạn đói thế giới
needle-in-a-needlestack là bài toán tìm một dữ liệu cụ thể giữa các dữ liệu tương tự, khác với needle-in-a-haystack là tìm giữa những thứ khác nhau. Ví dụ như tìm một limerick trong hàng nghìn limerick
Bài kiểm thử needle-in-a-haystack chỉ cho thấy rất hạn chế năng lực xử lý ngữ cảnh dài thực tế của mô hình. Nó được dùng chủ yếu vì các mô hình đời đầu làm tác vụ này rất tệ và dễ kiểm thử
Thực ra hầu hết mô hình mới đều làm khá tốt riêng tác vụ này, nhưng trên thực tế năng lực làm các việc phức tạp vượt quá 32K token giảm mạnh. RULER là bài kiểm thử tốt hơn nhiều: https://github.com/hsiehjackson/RULER
Cũng muốn xem thử điều này với Gemini Pro 1.5. Tuần trước tôi đã thử đưa vào toàn bộ Moby Dick, và có lần đưa vào tất cả sách của Byung Chul-Han; trong cả hai trường hợp, lần nào nó cũng tìm ra nguyên văn phần câu có nhắc đến hoặc trả lời câu hỏi của tôi, và không hề ảo giác
Có thể tham khảo BooookScore(https://openreview.net/forum?id=7Ttk3RzDeu) được trình bày tại ICLR tuần trước và preprint gần đây FABLES(https://arxiv.org/abs/2404.01261)
Tôi cũng thấy có người phân tích các file log khổng lồ, nhưng để xác định thời điểm mô hình bắt đầu bỏ sót điều gì đó thì thật sự cần những bài kiểu needle-in-a-needlestack như thế này. Ít nhất các nhà phát triển mô hình có thể dùng nó để phân tích mô hình đề xuất của họ
Ai đó nên tạo một bài kiểm tra “tổng hợp trong haystack”, không chỉ tìm kiếm mà còn kiểm tra độ sâu hiểu biết, sự liên kết và trừu tượng hóa giữa nhiều loại thông tin
Khi con người đọc một cuốn sách, họ hình thành một “trực giác tổng thể” về cuốn sách đó. Cần có cách định lượng điều này. Tôi có cảm giác bài kiểm tra needle-in-haystack quá đơn giản và chưa đi đủ xa
Nếu hiểu ngữ cảnh, nó phải có thể viết phần mới của câu chuyện và dùng những động cơ nhân vật mà độc giả cảm nhận bằng trực giác để phát triển tuyến truyện của họ. Tuy nhiên, để hữu ích thì toàn bộ phải được giữ hoàn toàn bí mật, nên chỉ có thể dùng gần như một benchmark cá nhân. Hoặc cũng có thể biến nó thành một giải thưởng uy tín được đánh giá bằng độ tin cậy của kết luận, thay vì công bố phương pháp luận để cải thiện lĩnh vực
GPT-4o vẫn chưa xử lý được giao điểm của hai ý tưởng khác nhau không có trong tập huấn luyện. Thậm chí nó cũng không tạo được một biến thể ngẫu nhiên về giao điểm của hai ý tưởng khác nhau. Xa hơn nữa, ta không nên kỳ vọng mô hình làm được việc đó. Điều này không công bằng với mô hình, với tính hữu dụng thực tế của nó, và với những việc đáng kinh ngạc mà nó làm được dù không có hiểu biết. Tin rằng mô hình hiểu là tự lừa mình
Giờ có thể dùng GPT để biến dữ liệu động thô ngay tại chỗ thành layout HTML đẹp mắt. Với các trang như changelog hoặc audit log có lưu lượng thấp, việc này có thể giảm đáng kể thời gian phát triển và giữ HTML luôn cập nhật ngay cả khi cấu trúc dữ liệu thay đổi
Các lần thử trước đây không hoạt động ổn định vì GPT-4-Turbo đôi khi gần như hoàn toàn phớt lờ ngữ cảnh và chỉ dẫn
Bài viết này cho thấy khả năng chú ý trên toàn bộ cửa sổ nhập của GPT-4o đã cải thiện nhiều thế nào so với GPT-4 Turbo và Claude-3 Sonnet
Đã cần một bản nâng cấp cho needle-in-a-haystack từ lâu, và “Needle In A Needlestack” này là bước tiếp theo tốt. NIAN tạo prompt chứa hàng nghìn bài limerick, rồi đặt câu hỏi về bài limerick ở một vị trí cụ thể
Những mặt khác đều ổn và tôi cũng thích cảm giác dùng nó, nên càng bực hơn. Tối qua tôi thử 4o, và nó vẫn nhận ra hoàn hảo một class C++ mà tôi đã dán vào từ 20 câu hỏi trước. Tôi không quan tâm nó thông minh hay không, điều quan trọng là nó có hữu dụng không, và điều này đóng góp rất lớn vào tính hữu dụng
Tôi ngày càng tin chắc rằng dường như không ai trên Internet công khai biết cách đánh giá LLM cho đúng
Để bài kiểm tra này có ý nghĩa, cần biết rằng dữ liệu tập kiểm tra không nằm trong dữ liệu huấn luyện
Nghe hay đấy. Vấn đề lớn nhất với GPT-4.0 là chất lượng giảm dần khi cuộc trò chuyện dài ra, đặc biệt quan trọng trong các dự án coding
Không biết giờ đã tốt hơn chưa. Hôm nay tôi sẽ kiểm thử