Prompt Caching: Tái sử dụng Module Attention để suy luận độ trễ thấp

Anthropic vừa công bố một tính năng đột phá cho ng dùng sử dụng API của họ: "Prompt caching."

Hãy tưởng tượng prompt caching giống như thế này: Bạn đến quán cà phê lần đầu tiên và cần nói cho nhân viên pha chế biết toàn bộ order của mình. Nhưng lần sau, bạn chỉ cần nói "như mọi khi" là đủ.

Đó chính là prompt caching. Và đây là lý do tại sao nó lại quan trọng...

Tính năng này giúp giảm chi phí và tăng tốc độ khi gọi lại bất kỳ đoạn prompt dài nào (any large prompt components) mà bạn thường xuyên sử dụng.

Cụ thể? Nó có thể giảm chi phí lên đến 90% và tăng tốc độ phản hồi lên đến 85%. Điều này mở ra rất nhiều ứng dụng mới, đặc biệt là những ứng dụng trước đây quá đắt đỏ để triển khai giờ đã trở nên khả thi. 

Khi nào nên sử dụng prompt caching?

Prompt caching đặc biệt hiệu quả trong các tình huống bạn cần gửi một lượng lớn ngữ cảnh prompt một lần và sau đó sử dụng lại thông tin đó trong các yêu cầu tiếp theo. Dưới đây là một số tình huống cụ thể mà tính năng này có thể mang lại lợi ích lớn:

  • Các tác nhân đàm thoại: giảm chi phí và độ trễ cho các cuộc hội thoại kéo dài, đặc biệt là những cuộc hội thoại có hướng dẫn dài hoặc tài liệu được tải lên.

  • Trợ lý lập trình: cải thiện tính năng tự động hoàn thành và hỏi đáp mã nguồn bằng cách giữ một phiên bản tóm tắt của mã nguồn trong lệnh.

  • Xử lý tài liệu lớn: tích hợp các tài liệu dài bao gồm cả hình ảnh vào prompt mà không làm tăng độ trễ phản hồi.

  • Bộ hướng dẫn chi tiết: chia sẻ các danh sách hướng dẫn, quy trình và ví dụ mở rộng để tinh chỉnh các phản hồi của Claude. Thay vì chỉ sử dụng vài ví dụ như trước, bạn có thể bao gồm hàng tá ví dụ đa dạng và chất lượng cao để đạt hiệu suất tốt hơn.

  • Tìm kiếm và sử dụng công cụ tự động: tăng cường hiệu suất cho các kịch bản liên quan đến nhiều vòng gọi công cụ và thay đổi lặp lại, nơi mỗi bước thường yêu cầu một lần gọi API mới.

  • Trò chuyện với sách, bài báo, tài liệu dài: mang bất kỳ cơ sở tri thức nào trở nên sống động bằng cách nhúng toàn bộ tài liệu vào lệnh và cho phép người dùng đặt câu hỏi.

Những người sử dụng đầu tiên đã thấy được sự cải thiện đáng kể về tốc độ và chi phí khi sử dụng prompt caching cho nhiều trường hợp sử dụng—từ việc đính kèm toàn bộ cơ sở tri thức đến 100 ví dụ (100-shot examples), hay bao gồm từng lượt trong một cuộc hội thoại vào prompt của họ.

Với prompt caching, Anthropic không chỉ mang lại một giải pháp tiết kiệm chi phí mà còn mở ra cánh cửa cho nhiều ứng dụng AI mạnh mẽ và hiệu quả hơn, giúp chúng trở nên khả thi hơn bao giờ hết

Có thể là hình minh họa về văn bản

Trong bài báo, các tác giả giải thích rằng nhiều lệnh (prompts) mà người dùng gửi đến có các đoạn văn bản trùng lặp, chẳng hạn như thông điệp hệ thống (system messages), mẫu lệnh (prompt templates), và các tài liệu được cung cấp để làm bối cảnh (context). Ý tưởng chính ở đây là chúng ta có thể tính toán trước và lưu trữ trạng thái attention (trạng thái chú ý - là một phần quan trọng trong cơ chế hoạt động của mô hình ngôn ngữ, giúp mô hình tập trung vào các phần quan trọng của văn bản) của những đoạn văn bản thường xuất hiện này trên máy chủ phục vụ suy luận (inference server).

Bằng cách này, khi những đoạn văn bản này xuất hiện lại trong các lệnh mà người dùng gửi, chúng ta có thể tái sử dụng chúng một cách hiệu quả, thay vì phải tính toán lại từ đầu. Điều này giúp tiết kiệm tài nguyên và tăng tốc độ xử lý khi thực hiện các lệnh.

Bổ sung thêm: Chi tiết thực tế của việc triển khai và sử dụng Prompt caching của chính chủ Anthropic:

Cách hoạt động của Prompt Caching:

Khi bạn gửi một yêu cầu với tính năng Prompt Caching được bật:

1. Hệ thống sẽ kiểm tra xem phần tiền tố của lệnh (prompt prefix) có đã được lưu trữ từ một yêu cầu gần đây hay chưa.

2. Nếu đã có, hệ thống sẽ sử dụng phiên bản đã được lưu trữ, giúp giảm thời gian xử lý và chi phí.

3. Nếu chưa có, hệ thống sẽ xử lý toàn bộ lệnh và sau đó lưu trữ phần tiền tố cho lần sử dụng trong tương lai.

Prompt Caching đặc biệt hữu ích trong các tình huống sau:

- Các lệnh (prompt) chứa nhiều ví dụ.

- Lệnh (prompt) có lượng lớn thông tin bối cảnh hoặc thông tin nền.

- Các nhiệm vụ lặp lại với các chỉ dẫn nhất quán.

- Các cuộc hội thoại kéo dài qua nhiều lượt (multi-turn conversations).

Cache có thời hạn tồn tại là 5 phút, và sẽ được làm mới mỗi khi nội dung đã lưu trữ được sử dụng lại.

Theo Nguyễn Tiến Dũng Tổng hợp 

Link gốc Đây

Bài viết cùng danh mục