Trong bài viết này
Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.
Hai nhân viên cùng hỏi “Tôi còn bao nhiêu ngày phép?”. Nếu cache chỉ dùng câu hỏi làm khóa, người thứ hai có thể nhận câu trả lời của người thứ nhất. Cùng văn bản không có nghĩa cùng yêu cầu khi kết quả phụ thuộc danh tính và dữ liệu hiện hành.
Chọn đúng lớp để lưu
Cache đầu ra lưu câu trả lời hoàn chỉnh. Cache truy xuất lưu tài liệu hoặc kết quả tìm kiếm. Prompt caching tái sử dụng phần xử lý của tiền tố đầu vào; nó không phải bộ nhớ chứa câu trả lời cuối để phát lại.
Tài liệu prompt caching của Anthropic mô tả việc tái sử dụng tiền tố prompt chung. Với ứng dụng có hướng dẫn dài và nhiều yêu cầu khác nhau, lớp này có thể phù hợp ngay cả khi mỗi câu trả lời vẫn cần sinh mới. Điều kiện hỗ trợ cụ thể cần kiểm tra theo dịch vụ đang dùng.
Ví dụ giả định: trợ lý quy chế có cùng hướng dẫn và tài liệu nhưng nhận nhiều câu hỏi. Đặt phần ổn định ở đầu prompt; tránh chèn dấu thời gian thay đổi liên tục trước nội dung có thể dùng lại.
Khóa cache phải mang đủ ngữ cảnh
Với cache đầu ra, một khóa khái niệm có thể gồm:
định_danh_người_dùng_hoặc_chủ_thể_được_hỏi
+ định_danh_tài_nguyên
+ phạm_vi_quyền
+ phiên_bản_dữ_liệu
+ phiên_bản_prompt
+ cấu_hình_mô_hình
+ dấu_vân_tay_ngữ_cảnh_liên_quan
+ câu_hỏi_đã_chuẩn_hóa
Không nhất thiết ghép các trường thành chuỗi thô; có thể băm một biểu diễn chuẩn. Phạm vi quyền không thay thế danh tính: hai nhân viên cùng vai trò vẫn có số ngày phép khác nhau. Nếu câu trả lời phụ thuộc hội thoại trước, khóa phải mang dấu vân tay của phần ngữ cảnh liên quan. Điều quan trọng là các yêu cầu có khả năng cho kết quả khác không vô tình dùng chung mục cache.
Chuẩn hóa câu hỏi cũng cần thận trọng. Xóa dấu hoặc dấu câu có thể làm thay đổi nghĩa. Với nội dung cá nhân, khóa và giá trị cache đều cần giới hạn truy cập phù hợp. Băm khóa không tự làm dữ liệu bên trong trở nên an toàn.
Hướng dẫn HTTP caching của MDN giải thích sự khác nhau giữa cache riêng và cache dùng chung. Khi áp dụng cho AI, cần xác định rõ lớp nào được phép dùng chung, thay vì bật cache ở hạ tầng rồi giả định mọi kết quả đều công khai.
Hết hạn là một phần của tính đúng
Một câu giải thích thuật ngữ có thể dùng lại lâu hơn câu trả lời về trạng thái đơn. Đặt thời gian sống theo độ biến động dữ liệu và hậu quả của thông tin cũ. Không có thời gian hết hạn duy nhất phù hợp cho toàn ứng dụng.
Trong ví dụ quy chế giả định, phiên bản tài liệu thay đổi phải làm cache cũ mất hiệu lực, ngay cả khi thời gian sống chưa hết. Nếu quyền nhân viên bị thu hồi, việc đã từng được đọc tài liệu không cho phép họ tiếp tục nhận câu trả lời từ cache.
Cache ngữ nghĩa còn khó hơn: hai câu gần nhau về vector có thể khác một phủ định hoặc điều kiện. “Được đổi lịch không?” và “Không được đổi lịch khi nào?” không thể dùng chung chỉ vì độ tương đồng cao.
Mô hình tự hồi quy tính xác suất token tiếp theo từ ngữ cảnh hiện có, chọn một token rồi nối vào chuỗi. Chuỗi mới trở thành ngữ cảnh cho lượt tiếp theo.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Đọc ngữ cảnh
Mô hình xử lý các token của yêu cầu và phần trả lời đã có.
02 / Tính xác suất
Từ ngữ cảnh đó, mô hình tính phân bố xác suất cho những token có thể xuất hiện tiếp theo.
03 / Chọn token
Cách giải mã quyết định token được chọn; không phải lúc nào cũng lấy token có xác suất cao nhất.
04 / Nối và lặp
Token được nối vào chuỗi để tạo ngữ cảnh mới. Quá trình lặp đến điều kiện dừng.
Các ô dùng từ nguyên vẹn để dễ quan sát; đây không phải kết quả của một tokenizer cụ thể. Token thực tế có thể chỉ là một phần của từ.
Đo lợi ích cùng lỗi dùng dữ liệu cũ
Tỷ lệ cache hit cho biết bao nhiêu yêu cầu được phục vụ từ cache. Nó không cho biết bao nhiêu câu trả lời vẫn đúng. Theo dõi thêm độ trễ, chi phí thực tế, tần suất dữ liệu cũ và lỗi phân quyền.
Thử nghiệm cache nên có cả giai đoạn làm nóng và các lần cập nhật dữ liệu. Một phép đo chỉ lặp cùng câu hỏi trên bộ nhớ đã nóng thường phóng đại lợi ích với người dùng mới.
Lỗi thường gặp là cache cả thông báo lỗi tạm thời quá lâu. Một sự cố ngắn có thể tiếp tục xuất hiện sau khi dịch vụ hồi phục. Nếu lưu kết quả âm như “không tìm thấy”, hãy đặt chính sách riêng và kiểm tra khả năng dữ liệu mới được tạo.
Bài tập: đổi quyền giữa hai lần hỏi
Tạo tình huống giả định có tài liệu chung và tài liệu riêng của nhóm. Hỏi một câu, lưu cache, thu hồi quyền đọc tài liệu riêng rồi hỏi lại. Tiếp đó thay phiên bản tài liệu chung.
Tiêu chí đạt: không phát lại nội dung đã mất quyền, tài liệu mới tạo khóa hoặc làm mất hiệu lực kết quả cũ, và số liệu phân biệt cache hit với câu trả lời đúng. Đọc tiếp đo chi phí mỗi tác vụ để tính cả công việc cache tiết kiệm được.