# Tư duy hệ thống trong phục vụ mô hình đa phương thức

Đăng ngày: 2026-09-11

Khi các mô hình AI đa phương thức (multimodal) ngày càng phổ biến, bài toán tối ưu hiệu suất để phục vụ hàng triệu yêu cầu mỗi ngày trở nên cấp bách. Tôi nhận thấy, đây không chỉ là cuộc đua về sức mạnh phần cứng, mà còn là cuộc chơi về tư duy kiến trúc hệ thống: làm sao để mọi công đoạn được vận hành trơn tru và hiệu quả nhất. Một trong những kỹ thuật tối ưu hóa hiệu suất phục vụ (inference optimization) đáng chú ý là Encode-Prefill-Decode (EPD) disaggregation. Nó hoạt động bằng cách tách rời giai đoạn mã hóa hình ảnh (vision encoder) khỏi hai giai đoạn tiếp theo là prefill (tiền xử lý dữ liệu cho LLM) và decode (tạo ra token đầu ra). Kỹ thuật này đặc biệt hiệu quả với các yêu cầu có nhiều hình ảnh, đầu ra ngắn đến trung bình, và khi dùng các mô hình Mixture-of-Experts (MoE) đã được lượng tử hóa. NVIDIA đã chứng minh rằng EPD, khi tích hợp với framework mã nguồn mở Dynamo, có thể giúp tăng tốc thời gian phản hồi token đầu tiên (Time-to-First-Token - TTFT) lên gấp 5 lần và thời gian phản hồi đầu cuối (end-to-end) nhanh hơn tới 7 lần. Vấn đề cốt lõi của việc phục vụ mô hình đa phương thức theo cách truyền thống (aggregated serving) là các yêu cầu media-heavy (chứa nhiều hình ảnh hoặc video) sẽ khiến cho giai đoạn mã hóa hình ảnh mất nhiều thời gian, có thể lên tới hàng trăm mili giây. Vì giai đoạn mã hóa và hoạt động của LLM cùng chia sẻ một GPU và một luồng lịch trình, một yêu cầu nặng về hình ảnh có thể trì hoãn việc tiền xử lý của chính nó và gây tắc nghẽn cho các yêu cầu khác, kể cả các yêu cầu chỉ có văn bản không cần mã hóa hình ảnh. Với Dynamo, EPD giải quyết chuyện này bằng cách tách bạch vai trò của các worker mã hóa và worker PD (Prefill/Decode). Các worker mã hóa chuyên trách tạo ra các embedding thị giác, sau đó truyền cho các worker PD để chạy LLM, thông qua NVIDIA Inference Transfer Library (NIXL). Việc này cho phép mỗi giai đoạn tự động gom lô (batch), lên lịch và mở rộng quy mô một cách độc lập. Tuy nhiên, EPD không phải là "viên đạn bạc" cho mọi trường hợp. Hiệu quả của nó phụ thuộc vào việc khối lượng công việc mã hóa có đủ lớn để bù đắp chi phí phối hợp giữa các worker và truyền embedding hay không. Các thử nghiệm với mô hình Qwen3.5 122B A10B NVFP4 trên bốn GPU GB200 và thêm các GPU RTX 6000D cho thấy, với yêu cầu 10 hình ảnh (mỗi hình ảnh tương đương 256 token) và độ dài đầu ra 1024 token, TTFT giảm 58% khi encoder đặt cùng chỗ (colocated) và 50% khi đặt tách biệt (heterogeneous). Đặc biệt, cấu hình tách biệt còn tăng goodput lên 70% ở cùng mức độ trễ cho phép (inter-token latency dưới 100 ms). Khi tôi thay đổi số lượng hình ảnh từ 5 đến 50, hiệu suất của cách phục vụ truyền thống bị giảm sút rõ rệt, trong khi EPD duy trì ổn định. Mặc dù vậy, khi độ dài đầu ra (OSL) tăng lên, thời gian decode sẽ chiếm ưu thế trong tổng thời gian phản hồi. Trong các thử nghiệm tăng OSL từ 128 lên 2.048 token, lợi ích end-to-end của EPD trong cấu hình tách biệt giảm từ 20.3% xuống chỉ còn 5.2%. Thậm chí, cấu hình encoder đặt cùng chỗ còn giảm hiệu suất từ mức tăng 11.8% xuống thành mức giảm 2.5%, do sự cạnh tranh tài nguyên GPU khi áp lực decode tăng cao. Điều này cho thấy EPD mang lại giá trị lớn nhất cho các yêu cầu đầu vào nặng media và đầu ra ngắn đến trung bình. Ngoài ra, tôi còn nhận ra rằng kích thước mô hình và độ chính xác của LLM cũng ảnh hưởng lớn đến hiệu quả EPD. Khi kích thước mô hình tăng, Vision Transformer (ViT) chiếm tỷ trọng tham số nhỏ hơn đáng kể trong tổng mô hình (giảm từ 7.2% ở Qwen3.5 4B xuống 1.7% ở Qwen3.5 27B), khiến phần việc của encoder trở nên ít quan trọng hơn. Với Qwen3.5 27B, goodput của EPD thậm chí chỉ bằng 0.65 lần so với cách truyền thống khi đặt cùng chỗ. Tuy nhiên, khi lượng tử hóa các trọng số LLM sang NVFP4 (trong khi ViT vẫn dùng BF16), EPD lại càng phát huy tác dụng. Việc này đẩy tỷ trọng thời gian xử lý về phía encoder, tăng lợi ích goodput của EPD từ 1.78 lần (khi cả hai đều BF16) lên 2.64 lần.

Canonical: https://www.tungpham.vn/blog/tu-duy-he-thong-trong-phuc-vu-mo-hinh-da-phuong-thuc
