Nghiên cứu từ Viện Nghiên cứu Thuật toán Thượ Hải, Đại học Bắc Kinh và các cộng sự dưới sự dẫn dắt của viện sĩ Ngạc Duy Nam đề xuất một kiểu bộ nhớ mới cho mô hình ngôn ngữ lớn: bộ nhớ hiển (explicit memory). Mô hình Memory³ với 2.4 tỷ tham số không nhúng đạt hiệu năng vượt trội so với các LLM quy mô lớn hơn và các hệ thống RAG.
Động lực: Cấu trúc bộ nhớ đa tầng
Hệ thống bộ nhớ của Memory³ bao gồm ba dạng:
- Bộ nhớ tiềm ẩn: các trọng số mô hình, chi phí lưu trữ và cập nhật cao
- Bộ nhớ làm việc: các cặp key-value trong ngữ cảnh, giới hạn bởi độ dài xử lý
- Bộ nhớ hiển: các cặp key-value thưa được trích xuất từ kho tri thức, tối ưu chi phí đọc/ghi
Thiết kế kiến trúc
Memory³ tích hợp bộ nhớ hiển vào lớp self-attention mà không thêm tham số huấn luyện. Quá trình hoạt động bao gồm:
Giai đoạn ghi (offline)
Kho tri thức được chuyển đổi thành bộ nhớ hiển thông qua trích xuất key-value từ các đầu attention được chọn lọc. Mỗi tài liệu xử lý độc lập, tránh chi phí attention ngữ cảnh dài.
Giai đoạn đọc (online)
Trong suốt quá trình sinh văn bản, cứ mỗi 64 token, hệ thống thực hiện:
- Dùng 64 token vừa sinh làm truy vấn
- Truy xuất 5 bộ nhớ liên quan từ kho
- Nối các key-value bộ nhớ với key-value ngữ cảnh trong self-attention
Công thức tính đầu ra cho đầu attention bộ nhớ ở lớp thứ l:
Y^(l,h) = Softmax(Q^(l,h) · [K_ctx^(l,h); K_mem^(l,h)]^T / √d) · [V_ctx^(l,h); V_mem^(l,h)]
Trong đó [;] ký hiệu phép nối theo chiều dài, và mã hóa vị trí song song được áp dụng cho tất cả key của bộ nhớ trong khoảng 128 vị trí.
Chiến lược huấn luyện hai giai đoạn
| Giai đoạn | Mục đích | Dữ liệu |
|---|---|---|
| Khởi động (warmup) | Thiết lập nền tảng kiến thức ngầm | Corpus tiêu chuẩn, không dùng bộ nhớ hiển |
| Huấn luyện liên tục | Hình thành và tích hợp bộ nhớ hiển | Corpus với truy xuất bộ nhớ hiển |
Kết quả thực nghiệm
Năng lực tổng quát
Bộ nhớ hiển nâng điểm trung bình benchmark lên 2.51%. Tỷ lệ chuyển đổi sang "kích thước mô hình hiệu quả":
2.51 / 4.91 ≈ 51.1%
(so với khoảng cách 4.91% giữa Llama2-7B và Llama2-13B)
Năng lực đối thoại
Memory³-2.4B vượt trội so với Vicuna-7B, Falcon-40B-Instruct và ChatGLM2-6B trên các chỉ số đánh giá hội thoại.
Kiểm soát ảo giác
Do bộ nhớ hiển liên kết trực tiếp với văn bản tham khảo, Memory³ đạt điểm cao nhất trên đa số tác vụ đánh giá ảo giác trên hai tập dữ liệu tiếng Anh.
Thích ứng chuyên ngành
Quy trình triển khai cho tác vụ mới:
# Bước 1: Nạp tài liệu chuyên ngành vào kho tri thức
knowledge_base.ingest(domain_documents)
# Bước 2: Chuyển đổi sang bộ nhớ hiển (tùy chọn warm-start)
explicit_memories = converter.encode(knowledge_base, warm_start=True)
# Bước 3: Suy luận trực tiếp không cần fine-tune
output = model.generate(query, memory_bank=explicit_memories)
Thông lượng giải mã
Memory³ đạt tốc độ token/giây cao hơn đáng kể so với RAG nhờ giảm thiểu chi phí truy xuất và xử lý ngữ cảnh, đồng thời duy trì chất lượng vượt trội.
Ý ngha lý thuyết
Nghiên cứu đề xuất lý thuyết mạch bộ nhớ (memory circuit theory) để xác định:
- Kiến thức nào có thể tách rời thành bộ nhớ hiển
- Kiến trúc nào tối ưu cho việc đọc/ghi bộ nhớ hiển
- Cách duy trì chức năng mô hình khi tách kiến thức
Định dạng bộ nhớ thưa (sparse memory format) đảm bảo kích thước lưu trữ thực tế khả thi, trong khi cơ chế hai giai đoạn thúc đẩy hình thành bộ nhớ hiệu quả.
Bài báo gốc: Memory³: Language Modeling with Explicit Memory (arXiv:2407.01178)