Prompt Caching
Khám phá cách bộ đệm prompt tối ưu hóa AI tạo sinh bằng cách giảm độ trễ và chi phí. Tìm hiểu vai trò của nó trong LLM và thị giác máy tính thời gian thực với Ultralytics YOLO26.
Prompt caching là một chiến lược tối ưu hóa nâng cao, chủ yếu được sử dụng trong AI tạo sinh (generative AI) để giảm chi phí và cải thiện thời gian phản hồi trong quá trình inference một cách đáng kể. Trong lĩnh vực Mô hình ngôn ngữ lớn (LLMs), việc xử lý văn bản đòi hỏi chuyển đổi các đầu vào thành chuỗi số được gọi là token. Thông thường, một phần lớn dữ liệu đầu vào—chẳng hạn như hướng dẫn hệ thống chi tiết, tài liệu pháp lý dài hoặc một codebase—vẫn giữ nguyên trên nhiều truy vấn khác nhau của người dùng. Thay vì xử lý lại các phần không đổi này cho mỗi yêu cầu mới, prompt caching lưu trữ các trạng thái toán học đã tính toán trước đó (thường được gọi là bộ nhớ đệm Key-Value) vào bộ nhớ. Điều này cho phép công cụ inference (inference engine) bỏ qua các tính toán dư thừa, tập trung sức mạnh tính toán chỉ vào những phần mới, năng động của prompt từ người dùng.
Link to this sectionCơ chế và Lợi ích#
Cơ chế cơ bản của prompt caching dựa vào kiến trúc của Transformers, vốn xử lý dữ liệu theo trình tự. Bằng cách xác định tiền tố lặp đi lặp lại của một prompt, hệ thống có thể tải các trạng thái cơ chế chú ý (attention mechanism) tương ứng trực tiếp từ bộ nhớ tốc độ cao.
- Giảm độ trễ (Latency): Caching làm giảm đáng kể độ trễ inference (inference latency), đặc biệt là Time to First Token (TTFT). Điều này đảm bảo rằng các ứng dụng thời gian thực, như chatbot tương tác, mang lại cảm giác phản hồi tức thì cho người dùng.
- Hiệu quả chi phí: Vì các nhà cung cấp Điện toán đám mây (Cloud Computing) thường tính phí dựa trên thời gian tính toán hoặc xử lý token, việc bỏ qua các công việc nặng nhọc cho phần ngữ cảnh tĩnh sẽ dẫn đến tiết kiệm đáng kể.
- Tăng thông lượng (Throughput): Bằng cách giải phóng tài nguyên GPU, các máy chủ có thể xử lý khối lượng yêu cầu đồng thời lớn hơn, giúp toàn bộ hạ tầng model serving có khả năng mở rộng tốt hơn.
Link to this sectionCác ứng dụng trong thực tế#
Prompt caching đang chuyển đổi các ngành công nghiệp phụ thuộc vào ngữ cảnh dữ liệu nặng.
-
Trợ lý lập trình (Coding Assistants): Trong phát triển phần mềm, các công cụ như GitHub Copilot sử dụng lượng lớn ngữ cảnh từ các tệp đang mở và cấu trúc kho lưu trữ của người dùng. Bằng cách lưu cache các embedding của codebase, mô hình có thể cung cấp các gợi ý hoàn thiện mã thời gian thực mà không cần phân tích lại toàn bộ cấu trúc tệp dự án cho mỗi lần nhấn phím.
-
Phân tích pháp lý và y tế: Các chuyên gia thường truy vấn AI Agent đối với các tài liệu tĩnh khổng lồ, như kho lưu trữ án lệ hoặc hồ sơ bệnh án. Sử dụng Truy xuất tăng cường thế hệ (RAG), hệ thống truy xuất các đoạn văn bản có liên quan. Prompt caching đảm bảo rằng ngữ cảnh nền tảng của các tài liệu được truy xuất này không cần phải tính toán lại cho các câu hỏi tiếp theo, giúp hợp lý hóa quy trình Hỏi đáp (Question Answering).
Link to this sectionSự liên quan trong Computer Vision#
Mặc dù thường gắn liền với văn bản, khái niệm caching cũng rất quan trọng trong Thị giác máy tính (Computer Vision - CV) đa phương thức. Các mô hình như YOLO-World cho phép người dùng phát hiện đối tượng bằng cách sử dụng các prompt văn bản mở. Khi người dùng xác định một danh sách các lớp (ví dụ: "person, backpack, car"), mô hình sẽ tính toán các text embedding cho các lớp này. Việc lưu cache các embedding này giúp mô hình không cần phải mã hóa lại các prompt văn bản cho mỗi khung hình video, cho phép Inference thời gian thực (Real-Time Inference) tốc độ cao.
Link to this sectionPhân biệt các thuật ngữ liên quan#
- So với Prompt Engineering: Prompt engineering bao gồm nỗ lực của con người trong việc thiết kế đầu vào văn bản tối ưu để hướng dẫn mô hình. Prompt caching là một tối ưu hóa tính toán ở backend giúp lưu trữ quá trình xử lý văn bản đó của máy móc.
- So với Prompt Tuning: Prompt tuning là một kỹ thuật Học chuyển tiếp (Transfer Learning) giúp cập nhật các Trọng số mô hình (Model Weights) cụ thể (soft prompt) để điều chỉnh mô hình cho một tác vụ. Caching không thay đổi tham số của mô hình; nó chỉ ghi nhớ các trạng thái kích hoạt trong thời gian chạy (runtime).
Link to this sectionVí dụ mã: Caching Text Embedding trong thị giác máy tính#
Đoạn code Python sau đây minh họa khái niệm "caching" một prompt trong bối cảnh thị giác máy tính sử dụng gói ultralytics. Bằng cách thiết lập các lớp một lần trong mô hình YOLO-World, các text embedding được tính toán và lưu trữ (bền vững), cho phép mô hình dự đoán hiệu quả trên nhiều hình ảnh mà không cần xử lý lại mô tả văn bản.
from ultralytics import YOLOWorld
# Load a YOLO-World model capable of open-vocabulary detection
model = YOLOWorld("yolov8s-world.pt")
# "Cache" the prompt: Define classes once.
# The model computes and stores text embeddings for these specific terms.
model.set_classes(["helmet", "reflective vest", "gloves"])
# Run inference repeatedly. The text prompt is not re-computed for each call.
# This mimics the efficiency gains of prompt caching in LLMs.
results_1 = model.predict("construction_site_1.jpg")
results_2 = model.predict("construction_site_2.jpg")Để quản lý tập dữ liệu và triển khai các mô hình đã tối ưu hóa này, Nền tảng Ultralytics (Ultralytics Platform) cung cấp một môi trường toàn diện để gán nhãn dữ liệu, đào tạo các mô hình hiện đại như YOLO26 và giám sát hiệu suất triển khai trên nhiều thiết bị Edge AI khác nhau.






