L1 · Service edge
Chọn bản sao mô hình để xử lý yêu cầu
Phân phối request đã qua cổng kiểm soát tới bản sao mô hình (replica) có hàng đợi ngắn và có sẵn bộ nhớ đệm phù hợp.
1Định nghĩa
Router là bộ điều hướng nằm giữa cổng tiếp nhận (gateway) và cụm worker đang chạy các bản sao mô hình (replicas). Khi một model được triển khai trên nhiều máy để chịu tải, router quyết định replica nào sẽ xử lý request vừa tới.
Khác với cân bằng tải web thông thường chỉ chia đều số kết nối, router cho LLM kết hợp độ dài hàng đợi thực tế với vị trí dữ liệu đệm (cache-aware routing): ưu tiên gửi request tới replica đang giữ sẵn phần đầu prompt trong KV cache để tiết kiệm bước tính lại, miễn là thời gian chờ tại worker đó không vượt quá lợi ích thu được.
Ví dụ đời thường: Router giống như nhân viên điều phối bàn ở sảnh nhà hàng lớn có nhiều bếp. Thay vì chia khách vào bàn theo thứ tự máy móc, người điều phối vừa nhìn xem bếp nào đang vắng đơn, vừa ưu tiên xếp khách gọi món hầm vào đúng bếp đã ninh sẵn nồi nước dùng đó (tận dụng sẵn KV cache) để món ăn được dọn ra nhanh nhất.
2Luồng
- Đọc yêu cầu
Xác định mô hình, phiên bản và prompt.
- Đọc trạng thái các bản sao
Kiểm tra hàng đợi, khả năng tiếp nhận và prefix đã có.
- Chọn đích
Cân bằng lợi ích cache với thời gian chờ.
- Chạy trên bản sao
Máy được chọn xếp lịch request.
Mã Mermaid
flowchart TD
step1["Đọc yêu cầu"]
step2["Đọc trạng thái các bản sao"]
step3["Chọn đích"]
step4["Chạy trên bản sao"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Cách đơn giản là chọn bản sao ít tải. Cách nâng cao thêm thông tin về phần đầu chuỗi token đã có trong cache; tài liệu vLLM mô tả cơ chế tái sử dụng phần đầu chuỗi.
Không nên dồn tất cả request có cùng prefix vào một máy chỉ để tăng tỷ lệ cache hit. Thời gian chờ ở máy đó có thể lớn hơn thời gian tính toán tiết kiệm được.
4Profiling
- Tải theo bản sao
So hàng đợi, số chuỗi đang chạy và thời gian chờ của từng máy.
- Lợi ích định tuyến theo cache
Đo thời gian tới token đầu với cùng workload, so chính sách ít tải với chính sách ưu tiên prefix.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
Chatbot có hướng dẫn chung dài
Các cuộc chat dùng cùng hướng dẫn hệ thống có thể tới máy đã có prefix đó, nếu máy vẫn còn khả năng xử lý.
Đổi phiên bản mô hình
Một request phải tới đúng version. Không dùng cache của checkpoint cũ dù văn bản prompt giống nhau.
6Thuật ngữ
- Replica
- Bản sao mô hình phục vụ độc lập, có hàng đợi và trạng thái riêng.
- Cache locality
- Đưa công việc tới nơi đã giữ dữ liệu có thể tái sử dụng.
Glossary (4)
- Checkpoint
- Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
- Prefix
- Phần đầu của một chuỗi token; cache reuse cần phần đầu tương thích.
- Worker
- Tiến trình hoặc máy thực hiện một phần công việc của hệ thống.
- Context
- Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.