Tối ưu hóa suy luận AI: tái sử dụng KV cache với CacheBlend cho RAG và agent

Tối ưu hóa suy luận AI · KV cache

Tối ưu hóa suy luận AI là việc giảm thời gian GPU, độ trễ và chi phí cho mỗi câu trả lời của mô hình mà vẫn giữ được chất lượng. Với ứng dụng RAG và agent, một nguồn lãng phí lớn là GPU phải xử lý lại cùng một tập tài liệu chỉ vì thứ tự của chúng trong prompt thay đổi. Bài viết điểm qua các hướng tối ưu suy luận LLM phổ biến, sau đó đi sâu vào CacheBlend, kỹ thuật tái sử dụng KV cache được công bố tại EuroSys 2025, hiện có trong LMCache mã nguồn mở và nền tảng Tensormesh, cùng số liệu theo nguồn công bố, giới hạn cần biết và yêu cầu về hạ tầng.

IT ManagerInfra / MLOpsCTOĐối tác SI

1. Vì sao doanh nghiệp cần tối ưu hóa suy luận AI

Phần lớn doanh nghiệp không tự huấn luyện mô hình nền mà dùng mô hình có sẵn, nên chi phí phát sinh hằng ngày nằm chủ yếu ở suy luận (inference): mỗi câu hỏi của người dùng, mỗi bước của agent đều chiếm thời gian GPU. Khi số người dùng tăng, prompt dài hơn và agent gọi mô hình nhiều lượt hơn, chi phí GPU, điện năng và độ trễ đều tăng theo. Câu hỏi thực tế vì thế chuyển thành: làm sao phục vụ nhiều yêu cầu hơn trên cùng số GPU mà người dùng không phải chờ lâu hơn.

Mỗi lần mô hình ngôn ngữ lớn (LLM) trả lời, quá trình suy luận gồm hai pha. Pha prefill đọc toàn bộ prompt đầu vào và tính ra KV cache, tức các vector key/value của từng token ở từng lớp attention mà mô hình cần để sinh chữ tiếp theo. Pha decode sau đó sinh từng token đầu ra. Thời gian người dùng chờ đến chữ đầu tiên, gọi là TTFT (time to first token), gần như do pha prefill quyết định.

Với chatbot ngắn, prefill không đáng kể. Nhưng ứng dụng RAG (retrieval-augmented generation) thường ghép vào prompt vài đoạn tài liệu truy xuất từ kho nội bộ, còn agent lập trình hay agent gọi công cụ thì đưa lại cùng các file, kết quả công cụ ở mỗi bước. Prompt dễ dài hàng chục nghìn token, và phần lớn nội dung trong đó GPU đã từng xử lý ở các yêu cầu trước.

Vì vậy, tối ưu hóa suy luận AI không chỉ là mua GPU mạnh hơn. Trọng tâm là giảm khối lượng tính toán thừa cho mỗi yêu cầu và khai thác phần cứng hiện có hiệu quả hơn.

2. Các hướng tối ưu hóa suy luận AI phổ biến

Có thể chia các kỹ thuật tối ưu suy luận LLM thành bốn nhóm, tác động ở các tầng khác nhau của hệ thống (Hình 1). Các nhóm này bổ sung cho nhau chứ không loại trừ nhau, và một hệ thống phục vụ trong sản xuất thường kết hợp nhiều nhóm.

Bốn nhóm kỹ thuật tối ưu hóa suy luận AI BỐN NHÓM KỸ THUẬT TỐI ƯU HÓA SUY LUẬN AI NHÓM 1 Tầng mô hình Lượng tử hóa FP8, INT4 Mô hình nhỏ hơn Chưng cất mô hình Giảm VRAM, tăng tốc tính; cần kiểm tra lại chất lượng NHÓM 2 Engine phục vụ Continuous batching PagedAttention (vLLM) Speculative decoding Tăng thông lượng, tăng tốc sinh token ở pha decode NHÓM 3 Quản lý KV cache Prefix caching Offload ra DRAM / NVMe CacheBlend (theo đoạn) Giảm prefill và TTFT khi prompt lặp lại nhiều NHÓM 4 Kiến trúc cụm Tách prefill / decode Định tuyến theo cache Chia sẻ KV giữa node Tăng tỷ lệ dùng lại KV cache trong toàn cụm ▲ TRỌNG TÂM CỦA BÀI VIẾT Các nhóm bổ sung cho nhau; mức lợi ích phụ thuộc mô hình, tải và tỷ lệ nội dung lặp lại trong prompt. Minh họa của CSC.
Hình 1. Bốn nhóm kỹ thuật tối ưu hóa suy luận AI. Nhóm quản lý KV cache, trong đó có CacheBlend, giảm khối lượng prefill nên có lợi lớn với RAG và agent, nơi cùng tài liệu và kết quả công cụ được gửi lại nhiều lần.
  • Tầng mô hình: lượng tử hóa trọng số (ví dụ FP8, INT4), dùng mô hình nhỏ hơn hoặc mô hình chưng cất. Cách này giảm bộ nhớ GPU và tăng tốc tính toán, nhưng cần kiểm tra lại chất lượng trên bài toán cụ thể.
  • Engine phục vụ: continuous batching, quản lý bộ nhớ KV cache theo trang (PagedAttention trong vLLM), speculative decoding. Nhóm này chủ yếu tăng thông lượng và tốc độ sinh token ở pha decode.
  • Quản lý KV cache: prefix caching, đưa KV cache ra DRAM hoặc SSD NVMe, tái sử dụng KV cache theo từng đoạn như CacheBlend. Nhóm này giảm khối lượng prefill, nên giảm TTFT và thời gian GPU khi prompt có nhiều nội dung lặp lại.
  • Kiến trúc cụm: tách prefill và decode ra các máy chủ khác nhau, định tuyến yêu cầu tới node đang giữ KV cache phù hợp, chia sẻ KV cache giữa các node để tăng tỷ lệ dùng lại trong toàn cụm.

Vì sao tái sử dụng KV cache có lợi lớn với RAG và agent

Các engine phục vụ phổ biến như vLLM hay SGLang đã có prefix caching: lưu KV cache và dùng lại khi prompt mới bắt đầu bằng đúng chuỗi token đã gặp. Hạn chế nằm ở chữ “bắt đầu”. Prefix caching chỉ tái sử dụng được đến vị trí khác biệt đầu tiên. Trong RAG, bộ truy xuất xếp tài liệu theo điểm liên quan nên cùng một tài liệu có thể đứng thứ nhất ở câu hỏi này nhưng thứ ba ở câu hỏi khác. Chỉ cần thứ tự đổi, phần phía sau bị coi là “mới” và GPU phải prefill lại toàn bộ. Theo Tensormesh, với tải RAG mà họ thử nghiệm, prefix caching vẫn phải tính lại khoảng 90% số token của mỗi yêu cầu.

Ở quy mô hàng trăm agent hoặc hàng nghìn người dùng, lượng tính toán lặp lại này chuyển thành chi phí GPU, điện năng và TTFT cao vào giờ cao điểm. Với loại tải này, tái sử dụng KV cache bất kể vị trí là hướng đáng ưu tiên đánh giá, và CacheBlend là ví dụ tiêu biểu.

3. CacheBlend: tối ưu suy luận LLM bằng tái sử dụng KV cache

CacheBlend được nhóm tác giả từ ĐH Chicago và cộng sự trình bày trong bài báo “CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion” tại hội nghị ACM EuroSys 2025. Theo blog LMCache, bài báo nhận giải Best Paper của hội nghị. Ba đồng tác giả Junchen Jiang, Yihua Cheng và Kuntai Du cũng là những người đồng sáng lập Tensormesh, theo trang giới thiệu của công ty. Ý tưởng chính của CacheBlend có ba phần.

Lưu KV cache theo từng đoạn, dùng lại ở mọi vị trí

Thay vì chỉ lưu theo tiền tố, hệ thống tính và lưu KV cache riêng cho từng đoạn văn bản (chunk), ví dụ từng tài liệu hoặc từng file. Khi một prompt mới chứa lại đoạn đó, ở bất kỳ vị trí nào, KV cache đã lưu được lấy ra ghép vào thay vì tính lại. Hình 2 minh họa sự khác biệt khi cùng ba tài liệu A, B, C xuất hiện lại với thứ tự khác.

Prefix caching so với CacheBlend khi thứ tự tài liệu thay đổi YÊU CẦU TRƯỚC (KV CACHE ĐÃ LƯU) Hệ thống Tài liệu A Tài liệu B Tài liệu C Câu hỏi 1 YÊU CẦU MỚI: CÙNG TÀI LIỆU, THỨ TỰ B → A → C Prefix caching chỉ phần đầu trùng khớp Hệ thống Tài liệu B Tài liệu A Tài liệu C Câu hỏi 2 Từ “Tài liệu B” trở đi bị coi là nội dung mới, GPU prefill lại toàn bộ dù đã từng tính. CacheBlend tái dùng theo từng đoạn Hệ thống Tài liệu B Tài liệu A Tài liệu C Câu hỏi 2 KV cache của từng tài liệu được lấy lại ở vị trí mới; chỉ một phần nhỏ token được tính lại để nối ngữ cảnh. Tái dùng (khớp tiền tố) Tái dùng theo đoạn Token chọn để tính lại Prefill đầy đủ Minh họa của CSC, không theo tỷ lệ thực.
Hình 2. Cùng ba tài liệu nhưng thứ tự thay đổi: prefix caching chỉ dùng lại phần lời nhắc hệ thống, còn CacheBlend dùng lại KV cache của cả ba tài liệu và chỉ tính lại một phần nhỏ token. Minh họa theo mô tả trong bài báo CacheBlend.

Tính lại có chọn lọc để giữ chất lượng

Nếu chỉ ghép thẳng KV cache của các đoạn tính riêng rẽ, câu trả lời sẽ kém đi. Lý do là khi tính riêng, mỗi đoạn không “nhìn thấy” các đoạn đứng trước nó trong prompt mới, tức thiếu cross-attention giữa các đoạn, và thông tin vị trí cũng không khớp. Bài báo CacheBlend cho thấy cách tái sử dụng toàn phần như vậy có chất lượng thấp hơn rõ rệt so với prefill đầy đủ.

CacheBlend xử lý bằng cách chỉ tính lại một tập nhỏ token có KV cache lệch nhiều nhất so với khi prefill đầy đủ, nhóm tác giả gọi là token HKVD (high KV deviation). Việc chọn token diễn ra theo từng lớp: lớp đầu chọn rộng hơn một chút, các lớp sau thu hẹp dần. Mặc định trong bài báo là tính lại khoảng 15% token mỗi lớp; tài liệu LMCache cũng dùng tỷ lệ 0,15 trong ví dụ cấu hình. Theo bài báo, với mô hình Yi-34B, tỷ lệ tính lại từ 5% đến 18% hầu như không làm giảm điểm chất lượng so với tính lại toàn bộ.

Chồng việc tính lại với việc tải KV cache từ tầng lưu trữ

Điểm quan trọng với người làm hạ tầng: KV cache của kho tài liệu có thể rất lớn, không đủ chỗ trong bộ nhớ GPU. CacheBlend tải KV cache theo từng lớp và cho GPU tính lại lớp hiện tại trong khi lớp kế tiếp đang được tải về (Hình 3). Theo bài báo, với Llama-7B và ngữ cảnh 4K token, tính lại 15% mất khoảng 3 ms mỗi lớp, trong khi tải một lớp từ SSD NVMe mất khoảng 16 ms, nên thời gian tính lại gần như bị che hoàn toàn. Nhờ vậy KV cache có thể nằm ở thiết bị chậm hơn nhưng dung lượng lớn hơn GPU, như DRAM máy chủ hay SSD NVMe, mà không làm TTFT tăng thêm. Với mô hình lớn hơn như Llama-70B, bài báo ghi nhận việc tính lại có thể lâu hơn việc tải, khi đó bộ điều khiển sẽ chọn tỷ lệ tính lại và thiết bị lưu trữ phù hợp.

Tải KV cache theo lớp, chồng với tính lại LUỒNG DỮ LIỆU Tầng lưu KV cache DRAM máy chủ SSD NVMe cục bộ Storage chia sẻ (mở rộng) PCIe / mạng băng thông quyết định tốc độ tải GPU Engine phục vụ (ví dụ vLLM) + lớp quản lý KV cache (LMCache, Tensormesh) Ghép KV, tính lại token HKVD, rồi sinh câu trả lời CHỒNG TẢI VÀ TÍNH LẠI THEO TỪNG LỚP Tải KV cache Tính lại ~15% Lớp 1 Lớp 2 Lớp 3 Lớp 4 … Lớp 1 Lớp 2 Lớp 3 Lớp 4 thời gian Trong khi GPU tính lại lớp i, KV cache của lớp i+1 đang được tải về. Khi tải chậm hơn tính, phần tính lại gần như không cộng thêm vào TTFT. Minh họa của CSC dựa trên mô tả trong bài báo CacheBlend; độ dài khối không theo tỷ lệ đo thực.
Hình 3. KV cache được tải theo từng lớp từ DRAM hoặc SSD NVMe về GPU; việc tính lại token đã chọn của lớp trước diễn ra song song với việc tải lớp sau. Bài báo CacheBlend đánh giá với DRAM và SSD NVMe; storage chia sẻ là hướng mở rộng, chưa được đánh giá trong bài báo.

Về phía ứng dụng, Tensormesh cho biết trên nền tảng của họ, prompt vẫn là văn bản thông thường nên không cần sửa ứng dụng, và khi không có nội dung lặp lại thì hiệu năng tương đương prefix caching. Với bản mã nguồn mở, tài liệu LMCache hướng dẫn bật chế độ blending, chèn chuỗi phân cách giữa các đoạn và token hóa từng đoạn riêng trước khi gửi vào vLLM, nên đội phát triển pipeline RAG cần làm thêm một số bước tích hợp.

4. Kết quả theo các nguồn công bố

Có hai nhóm số liệu nên đọc riêng: số liệu học thuật trong bài báo, so với việc prefill lại toàn bộ; và số liệu Tensormesh công bố cho nền tảng thương mại của họ, so với prefix caching trên tải RAG cụ thể.

2,2–3,3 lần

TTFT giảm

So với prefill lại toàn bộ, trên 3 mô hình và 4 bộ dữ liệu (theo bài báo CacheBlend).

2,8–5 lần

Thông lượng tăng

So với prefill lại toàn bộ, cùng cấu hình thử nghiệm (theo bài báo CacheBlend).

2,6 lần

Lưu lượng RAG trên cùng GPU

Từ 0,75 lên 2,0 yêu cầu/giây so với prefix caching (Tensormesh công bố).

Tóm tắt số liệu và điều kiện đo theo từng nguồn
Chỉ số Kết quả So với Điều kiện / nguồn
TTFT Giảm 2,2–3,3 lần Prefill lại toàn bộ Mistral-7B, Yi-34B, Llama-70B; bộ dữ liệu 2WikiMQA, Musique, SAMSum, MultiNews; GPU NVIDIA A40. Bài báo CacheBlend.
Thông lượng Tăng 2,8–5 lần Prefill lại toàn bộ Cùng cấu hình trên. Bài báo CacheBlend.
Chất lượng Chênh lệch F1/Rouge-L khoảng 0,02 trở xuống Prefill lại toàn bộ Bài báo CacheBlend (các phần của bài nêu ngưỡng hơi khác nhau, từ 0,002 đến 0,03).
Lưu lượng tối đa 0,75 → 2,0 yêu cầu/giây (2,6 lần) Prefix caching RAG, yêu cầu 32K token, 80% nội dung tái sử dụng, cùng phần cứng, chạy trên vLLM. Tensormesh tự đo.
Thời gian GPU mỗi yêu cầu 1,29 giây → 0,50 giây Prefix caching Cùng thử nghiệm trên. Tensormesh tự đo.
TTFT từng yêu cầu Nhanh hơn tới 2,9 lần khi phần lớn yêu cầu là nội dung lặp lại (2,4 lần với một yêu cầu đơn lẻ); nhanh hơn khoảng 15% khi chỉ 1/5 nội dung lặp lại Prefix caching Tensormesh tự đo; phần văn bản của bài không nêu phần cứng và mô hình.

Hình 4 trực quan hóa hai chỉ số dưới tải mà Tensormesh công bố. Theo giải thích của hãng, chênh lệch đến từ khối lượng tính toán: với prefix caching, khoảng 90% token của mỗi yêu cầu phải tính lại; với CacheBlend, chỉ phần văn bản mới (khoảng 10%) cộng với khoảng 15% token của các tài liệu tái sử dụng cần tính. Tensormesh cũng ghi nhận ở tải nhẹ hai cách cho TTFT tương đương, khoảng một giây; khác biệt chỉ lộ rõ khi tải tăng, lúc TTFT của prefix caching vượt 10 giây trước khi đạt 1 yêu cầu/giây.

Prefix caching so với CacheBlend dưới tải RAG, theo Tensormesh LƯU LƯỢNG TỐI ĐA (YÊU CẦU/GIÂY) cao hơn là tốt hơn Prefix caching 0,75 CacheBlend 2,0 THỜI GIAN GPU MỖI YÊU CẦU (GIÂY) thấp hơn là tốt hơn Prefix caching 1,29 CacheBlend 0,50 Nguồn: Tensormesh, blog ngày 04/11/2026. Tải RAG, yêu cầu 32K token, 80% nội dung tái sử dụng với thứ tự tài liệu thay đổi, cùng phần cứng cho cả hai cấu hình. Số liệu do hãng tự đo; chi tiết phần cứng và mô hình không nêu trong phần văn bản của bài. Biểu đồ do CSC vẽ lại từ số liệu công bố.
Hình 4. Theo số liệu Tensormesh công bố, trên cùng phần cứng, CacheBlend nâng lưu lượng tối đa từ 0,75 lên 2,0 yêu cầu/giây và giảm thời gian GPU mỗi yêu cầu từ 1,29 xuống 0,50 giây so với prefix caching.

Từ số liệu trên, cách đáng tin cậy nhất để biết mức giảm chi phí suy luận AI cho doanh nghiệp mình là đo trên chính tải thực tế: tỷ lệ nội dung lặp lại, độ dài prompt, mô hình và mục tiêu TTFT. Trang chủ Tensormesh giới thiệu công cụ Demonstrator cho phép thử tỷ lệ cache hit trên prompt của chính mình; khi thử, doanh nghiệp nên dùng dữ liệu mẫu không nhạy cảm. Bước tiếp theo là một đợt PoC trên hạ tầng của doanh nghiệp, so sánh có và không có tái sử dụng KV cache.

Cách đọc số liệu cho đúng. Mức “2,2–3,3 lần” của bài báo là so với prefill lại toàn bộ, còn “2,6 lần” của Tensormesh là so với prefix caching. Hai con số đo trong điều kiện khác nhau nên không cộng dồn hay so trực tiếp với nhau.

5. Khi nào hữu ích và giới hạn cần biết

Tình huống phù hợp

  • RAG trên kho tài liệu dùng chung: quy trình, chính sách, tài liệu kỹ thuật, hợp đồng mẫu được nhiều người hỏi lặp lại, mỗi lần bộ truy xuất xếp thứ tự khác nhau.
  • Agent lập trình: mỗi bước agent đọc lại cùng các file trong codebase.
  • Trợ lý AI gọi nhiều công cụ: kết quả công cụ và file đính kèm lặp lại giữa các lượt.

Theo Tensormesh, lợi ích tăng khi tỷ lệ tái sử dụng cao và tài liệu dài; tốc độ decode không đổi so với prefix caching, tức lợi ích tập trung ở pha prefill và TTFT. Vì vậy CacheBlend nên được xem là một mảnh trong chiến lược tối ưu tổng thể, kết hợp với các kỹ thuật ở tầng mô hình và engine phục vụ đã nêu ở mục 2.

Giới hạn theo chính các nguồn

  • Không có nội dung lặp lại thì không có lợi ích: hiệu năng khi đó tương đương prefix caching (theo Tensormesh). Ở mức tái sử dụng 20%, TTFT chỉ nhanh hơn khoảng 15%.
  • Chất lượng gần như, chứ không phải tuyệt đối, bằng prefill đầy đủ: Tensormesh cho biết chất lượng ngang tính lại toàn bộ trên 4 trong 5 bộ dữ liệu hỏi đáp công khai mà họ thử; bài báo ghi nhận mức chênh nhỏ về điểm F1/Rouge-L. Doanh nghiệp nên tự đánh giá trên bộ câu hỏi của mình trước khi đưa vào sản xuất.
  • Phạm vi kiến trúc mô hình: bài báo nêu kỹ thuật hiện áp dụng cho mô hình dạng transformer và đã thử với Mistral-7B, Yi-34B, Llama-70B; các kiến trúc khác như Mamba, Griffin là hướng nghiên cứu tiếp.
  • Phạm vi thử nghiệm: bài báo chưa nghiên cứu việc chia sẻ KV cache giữa nhiều node tính toán và chỉ đánh giá một tầng lưu trữ tại một thời điểm.
  • Số liệu do hãng và nhóm tác giả tự đo: các giá trị “tới” là trường hợp thuận lợi nhất trong điều kiện thử nghiệm.

6. Hạ tầng cho tối ưu hóa suy luận AI: lưu trữ, mạng, phần mềm

CacheBlend chuyển một phần bài toán từ “thêm GPU” sang “lưu và tải KV cache hiệu quả”. Điều đó đặt ra ba câu hỏi thiết kế cho đội hạ tầng.

KV cache nằm ở đâu? KV cache của một kho tài liệu lớn thường vượt xa bộ nhớ GPU. Bài báo CacheBlend đánh giá với DRAM máy chủ và SSD NVMe cục bộ, và cho thấy nhờ tải theo lớp, tầng chậm hơn vẫn dùng được mà không cộng thêm TTFT trong nhiều cấu hình. Khi mở rộng ra nhiều máy chủ GPU, việc đặt KV cache trên storage NVMe chia sẻ hoặc object storage giúp các node dùng chung bộ đệm, nhưng đây là hướng triển khai cần kiểm chứng thêm, không phải kết quả đã đo trong bài báo. CSC đã phân tích chi tiết các tầng này trong bài Phân tầng lưu trữ KV cache cho suy luận AI; Hình 5 tóm tắt cách chọn tầng.

Chọn tầng lưu KV cache Nhanh nhất, dung lượng nhỏ nhất Dung lượng lớn, chia sẻ giữa các node TẦNG 0 Bộ nhớ GPU (HBM) Dùng cho yêu cầu đang xử lý Đắt, ít chỗ nhất TẦNG 1 DRAM máy chủ Đã đánh giá trong bài báo Đoạn văn “nóng”, truy cập thường xuyên Mất khi khởi động lại TẦNG 2 SSD NVMe cục bộ Đã đánh giá trong bài báo Kho tài liệu lớn trên một máy chủ Chỉ node đó dùng được TẦNG 3 NVMe chia sẻ (NVMe/TCP, NVMe-oF) Nhiều node GPU dùng chung KV cache Cần mạng 100–400G TẦNG 4 Object storage (S3) Lưu dài hạn, dung lượng rất lớn Độ trễ cao nhất Tầng đã được bài báo CacheBlend đánh giá Hướng mở rộng, cần PoC trên tải thực tế Sơ đồ tham khảo của CSC; lựa chọn tầng phụ thuộc kích thước mô hình, độ dài ngữ cảnh, tỷ lệ tái sử dụng và số node GPU.
Hình 5. Năm tầng có thể chứa KV cache. Tầng gần GPU nhanh nhưng nhỏ; tầng xa lớn và chia sẻ được nhưng cần băng thông đủ để việc tải theo lớp vẫn che được thời gian tính lại. Tensormesh Platform cũng tổ chức KV cache theo ba tầng tương tự: bộ nhớ GPU, bộ nhớ máy chủ và lưu trữ ngoài.

Mạng và băng thông có đủ không? Cơ chế chồng tải với tính chỉ hiệu quả khi tốc độ tải KV cache theo kịp. Bài báo đo SSD NVMe ở khoảng 4,8 GB/s. Khi KV cache nằm trên storage chia sẻ, băng thông mạng giữa máy chủ GPU và storage, thường ở mức 100–400G cho cụm AI, trở thành yếu tố cần sizing cùng lúc với GPU. Bài Lưu trữ cho AI: chọn object, file hay block storage có thêm góc nhìn về lựa chọn kiểu lưu trữ.

Phần mềm nào cần có? Bản cài đặt của bài báo được xây trên vLLM. Bản mã nguồn mở hiện có trong LMCache, lớp quản lý KV cache tích hợp với vLLM; tài liệu LMCache ghi chú trang hướng dẫn blending đang mô tả chế độ in-process (đã ngừng khuyến nghị) và khuyên chuyển sang chế độ MP, nên đội vận hành cần theo dõi phiên bản tương thích và quy trình nâng cấp. Với môi trường sản xuất cần công cụ vận hành, giám sát và hỗ trợ từ hãng, Tensormesh đưa CacheBlend vào nền tảng thương mại chạy trên vLLM.

Về lựa chọn GPU, lợi ích của CacheBlend không thay thế việc chọn máy chủ phù hợp với mô hình và mức tải; tham khảo cách chọn máy chủ GPU cho suy luận GenAI. Nếu đang cân nhắc giữa đầu tư hạ tầng riêng và thuê GPU cloud, việc giảm thời gian GPU mỗi yêu cầu sẽ thay đổi phép tính tổng chi phí, xem thêm mua máy chủ GPU hay thuê GPU cloud.

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

Tối ưu hóa suy luận AI gồm những hướng nào?

Có bốn nhóm chính: tối ưu mô hình (lượng tử hóa, mô hình nhỏ hơn hoặc chưng cất), tối ưu engine phục vụ (continuous batching, PagedAttention, speculative decoding), tối ưu KV cache (prefix caching, offload KV cache ra DRAM hoặc NVMe, tái sử dụng theo đoạn như CacheBlend) và tối ưu kiến trúc cụm (tách prefill và decode, định tuyến theo cache). Với RAG và agent có nhiều nội dung lặp lại, tái sử dụng KV cache là hướng đáng ưu tiên đánh giá vì tác động trực tiếp vào pha prefill và TTFT.

CacheBlend khác prefix caching ở điểm nào?

Prefix caching chỉ dùng lại KV cache khi prompt mới bắt đầu bằng đúng chuỗi token đã gặp, nên chỉ cần đổi thứ tự tài liệu là phần phía sau phải tính lại. CacheBlend lưu KV cache theo từng đoạn và dùng lại ở bất kỳ vị trí nào, sau đó tính lại một phần nhỏ token (mặc định khoảng 15% theo bài báo) để khôi phục liên kết ngữ cảnh giữa các đoạn.

CacheBlend có làm giảm chất lượng câu trả lời không?

Theo bài báo CacheBlend, mức chênh điểm F1/Rouge-L so với prefill đầy đủ là nhỏ, khoảng 0,02 trở xuống. Tensormesh cho biết chất lượng ngang tính lại toàn bộ trên 4 trong 5 bộ dữ liệu hỏi đáp mà họ thử. Doanh nghiệp nên đánh giá trên bộ câu hỏi của chính mình trước khi đưa vào sản xuất.

Có thể giảm chi phí suy luận AI bao nhiêu nhờ CacheBlend?

Tùy tải. Theo số liệu Tensormesh công bố, với RAG 32K token và 80% nội dung tái sử dụng, cùng số GPU phục vụ được nhiều hơn 2,6 lần lưu lượng; nhưng ở mức tái sử dụng 20%, TTFT chỉ nhanh hơn khoảng 15%, và khi không có nội dung lặp lại thì không có lợi ích. Cách chắc chắn nhất là đo trên tải thực tế qua một đợt PoC.

Cần gì để triển khai CacheBlend trong doanh nghiệp?

Về hạ tầng, ngoài máy chủ GPU cần chỗ lưu KV cache ngoài GPU (DRAM, SSD NVMe cục bộ, hoặc storage chia sẻ khi có nhiều node) và băng thông đủ để tải KV cache theo lớp. Về phần mềm, có thể dùng LMCache mã nguồn mở tích hợp với vLLM, hoặc Tensormesh Platform do đội ngũ tạo ra LMCache phát triển, khi cần công cụ vận hành trên Kubernetes, giám sát, bảo mật và đa người thuê. CSC là đối tác công nghệ của Tensormesh và hỗ trợ đánh giá, PoC, triển khai cả hai phương án.

Đọc thêm