L4 · Deployment topology
Tách máy xử lý prompt khỏi máy sinh token
Kiến trúc tách riêng cụm GPU chuyên xử lý prompt (prefill) và cụm GPU chuyên sinh token (decode) để tối ưu tài nguyên độc lập.
1Định nghĩa
Disaggregated serving là kiến trúc triển khai tách biệt hai giai đoạn của một request suy luận: giao pha prefill (nặng về tính toán ma trận) cho một nhóm worker riêng, và giao pha decode (nặng về băng thông bộ nhớ) cho một nhóm worker khác.
Khi chạy chung hai pha trên cùng một GPU, một lượt prefill của prompt dài dễ làm khựng toàn bộ các chuỗi đang decode dở, gây vọt độ trễ giữa các token (TPOT). Khi tách rời, worker prefill tính xong prompt sẽ truyền khối KV cache vừa tạo qua hạ tầng mạng tốc độ cao sang worker decode để sinh tiếp, giúp mỗi cụm chọn cấu hình phần cứng và cỡ batch tối ưu riêng.
Ví dụ đời thường: Kiến trúc tách rời prefill và decode giống như cách vận hành ở một phòng khám hiện đại: tách riêng phòng xét nghiệm tổng quát ban đầu (prefill — cần máy móc công suất lớn xử lý một lượt hồ sơ dày) và phòng theo dõi điều trị hàng ngày (decode — cần phát thuốc đều đặn đúng giờ). Nhờ tách hai khu vực, một ca khám tổng quát phức tạp mới vào sẽ không làm chậm nhịp phát thuốc của hàng chục bệnh nhân đang điều trị.
2Luồng
- Router chọn pool
Request tới worker prefill.
- Xử lý prompt
Tạo context cache và thông tin chuyển giao.
- Chuyển state
Dùng connector/transport giữ mapping đúng.
- Sinh và stream
Decode worker nhận context rồi phục vụ tiếp.
Mã Mermaid
flowchart TD
step1["Router chọn pool"]
step2["Xử lý prompt"]
step3["Chuyển state"]
step4["Sinh và stream"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
vLLM có tài liệu về connectors cho disaggregated prefill. Cần điều phối ownership, chuyển state và xử lý lỗi ngoài engine tính toán.
So với chạy chung, kiến trúc này thêm chi phí transfer. Chỉ chọn khi lợi ích tách scheduling/capacity lớn hơn chi phí network và vận hành.
4Profiling
- Thời gian chuyển cache
Đếm bytes và latency, tính vào thời gian tới token đầu.
- Goodput theo tổng chi phí
So cả hai pools với cấu hình colocated ở cùng mức latency và chất lượng.
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ụ
Traffic nhiều prompt dài
Pool prefill có thể scale riêng khi phần xử lý prompt chiếm nhiều tài nguyên.
Prompt ngắn và network chậm
Transfer có thể đắt hơn phần tính toán tiết kiệm; giữ chung workers có thể hiệu quả hơn.
6Thuật ngữ
- Disaggregation
- Tách các chức năng thành các pool tài nguyên độc lập.
- Key-value transfer
- Chuyển cache attention từ nơi tạo nó tới nơi dùng cho bước sinh tiếp.
Glossary (4)
- Latency
- Thời gian chờ để nhận một kết quả hoặc một bước kết quả.
- Goodput
- Lượng công việc hoàn tất mà đồng thời đáp ứng các mục tiêu đã chọn.
- 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.