Định tuyến bộ nhớ đệm KV: Cắt giảm công việc điền trước LLM dư thừa

shareai-blog-fallback
Trang này trong Tiếng Việt đã được dịch tự động từ tiếng Anh bằng TranslateGemma. Bản dịch có thể không hoàn toàn chính xác.

Định tuyến bộ nhớ đệm KV rất quan trọng khi các tiền tố gợi ý lặp lại liên tục xuất hiện trong lưu lượng LLM của bạn. Nếu yêu cầu đúng đến đúng bản sao, công cụ phục vụ có thể tái sử dụng trạng thái chú ý đã được lưu trong bộ nhớ đệm thay vì tính toán lại các token điền trước giống nhau nhiều lần.

Điều đó nghe có vẻ như một chi tiết hạ tầng, nhưng nó nhanh chóng trở thành một vấn đề sản phẩm. Các gợi ý hệ thống dài, ngữ cảnh RAG, ví dụ few-shot, và lịch sử trò chuyện nhiều lượt có thể làm cho công việc điền trước trở nên đắt đỏ. Khi mỗi bản sao tính toán lại cùng một tiền tố, các nhóm phải trả giá bằng độ trễ, thời gian GPU, và lập kế hoạch dung lượng.

ShareAI cung cấp cho các nhà phát triển một API cho hơn 150+ mô hình, khả năng hiển thị thị trường, định tuyến, và chuyển đổi dự phòng. Định tuyến bộ nhớ đệm KV nằm ở một lớp thấp hơn, bên trong hạ tầng phục vụ mô hình. Điểm rút ra hữu ích cho độc giả ShareAI rất đơn giản: các quyết định định tuyến quan trọng ở mọi lớp của ngăn xếp AI, từ việc chọn mô hình đến việc bản sao GPU nào xử lý một gợi ý lặp lại.

Tại sao Định tuyến Bộ nhớ đệm KV Quan trọng

Trong quá trình suy luận LLM, một mô hình đầu tiên xử lý gợi ý đầu vào trong giai đoạn điền trước. Nó xây dựng một bộ nhớ đệm key-value, thường được gọi là bộ nhớ đệm KV, để các token được tạo sau đó có thể tham chiếu lại ngữ cảnh đã được xử lý.

Bộ nhớ đệm tiền tố cho phép các công cụ phục vụ tái sử dụng bộ nhớ đệm đó khi một yêu cầu sau này chia sẻ cùng một phần đầu của gợi ý. Tài liệu tự động bộ nhớ đệm tiền tố của vLLM mô tả điều này như việc tái sử dụng bộ nhớ đệm KV cho các tiền tố được chia sẻ để yêu cầu mới có thể bỏ qua việc tính toán cho phần được chia sẻ. Bộ nhớ đệm tiền tố SGLang sử dụng một ý tưởng liên quan để chia sẻ bộ nhớ đệm KV cho các chuỗi token chung.

Điều này đặc biệt quan trọng đối với các khối lượng công việc mà nhiều yêu cầu bắt đầu theo cùng một cách: các tác nhân hỗ trợ với một gợi ý hệ thống lớn, các ứng dụng RAG sử dụng các đoạn tài liệu lặp lại, các tác nhân mã hóa với hướng dẫn kho lưu trữ, hoặc các sản phẩm trò chuyện mang lịch sử hội thoại qua các lượt.

Khi Round-Robin Gặp Vấn Đề

Bộ nhớ đệm tiền tố dễ dàng nhất trên một bản sao. Cùng một quy trình nhìn thấy tiền tố lặp lại và có thể tái sử dụng bộ nhớ đệm của nó nếu bộ nhớ khả dụng. Vấn đề xuất hiện khi dịch vụ mở rộng theo chiều ngang.

Với một bộ cân bằng tải vòng tròn tiêu chuẩn, yêu cầu đầu tiên có thể làm nóng bộ nhớ đệm trên bản sao A, trong khi yêu cầu thứ hai với cùng tiền tố lại đến bản sao B. Bản sao B không có trạng thái đã được lưu trong bộ nhớ đệm đó, vì vậy nó tính toán lại công việc điền trước giống nhau. Yêu cầu thứ ba có thể đến bản sao C và lại bỏ lỡ.

Khi số lượng bản sao tăng lên, cân bằng tải ngây thơ có thể phân tán các yêu cầu liên quan trên nhiều máy hơn. Đội ngũ phục vụ mô hình có thể trông cân bằng, nhưng tỷ lệ truy cập bộ nhớ đệm tiền tố giảm. Đó là khoảng cách mà định tuyến bộ nhớ đệm KV cố gắng lấp đầy.

Ba Cấp Độ Định Tuyến Thực Tiễn

1. Định Tuyến Theo Phiên

Định tuyến theo phiên chuyển hướng lưu lượng từ cùng một người dùng, không gian làm việc, khách thuê, hoặc cuộc trò chuyện đến cùng một bản sao. Đây là cách đơn giản nhất để bắt đầu với trò chuyện nhiều lượt vì các lời nhắc tiếp theo thường chia sẻ ngữ cảnh trước đó.

Sự đánh đổi là danh tính người dùng không phải lúc nào cũng giống với sự tương đồng của lời nhắc. Hai người dùng có thể chia sẻ cùng một lời nhắc hệ thống dài và vẫn được định tuyến đến các bản sao khác nhau. Định tuyến theo phiên cũng có thể bị gián đoạn khi thêm hoặc xóa các bản sao.

2. Định Tuyến Theo Băm Tiền Tố

Định tuyến theo băm tiền tố sử dụng chính lời nhắc làm khóa định tuyến. Bộ định tuyến băm phần đầu ổn định của lời nhắc và gửi các tiền tố khớp đến cùng một bản sao.

Điều này hoạt động tốt hơn khi các lời nhắc hệ thống lặp lại, ví dụ ít-shot, hoặc ngữ cảnh được truy xuất chia sẻ quan trọng hơn danh tính người dùng. Phần khó là chọn ranh giới tiền tố. Nếu băm bao gồm dấu thời gian, ID yêu cầu, hoặc trường cụ thể của người dùng, khóa định tuyến sẽ bị phân mảnh và việc tái sử dụng bộ nhớ đệm sẽ bị phá vỡ.

3. Định Tuyến Nhận Thức Sự Kiện Bộ Nhớ Đệm

Phương pháp tiên tiến nhất theo dõi các khối bộ nhớ đệm nào đang cư trú trên bản sao nào, sau đó định tuyến từng yêu cầu đến bản sao có sự trùng lặp bộ nhớ đệm tốt nhất trong khi vẫn xem xét tải. Dự án bộ định tuyến llm-d mô tả một bộ chọn điểm cuối xem xét tính cục bộ của bộ nhớ đệm KV, tải hiện tại, và mức độ ưu tiên khi chọn nơi yêu cầu nên được gửi đến.

Điều này phức tạp hơn, nhưng đó là hướng đi đúng cho các đội ngũ có thông lượng cao, nơi các lần bỏ lỡ bộ nhớ đệm được đo lường, đắt đỏ, và thường xuyên.

Khi Nào Nên Bỏ Qua

Định tuyến bộ nhớ đệm KV không tự động đáng với sự phức tạp. Nó không phù hợp khi các lời nhắc ngắn, hầu hết là duy nhất, hoặc được xử lý theo lô với ít cấu trúc lặp lại.

Tóm tắt tài liệu, tạo nội dung sáng tạo, trích xuất một lần, và nhiều công việc theo lô không đồng bộ có thể không có đủ sự trùng lặp tiền tố chia sẻ để biện minh cho định tuyến nhận thức bộ nhớ đệm. Trong những trường hợp đó, cân bằng tải thông thường có thể gọn gàng hơn.

Bài kiểm tra thực tế là đo lường: tỷ lệ truy cập bộ nhớ đệm, thời gian đến token đầu tiên, thông lượng, độ sâu hàng đợi, áp lực bộ nhớ GPU và chi phí cho mỗi nhiệm vụ hoàn thành. Nếu định tuyến nhận thức bộ nhớ đệm không thay đổi các số liệu đó, hãy sửa cấu trúc prompt trước.

Cách Điều Này Phù Hợp Với ShareAI

ShareAI là một thị trường AI và API, không phải bộ cân bằng tải phục vụ mô hình bên trong cụm GPU của bạn. Các nhà phát triển sử dụng ShareAI để truy cập nhiều mô hình thông qua một API, so sánh tín hiệu thị trường, định tuyến yêu cầu, quản lý sử dụng và chuyển đổi khi một tuyến bị suy giảm.

Điều đó vẫn làm cho định tuyến bộ nhớ đệm KV trở nên liên quan. Nếu bạn vận hành ngăn xếp suy luận của riêng mình, nó giúp bạn đặt câu hỏi tốt hơn về cơ sở hạ tầng. Nếu bạn sử dụng các mô hình được lưu trữ, nó giúp bạn đánh giá tại sao hai tuyến với tên mô hình tương tự có thể hoạt động khác nhau dưới tải công việc thực tế.

Đối với Người Xây Dựng, điều này cũng liên quan đến giá cả. Một ứng dụng với các prompt dài, ngữ cảnh RAG lặp lại hoặc vòng lặp tác nhân có thể tạo ra việc sử dụng AI rất không đồng đều. ShareAI Builder cho phép chủ sở hữu ứng dụng định tuyến lưu lượng suy luận AI thông qua ShareAI, đặt mức lợi nhuận hoặc phụ phí, để khách hàng trả tiền cho việc sử dụng định tuyến qua ShareAI và nhận thanh toán hàng tháng dựa trên việc sử dụng được tạo ra. Bản thân ứng dụng vẫn được xây dựng bên ngoài ShareAI.

Đối với việc chọn mô hình và đánh giá tuyến, bắt đầu với chợ mô hình ShareAI. Đối với các nguyên tắc cơ bản về triển khai, sử dụng Tài liệu tham khảo API ShareAI.

Danh Sách Kiểm Tra Định Tuyến Bộ Nhớ Đệm KV

  • Đặt nội dung prompt ổn định trước: prompt hệ thống, quy tắc công cụ, ví dụ và ngữ cảnh lặp lại.
  • Di chuyển các trường động sau: dấu thời gian, ID yêu cầu, thông tin cụ thể của người dùng và hướng dẫn một lần.
  • Đo lường tỷ lệ truy cập bộ nhớ đệm trước và sau khi thay đổi định tuyến.
  • Theo dõi thời gian đến token đầu tiên, thông lượng, độ sâu hàng đợi và áp lực VRAM cùng nhau.
  • Bắt đầu với định tuyến hash tiền tố trước khi xây dựng định tuyến nhận thức sự kiện bộ nhớ đệm.
  • Chia các quy tắc định tuyến theo tải công việc thay vì ép buộc một chính sách toàn cầu.
  • Giữ chi phí và độ trễ hiển thị ở cấp độ ứng dụng, không chỉ bên trong cụm suy luận.

Câu hỏi thường gặp

KV cache routing là gì?

KV cache routing là một chiến lược định tuyến gửi các yêu cầu với tiền tố gợi ý lặp lại đến các bản sao có khả năng đã giữ bộ nhớ cache KV tương ứng. Mục tiêu là giảm tính toán tiền điền dư thừa.

KV cache routing khác gì so với prefix caching?

Prefix caching là khả năng của động cơ phục vụ mô hình để tái sử dụng trạng thái đã lưu trong bộ nhớ cache cho các tiền tố gợi ý được chia sẻ. KV cache routing là chiến lược phân bổ lưu lượng giúp các yêu cầu phù hợp đến nơi trạng thái đã lưu trong bộ nhớ cache đó đã tồn tại.

Tại sao định tuyến vòng tròn lại gây hại cho prefix caching?

Định tuyến vòng tròn phân tán các yêu cầu trên các bản sao mà không biết bản sao nào có tiền tố đã lưu trong bộ nhớ cache. Một gợi ý lặp lại có thể bỏ lỡ bộ nhớ cache chỉ vì nó đến một bản sao khác.

Những khối lượng công việc nào hưởng lợi nhiều nhất từ KV cache routing?

Chat nhiều lượt, RAG, các tác nhân mã hóa, các tác nhân hỗ trợ, gợi ý few-shot, và các ứng dụng với các gợi ý hệ thống dài được chia sẻ là những ứng viên mạnh nhất vì chúng tái sử dụng các tiền tố gợi ý đáng kể.

Khi nào một nhóm nên bỏ qua KV cache routing?

Bỏ qua nó khi các gợi ý ngắn, chủ yếu là duy nhất, hoặc theo lô với cấu trúc lặp lại ít. Trong những trường hợp đó, sự phức tạp của định tuyến có thể không mang lại giá trị đáng kể.

vLLM và SGLang có hỗ trợ prefix caching không?

Có. Tài liệu vLLM ghi nhận việc tự động prefix caching, và tài liệu SGLang ghi nhận prefix caching cho bộ nhớ cache KV được chia sẻ trên các chuỗi token phổ biến. Động cơ phục vụ vẫn cần hỗ trợ định tuyến khi có nhiều bản sao liên quan.

KV cache routing có giống với semantic caching không?

Không. KV cache routing hoạt động với việc tái sử dụng tiền tố chính xác hoặc gần cấu trúc bên trong phục vụ suy luận. Semantic caching lưu trữ và tái sử dụng các phản hồi hoặc kết quả trung gian dựa trên ý nghĩa, thường với các embeddings hoặc ngưỡng tương tự.

ShareAI có thay thế bộ cân bằng tải nhận thức KV-cache không?

Không. ShareAI là thị trường AI và lớp API cho truy cập mô hình, định tuyến, chuyển đổi dự phòng, sử dụng và thanh toán. Định tuyến nhận thức KV-cache là cơ sở hạ tầng phục vụ mô hình cấp thấp dành cho các nhóm vận hành các bản sao suy luận.

Các nhà xây dựng nên suy nghĩ như thế nào về định tuyến bộ nhớ đệm KV?

Các nhà xây dựng nên coi hành vi bộ nhớ đệm là một yếu tố chi phí trong các ứng dụng nặng AI. Nếu ứng dụng của họ có mức sử dụng không đồng đều, ShareAI có thể giúp định tuyến và kiếm tiền từ lưu lượng AI đó trong khi ứng dụng vẫn được xây dựng và sở hữu bên ngoài ShareAI.

Các nhóm nên đo lường gì trước khi thay đổi định tuyến?

Đo lường tỷ lệ truy cập bộ nhớ đệm, thời gian đến token đầu tiên, thông lượng, độ sâu hàng đợi, áp lực VRAM, chi phí mỗi nhiệm vụ và chất lượng đầu ra. Thay đổi định tuyến nên cải thiện khối lượng công việc, không chỉ bảng điều khiển.

Định tuyến bộ nhớ đệm KV có thể giảm chi phí API AI không?

Nó có thể giảm chi phí cơ sở hạ tầng cho các nhóm tự phục vụ mô hình vì công việc điền trước ít dư thừa hơn có thể cải thiện hiệu quả GPU. Đối với các API được lưu trữ, hiệu quả phụ thuộc vào việc nhà cung cấp có tiết lộ những khoản tiết kiệm đó trong giá cả hoặc hiệu suất hay không.

Bài viết này thuộc các danh mục sau: Nhà phát triển, Thông tin chi tiết

Khám Phá Các Mô Hình AI

So sánh giá, độ trễ và khả năng hoạt động giữa các nhà cung cấp.

Bài Viết Liên Quan

Thanh toán và đo lường AI: Những điều các nhà xây dựng nên theo dõi đầu tiên

Danh sách kiểm tra thực tế của Builder để theo dõi việc sử dụng AI, định tuyến suy luận do khách hàng trả qua ShareAI, và tránh tùy chỉnh …

Grok 4.3 trên Amazon Bedrock: Tại sao lựa chọn định tuyến lại quan trọng

Grok 4.3 trên Amazon Bedrock mang đến cho các nhóm AWS một tùy chọn mô hình tiên phong khác, nhưng sản xuất thực sự …

Khám Phá Các Mô Hình AI

So sánh giá, độ trễ và khả năng hoạt động giữa các nhà cung cấp.

Mục lục

Bắt đầu Hành trình AI của Bạn Hôm nay

Đăng ký ngay và truy cập hơn 150+ mô hình được hỗ trợ bởi nhiều nhà cung cấp.