03/10/2026 · VietTechies · Biên tập

Các nhà phát triển PyTorch đã tích hợp thành công Helion—một ngôn ngữ chuyên miền (DSL) hỗ trợ viết kernel không phụ thuộc phần cứng—vào back-end tuyến tính của vLLM. Việc triển khai này sử dụng cơ chế tự động tối ưu hóa AOT (ahead-of-time autotuning) nhằm gia tăng hiệu suất suy luận cho các mô hình ngôn ngữ lớn (LLM) trên dòng GPU NVIDIA Hopper. Kết quả cho thấy giải pháp này vượt qua các thư viện mặc định của vLLM như CUTLASS, FlashInfer và DeepGEMM trong các khối lượng công việc được thử nghiệm.
Kiến Trúc GEMM Hợp Nhất
Thay vì duy trì các kernel tùy chỉnh riêng biệt cùng các quy tắc điều phối thủ công cho những biến thể thuật toán như Split-K hay Swap-AB, back-end tuyến tính Helion hợp nhất phép nhân ma trận tổng quát (GEMM) thành một triển khai duy nhất. Các biến thể thuật toán được cấu hình dưới dạng tham số có thể tinh chỉnh, cho phép quy trình tìm kiếm tự động lựa chọn phương án tối ưu cùng các tham số lập lịch cấp thấp cho từng kích thước tensor. Quá trình đánh giá tập trung vào các định dạng lượng hóa 8-bit trên GPU Hopper, bao gồm FP8 Dynamic, W8A8 INT8 và Block FP8.
Điều Phối Tối Ưu Hỗn Hợp và Tự Động Tinh Chỉnh
Độ trễ được kiểm soát hiệu quả nhờ chiến lược điều phối hỗn hợp dựa trên độ dài chuỗi token và việc thực thi CUDA Graph. Các kernel Helion xử lý các tensor kích thước nhỏ lên đến 32 token trong quá trình phát lại CUDA Graph, trong khi các kích thước lớn hơn sẽ tự động chuyển về thư viện mặc định. Cấu trúc này giảm thiểu chi phí phát lệnh từ CPU và tập trung quá trình tự động tối ưu chi tiết vào số lượng token nhỏ—đặc trưng của giai đoạn giải mã LLM. Cấu hình kernel được tinh chỉnh cho từng hình dạng đầu vào bằng thuật toán tìm kiếm LLMSeededLFBOTreeSearch với sự hỗ trợ từ Claude Opus 4.8.
Kết Quả Kiểm Thử Kernel và Những Hạn Chế Phục Vụ
Thử nghiệm kernel độc lập trên GPU NVIDIA H100 cho thấy tốc độ trung bình nhân tăng rõ rệt so với các thư viện mặc định: 1,110× cho FP8 Dynamic, 1,178× cho W8A8 INT8 và lên tới 1,177× cho Block FP8 so với DeepGEMM. Khi kiểm thử phục vụ toàn trình trên các biến thể mô hình Qwen3, hiệu suất xử lý tăng hơn 10% ở một số kích thước batch cụ thể. Dù vậy, quá trình tự động tối ưu ngoại tuyến có thể mất nhiều giờ để xử lý hết các kích thước mục tiêu, và việc chạy Helion bên ngoài CUDA Graph sẽ phát sinh chi phí CPU. Toàn bộ mã nguồn và script tối ưu hiện khả dụng trên bản fork kho lưu trữ vLLM.
Ảnh minh họa do AI tạo, không phải ảnh tư liệu.
Nguồn: Building a High-Performance and Portable vLLM Linear Backend with Helion
