Thay vì nới cửa sổ context, hãy cho agent một bộ nhớ phân tầng như máy tính
Thay vì nới cửa sổ context, hãy cho agent một bộ nhớ phân tầng như máy tính
Mở
Bạn đưa cho trợ lý một hợp đồng dài hơn cửa sổ context của model, hoặc khách quay lại hỏi về việc đã bàn mấy phiên trước, và câu trả lời ra như thể hai bên chưa từng gặp. Cách chữa trị phổ biến là mua một cửa sổ context to hơn, nhưng mỗi token trong cửa sổ đó vẫn bị tính ở mọi lượt gọi, và cửa sổ to hơn cũng không tự nói cho model biết đoạn nào đáng giữ lại. Vấn đề thật sự không nằm ở độ dài, mà ở chỗ không có ai quyết định nội dung nào được đưa vào cửa sổ và nội dung nào bị đẩy ra. Bài này đưa ra một câu trả lời theo đúng cách mà hệ điều hành vẫn làm với bộ nhớ.
Paper này làm gì
Paper đề xuất virtual context management, một kỹ thuật mượn ý tưởng từ hệ thống bộ nhớ phân tầng trong các hệ điều hành truyền thống, nơi dữ liệu được di chuyển giữa bộ nhớ nhanh và bộ nhớ chậm để tạo cảm giác có bộ nhớ lớn. Từ kỹ thuật đó, hệ thống MemGPT ra đời: nó quản lý nhiều tầng bộ nhớ bên trong cửa sổ context hữu hạn của model, và dùng ngắt để điều khiển luồng điều khiển giữa hệ thống và người dùng. Thử nghiệm chạy ở hai nơi mà cửa sổ context đang làm giảm mạnh năng lực của model: phân tích tài liệu và hội thoại nhiều phiên.
Phát hiện chính
- Cửa sổ context hẹp là nút thắt thật — với mọi trợ lý cần hội thoại kéo dài hoặc đọc tài liệu lớn, chính giới hạn cửa sổ làm giảm khả năng làm việc, chứ không phải do người dùng đặt câu hỏi tệ.
constrained by limited context windows, hindering their utility in tasks like extended conversations and document analysis
- Cách sửa đến từ thiết kế của hệ điều hành — thay vì nới rộng cửa sổ, paper chuyển sang quản lý bộ nhớ theo tầng, với dữ liệu dịch chuyển giữa tầng nhanh và tầng chậm đằng sau một cửa sổ luôn nhỏ.
we propose virtual context management, a technique drawing inspiration from hierarchical memory systems in traditional operating systems
- Agent tự chọn tầng nhớ nào để đọc hay ghi — việc quyết định nội dung nào vào cửa sổ nằm trong tay agent, thay vì nằm ở một hàm truy xuất cố định, và ngắt xử lý việc chuyển luồng qua lại với người dùng.
intelligently manages different memory tiers in order to effectively provide extended context within the LLM’s limited context window
- Hai bài thử nghiệm chốt phạm vi của cơ chế — một bài là phân tích tài liệu vượt xa cửa sổ context của model bên dưới, bài còn lại là hội thoại nhiều phiên, nơi agent nhớ, suy ngẫm và thay đổi qua tương tác lâu dài.
multi-session chat, where MemGPT can create conversational agents that remember, reflect, and evolve dynamically through long-term interactions with their users
Caveat
Đánh giá chỉ gồm phân tích tài liệu và hội thoại nhiều phiên, hoàn toàn không có bảng tính token hay đô la, nên bài chứng minh cơ chế chạy được ở hai lĩnh vực chứ không chứng minh nó tự thu hồi chi phí trong môi trường sản xuất.
Áp vào 5ac thế nào
Đây là mẫu kiến trúc cho trợ lý 5ac làm việc xuyên nhiều phiên hoặc đọc tài liệu dài hơn cửa sổ. Thay vì nâng lên một model có cửa sổ context đắt hơn cho mọi lượt gọi, hãy chia bộ nhớ thành tầng: tầng nóng giữ lượt hội thoại đang diễn ra, tầng lạnh giữ tài liệu và ghi chú đã xử lý, và để agent tự quyết định đoạn nào được nạp vào cửa sổ. Bài học lớn nhất cho người chạy agent với ngân sách nằm ở chỗ paper không làm: không có bảng tính token hay đô la. Vì vậy mọi lần tự dựng theo mẫu này đều phải kèm số đo chi phí riêng, nếu không bạn chỉ biết cơ chế chạy được chứ không biết nó có đáng tiền.
Nguồn
- MemGPT: Towards LLMs as Operating Systems — https://arxiv.org/abs/2310.08560
- Code và dữ liệu thử nghiệm — https://memgpt.ai