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 tiên tiến được sử dụng chủ yếu trong generative AI nhằm giảm đáng kể chi phí và cải thiện thời gian phản hồi trong quá trình inference. Trong lĩnh vực của Large Language Models (LLMs), việc xử lý văn bản yêu cầu chuyển đổi các đầu vào thành các chuỗi số được gọi là tokens. Thường thì một phần lớn dữ liệu đầu vào—chẳng hạn như một hướng dẫn hệ thống chi tiết, một tài liệu pháp lý dài, hoặc một codebase—vẫn giữ nguyên trạng thái tĩnh qua 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) trong bộ nhớ. Điều này cho phép inference engine bỏ qua các phép tính trùng lặp, tập trung sức mạnh tính toán chỉ vào các phần mới và động của prompt từ người dùng.
Cơ chế và Lợi ích#
Cơ chế cơ bản của prompt caching dựa vào kiến trúc của các Transformers, xử lý dữ liệu theo tuần tự. Bằng cách nhận diện tiền tố lặp lại của một prompt, hệ thống có thể tải các trạng thái attention mechanism tương ứng trực tiếp từ bộ nhớ tốc độ cao.
- Reduced Latency: Caching làm giảm đáng kể inference latency, cụ thể 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, chẳng hạn như các chatbots tương tác, mang lại cảm giác phản hồi tức thì cho người dùng.
- Cost Efficiency: Vì các nhà cung cấp Cloud Computing thường tính phí dựa trên thời lượng tính toán hoặc quá trình xử lý token, việc bỏ qua công đoạn nặng nhọc cho ngữ cảnh tĩnh sẽ dẫn đến khoản tiết kiệm đáng kể.
- Increased 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 cao hơn, giúp toàn bộ hạ tầng model serving trở nên có khả năng mở rộng tốt hơn.
Cá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.
-
Coding Assistants: Trong phát triển phần mềm, các công cụ như GitHub Copilot tận dụng lượng lớn ngữ cảnh từ các tệp đang mở của người dùng và cấu trúc kho lưu trữ. Bằng cách cache các embeddings của codebase, model có thể cung cấp các gợi ý hoàn thành mã nguồn 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.
-
Legal and Medical Analysis: Các chuyên gia thường truy vấn AI Agents dựa trên các tài liệu tĩnh khổng lồ, chẳng hạn như các lưu trữ án lệ hoặc hồ sơ lịch sử bệnh nhân. Sử dụng Retrieval-Augmented Generation (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 tối ưu hóa quy trình làm việc của Question Answering.
Sự liên quan trong Computer Vision#
Mặc dù thường được liên kết với văn bản, khái niệm caching đóng vai trò quan trọng trong Computer Vision (CV) đa phương thức. Các model như YOLO-World cho phép người dùng phát hiện đối tượng sử dụng các prompt văn bản từ vựng mở. Khi người dùng định nghĩa một danh sách các lớp (ví dụ: "person, backpack, car"), model sẽ tính toán các text embeddings cho các lớp này. Việc cache các embedding này giúp model không phải mã hóa lại các prompt văn bản cho từng khung hình video đơn lẻ, cho phép Real-Time Inference tốc độ cao.
Phân biệt các thuật ngữ liên quan#
- Vs. Prompt Engineering: Prompt engineering liên quan đến 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 model. Prompt caching là một tối ưu hóa tính toán ở backend lưu trữ quá trình xử lý văn bản đó của máy móc.
- Vs. Prompt Tuning: Prompt tuning là một kỹ thuật Transfer Learning cập nhật các Model Weights cụ thể (soft prompts) để điều chỉnh model thích ứng với một tác vụ. Caching không làm thay đổi các tham số của model; nó chỉ ghi nhớ các trạng thái kích hoạt trong khi chạy.
Ví dụ mã: Caching Text Embedding trong thị giác máy tính#
Đoạn mã 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ột model YOLO-World, các text embeddings được tính toán và lưu trữ (bền vững), cho phép model 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ý các tập dữ liệu và triển khai các model đã tối ưu hóa này, Ultralytics Platform cung cấp một môi trường toàn diện để gán nhãn dữ liệu, huấn luyện các model tiên tiến như YOLO26, và giám sát hiệu suất triển khai trên các thiết bị Edge AI khác nhau.






