OpenArchLabOpen Architecture — From Models to Systems

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.

LESSON ID router GROUP Kiến trúc Inference
Mục lục bài học

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

Sơ đồ luồng (4 bước)
  1. Đọc yêu cầu

    Xác định mô hình, phiên bản và prompt.

  2. Đọ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ó.

  3. Chọn đích

    Cân bằng lợi ích cache với thời gian chờ.

  4. 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.

7Bài liên quan

8Nguồn