Prompt Caching là gì? Cách hoạt động và lợi ích khi sử dụng
Prompt Caching là gì?
Prompt Caching là một kỹ thuật tối ưu hóa được sử dụng trong các ứng dụng AI nhằm giảm chi phí và độ trễ khi làm việc với Large Language Models (LLMs).
Tương tự như các cơ chế caching truyền thống trong phần mềm, Prompt Caching lưu lại những phần prompt hoặc kết quả đã được xử lý trước đó để tránh việc model phải thực hiện lại cùng một yêu cầu nhiều lần
Tại sao cần Prompt Caching?
Một trong những thách thức lớn nhất khi sử dụng LLM là chi phí và thời gian xử lý.
Mỗi lần gửi request, model phải:
- Tokenize toàn bộ prompt
- Chạy qua nhiều lớp Transformer
- Sinh ra response
Khi cùng một prompt hoặc cùng một context được gửi nhiều lần, lượng tính toán này bị lặp lại không cần thiết.
Prompt Caching giúp giải quyết vấn đề này bằng cách tái sử dụng kết quả đã được xử lý trước đó.
Lợi ích
Giảm chi phí
Prompt đã được xử lý không cần phải tính toán lại hoàn toàn, giúp giảm số lượng token phải xử lý và tiết kiệm chi phí API.
Giảm độ trễ (Latency)
Thay vì phải chạy lại toàn bộ prompt, hệ thống có thể sử dụng dữ liệu đã cache và chỉ xử lý phần mới phát sinh.
Tăng khả năng mở rộng
Khi số lượng người dùng tăng lên, Prompt Caching giúp giảm tải cho hệ thống và tối ưu tài nguyên.
Cải thiện trải nghiệm người dùng
Các câu hỏi hoặc tác vụ lặp lại có thể được trả về nhanh hơn đáng kể so với việc xử lý từ đầu.
Prompt Caching hoạt động như thế nào?
Quy trình cơ bản gồm các bước sau:
Bước 1: Tạo Cache Key
Khi nhận được request, hệ thống tạo một Cache Key dựa trên:
- Prompt
- Model
- Temperature
- System Prompt
- Các tham số liên quan khác
Bước 2: Kiểm tra Cache
Hệ thống tìm kiếm cache key trong cache store.
Bước 3: Cache Hit
Nếu cache key tồn tại:
Cache Hit
Hệ thống sử dụng dữ liệu đã cache thay vì xử lý lại từ đầu.
Bước 4: Cache Miss
Nếu cache key không tồn tại:
Cache Miss
Prompt sẽ được gửi tới LLM để xử lý.
Sau khi model trả về kết quả:
- Response được lưu lại
- Hoặc KV Cache được lưu lại
- Hoặc Prompt Prefix được lưu lại
để sử dụng cho các request trong tương lai.
Hai loại Prompt Caching phổ biến
1. Exact Match Caching
Đây là dạng caching đơn giản nhất.
Cache chỉ được sử dụng khi prompt giống hoàn toàn với request trước đó.
2. Semantic Caching
Semantic Caching sử dụng Embedding để biểu diễn ý nghĩa của prompt dưới dạng vector.
Khi có request mới:
- Prompt được chuyển thành embedding
- So sánh với các embedding đã lưu
- Tìm prompt có độ tương đồng cao nhất
Nếu độ tương đồng vượt qua một ngưỡng xác định (ví dụ 0.9), hệ thống có thể coi đây là Cache Hit.
Tuy nhiên Semantic Caching phức tạp hơn Exact Match vì cần tránh các trường hợp có ý nghĩa gần giống nhưng kết quả thực tế phải khác nhau.
Prompt Prefix Caching
Đây là hình thức Prompt Caching được nhiều nhà cung cấp LLM sử dụng hiện nay..
Đây là lý do Prompt Caching đặc biệt hiệu quả trong các hệ thống RAG, Chatbot và AI Assistant.