Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Bộ nhớ đệm Prompt (Prompt Caching)

Tăng cường hiệu quả AI với bộ nhớ đệm prompt! Tìm hiểu cách giảm độ trễ, cắt giảm chi phí và mở rộng quy mô ứng dụng AI bằng kỹ thuật mạnh mẽ này.

Bộ nhớ đệm nhắc nhở là một kỹ thuật tối ưu hóa chuyên biệt được sử dụng trong việc triển khai các Mô hình ngôn ngữ lớn (LLM) để giảm đáng kể độ trễ suy luận và chi phí tính toán. Trong bối cảnh AI tạo sinh , việc xử lý lời nhắc bao gồm việc chuyển đổi văn bản thành các biểu diễn số và tính toán mối quan hệ giữa mọi mã thông báo bằng cơ chế chú ý . Khi một phần đáng kể của lời nhắc—chẳng hạn như một lệnh hệ thống dài hoặc một tập hợp các ví dụ—vẫn tĩnh trong nhiều yêu cầu, bộ nhớ đệm nhắc nhở cho phép hệ thống lưu trữ các trạng thái toán học trung gian (cụ thể là các cặp Khóa-Giá trị) của văn bản tĩnh đó. Thay vì tính toán lại các trạng thái này cho mỗi truy vấn mới, công cụ suy luận sẽ truy xuất chúng từ bộ nhớ, cho phép mô hình tập trung sức mạnh xử lý của mình hoàn toàn vào các phần đầu vào động mới.

Cơ chế và lợi ích

Cơ chế cốt lõi đằng sau việc lưu trữ tạm thời dựa trên việc quản lý cửa sổ ngữ cảnh một cách hiệu quả. Khi một LLM xử lý dữ liệu đầu vào, nó sẽ tạo ra một "KV Cache" (Khóa-Giá trị Cache) thể hiện mức độ hiểu biết của mô hình về văn bản cho đến thời điểm đó. Lưu trữ tạm thời xử lý phần đầu tiên segment của lời nhắc (tiền tố) như một tài sản có thể tái sử dụng.

  • Giảm độ trễ : Bằng cách bỏ qua quá trình tính toán cho tiền tố được lưu trong bộ nhớ đệm, Thời gian đến mã thông báo đầu tiên (TTFT) được rút ngắn đáng kể, dẫn đến phản hồi nhanh hơn trong các tình huống suy luận thời gian thực .
  • Hiệu quả về chi phí : Do Bộ xử lý đồ họa (GPU) tốn ít thời gian hơn để xử lý các mã thông báo dư thừa nên tổng tài nguyên tính toán cần thiết cho mỗi yêu cầu giảm xuống, giúp giảm chi phí vận hành khi chạy các dịch vụ trí tuệ nhân tạo (AI) .
  • Tăng thông lượng : Hệ thống có thể xử lý khối lượng yêu cầu đồng thời cao hơn vì gánh nặng tính toán cho từng yêu cầu riêng lẻ được giảm thiểu.

Các Ứng dụng Thực tế

Bộ nhớ đệm nhanh đang chuyển đổi cách các nhà phát triển xây dựng và mở rộng quy mô các ứng dụng học máy (ML) , đặc biệt là những ứng dụng liên quan đến xử lý văn bản nặng.

  1. Trợ lý Lập trình Nhận biết Ngữ cảnh : Trong các công cụ cung cấp tính năng hoàn thành mã, toàn bộ nội dung của tệp hiện tại và các thư viện được tham chiếu thường đóng vai trò là ngữ cảnh nhắc nhở. "Tiền tố" này có thể dài hàng nghìn mã thông báo. Bằng cách sử dụng bộ nhớ đệm nhắc nhở, trợ lý có thể lưu trữ trạng thái của tệp. Khi nhà phát triển nhập (thêm mã thông báo mới), mô hình chỉ xử lý các ký tự mới thay vì đọc lại toàn bộ cấu trúc tệp, cho phép thời gian phản hồi dưới một giây như trong các môi trường phát triển tích hợp (IDE) hiện đại.
  2. Phân tích Tài liệu và Hỏi & Đáp : Hãy xem xét một hệ thống được thiết kế để trả lời các câu hỏi về một tài liệu hướng dẫn PDF dày 50 trang. Sử dụng Retrieval-Augmented Generation (RAG) , văn bản của tài liệu hướng dẫn được đưa vào mô hình. Nếu không có bộ nhớ đệm, mỗi khi người dùng đặt câu hỏi, mô hình phải xử lý lại toàn bộ tài liệu hướng dẫn cộng với câu hỏi. Với bộ nhớ đệm nhanh, khối lượng tính toán nặng nề để hiểu tài liệu hướng dẫn được thực hiện một lần và được lưu trữ. Các câu hỏi tiếp theo được thêm vào trạng thái bộ nhớ đệm này, giúp tương tác trả lời câu hỏi trở nên mượt mà và hiệu quả.

Khái niệm triển khai kỹ thuật

Mặc dù bộ nhớ đệm nhanh là tính năng nội bộ của máy chủ suy luận LLM, việc hiểu cấu trúc dữ liệu sẽ giúp làm rõ khái niệm này. "Bộ nhớ đệm" về cơ bản lưu trữ các tenxơ (mảng đa chiều) biểu diễn các trạng thái chú ý.

Sau đây là Python đoạn trích sử dụng torch trình bày hình dạng và khái niệm của bộ đệm Khóa-Giá trị tensor , đó là những gì được lưu trữ và sử dụng lại trong quá trình lưu trữ đệm nhanh chóng:

import torch

# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128

# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)

print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.

Phân biệt các khái niệm liên quan

Điều quan trọng là phải phân biệt bộ nhớ đệm nhanh với các thuật ngữ khác trong thuật ngữ Ultralytics để áp dụng chiến lược tối ưu hóa chính xác.

  • So với Kỹ thuật Nhắc nhở : Kỹ thuật nhắc nhở tập trung vào việc xây dựng nội dungcấu trúc của văn bản đầu vào để tạo ra phản hồi tốt nhất. Bộ nhớ đệm nhắc nhở tập trung vào việc tối ưu hóa khả năng thực thi tính toán của dữ liệu đầu vào đó.
  • So với Tìm kiếm Ngữ nghĩa : Tìm kiếm ngữ nghĩa (thường được sử dụng trong lưu trữ đầu ra ) tìm kiếm các truy vấn tương tự để trả về phản hồi được viết sẵn. Lưu trữ nhanh vẫn chạy mô hình để tạo ra một phản hồi duy nhất; nó chỉ đơn giản là tua nhanh qua quá trình đọc ngữ cảnh đầu vào.
  • So với Tinh chỉnh : Tinh chỉnh sẽ thay đổi vĩnh viễn trọng số của mô hình để học thông tin mới. Lưu trữ tạm thời không thay đổi trọng số của mô hình; nó tạm thời lưu trữ trạng thái kích hoạt của một phiên đầu vào cụ thể.
  • So với Lượng tử hóa Mô hình : Lượng tử hóa làm giảm độ chính xác của các tham số mô hình để tiết kiệm bộ nhớ và tăng tốc suy luận tổng thể. Lưu trữ tạm thời là một phương pháp tối ưu hóa thời gian chạy dành riêng cho dữ liệu đầu vào, thường được sử dụng kết hợp với lượng tử hóa.

Mặc dù bộ nhớ đệm nhanh là đặc trưng của Xử lý Ngôn ngữ Tự nhiên (NLP) , các nguyên tắc hiệu quả lại mang tính phổ quát. Trong thị giác máy tính (CV) , các mô hình như YOLO11 được tối ưu hóa về mặt kiến trúc để tăng tốc độ, đảm bảo các tác vụ phát hiện đối tượng đạt được tốc độ khung hình cao mà không cần cùng loại bộ nhớ đệm trạng thái như trong các mô hình ngôn ngữ tự hồi quy. Tuy nhiên, khi các mô hình đa phương thức phát triển để xử lý video và văn bản cùng lúc, việc lưu trữ các mã thông báo hình ảnh đang trở thành một lĩnh vực nghiên cứu mới nổi được mô tả trong các bài báo trên arXiv .

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay