Memory³: Kiến trúc bộ nhớ thứ ba cho LLM vượt trội hơn RAG và mô hình tham số lớn

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:

  1. Dùng 64 token vừa sinh làm truy vấn
  2. Truy xuất 5 bộ nhớ liên quan từ kho
  3. 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ạnMục đíchDữ liệu
Khởi động (warmup)Thiết lập nền tảng kiến thức ngầmCorpus tiêu chuẩn, không dùng bộ nhớ hiển
Huấn luyện liên tụcHình thành và tích hợp bộ nhớ hiểnCorpus 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)

Thẻ: Large Language Model Explicit Memory Sparse Attention Retrieval-Augmented Generation Transformer Architecture

Đăng vào ngày 14 tháng 8 lúc 23:21