Bộ tối ưu hiệu suất toàn cục TensorRT 11.1 tối ưu hóa các lộ trình suy luận LLM
Bộ tối ưu hiệu suất toàn cục mới của NVIDIA trong TensorRT 11.1 sử dụng hơn 200 tham số cấu hình trình biên dịch để tìm ra các lộ trình suy luận nhanh hơn, đồng thời vẫn duy trì các ràng buộc về độ chính xác.
Được dịch tự động từ bản gốc tiếng Anh.
NVIDIA đã giới thiệu Bộ tối ưu hiệu suất toàn cục (Global Performance Tuner) trong TensorRT 11.1, một tính năng được thiết kế để tự động hóa việc tối ưu hóa hiệu suất cho các mô hình học sâu. Được phát hành vào cuối năm 2026, công cụ này cho phép các nhà phát triển vượt qua các chiến lược xây dựng mặc định đơn lẻ bằng cách khám phá nhiều cấu hình trình biên dịch khác nhau. Nó đặc biệt nhắm mục tiêu vào các thách thức lập lịch phức tạp trong quá trình suy luận của các mô hình ngôn ngữ lớn (LLM) trên phần cứng NVIDIA.
Chuyện gì đã xảy ra
Điểm đổi mới cốt lõi nằm ở cách TensorRT biểu diễn các chiến lược lập lịch hiện nay. Thay vì phụ thuộc vào một đường dẫn biên dịch tĩnh duy nhất, hệ thống coi các chiến lược thay thế là những lộ trình xây dựng rõ ràng và có thể tìm kiếm được. Mỗi lộ trình được xác định bởi một sự kết hợp cụ thể của các "knob" (tham số điều chỉnh) của trình biên dịch, tức là các thiết lập cấu hình kiểm soát những khía cạnh của quy trình biên dịch như quyết định fusion (hợp nhất toán tử) hoặc các đường dẫn tạo mã. TensorRT 11.1 cung cấp quyền truy cập vào hơn 200 knob có thể điều chỉnh này, mỗi knob đều có một tập hợp hữu hạn các giá trị cho phép và một thiết lập mặc định.
Để giúp việc tiếp cận dễ dàng hơn, NVIDIA đã cung cấp các API C++ cho phép các nhà phát triển áp dụng các lộ trình xây dựng cố định, kiểm tra lộ trình hiện tại và khám phá toàn bộ không gian cấu hình. Công cụ dòng lệnh trtexec triển khai một vòng lặp tối ưu hóa, mở rộng các biểu thức do người dùng định nghĩa thành các lộ trình xây dựng cụ thể. Nó xây dựng và đo lường từng engine ứng viên, loại bỏ bất kỳ engine nào bị lỗi hoặc không đạt yêu cầu kiểm tra độ chính xác. Sau đó, hệ thống sẽ chọn engine đủ điều kiện nhanh nhất từ các ứng viên còn lại. Phiên bản cài đặt Python cũng dự kiến sẽ được phát hành trong Torch-TensorRT 2.15.
Cách hoạt động
Quy trình tối ưu hóa tách biệt việc cải thiện hiệu suất khỏi việc xác minh độ chính xác. Trong các trình biên dịch truyền thống, các tối ưu hóa mạnh mẽ có thể vô tình làm giảm độ chính xác của mô hình, tạo ra một sự đánh đổi phức tạp giữa tốc độ và tính đúng đắn. Bộ tối ưu hiệu suất toàn cục giải quyết vấn đề này bằng cách coi độ chính xác là một ràng buộc cứng và hiệu suất là tiêu chí xếp hạng. Người dùng định nghĩa một ngưỡng dung sai độ chính xác, và bộ tối ưu hóa sẽ lọc bỏ mọi lộ trình xây dựng tạo ra kết quả nằm ngoài ranh giới này. Trong số các lộ trình hợp lệ còn lại, nó chọn lộ trình có độ trễ end-to-end tốt nhất.
Cách tiếp cận này dựa trên một khung toán học, trong đó một lộ trình xây dựng là sự kết hợp của các bước xử lý (passes) của trình biên dịch. Ví dụ, một knob nhị phân có thể kiểm soát xem một bước xử lý cụ thể sử dụng phương pháp fusion ngang hay dọc. Không có chiến lược nào luôn vượt trội hơn; lựa chọn tối ưu phụ thuộc vào kiến trúc mô hình, hình dạng tensor và GPU mục tiêu. Bằng cách thử nghiệm có hệ thống các tổ hợp của những knob này, bộ tối ưu hóa xác định đường dẫn cụ thể mang lại hiệu suất cao nhất cho kịch bản triển khai đã cho mà không làm ảnh hưởng đến chất lượng dự đoán của mô hình.
Chi tiết quan trọng
- TensorRT 11.1 cung cấp quyền truy cập vào hơn 200 knob trình biên dịch có thể điều chỉnh thông qua các API C++.
- Công cụ
trtexectự động hóa việc tìm kiếm, xây dựng và đo lường các engine ứng viên. - Việc tối ưu hóa nhận biết độ chính xác sẽ lọc các ứng viên dựa trên ngưỡng dung sai do người dùng định nghĩa trước khi xếp hạng theo tốc độ.
- Các khối lượng công việc được đánh giá cho thấy mức cải thiện hiệu suất từ 1,14x đến 1,63x so với các thiết lập mặc định.
- Có thể kiểm tra và áp dụng các lộ trình xây dựng theo chương trình bằng cách sử dụng
setBuildRoutevàgetBuildRoute. - Quy trình tối ưu hóa hỗ trợ tìm kiếm gia tăng và có thể tạm dừng/tiếp tục bằng cách sử dụng các tệp cache.
Tại sao điều này quan trọng
Đối với các kỹ sư xây dựng sản phẩm AI, các thiết lập biên dịch mặc định thường bỏ lỡ đáng kể tiềm năng hiệu suất. Một chiến lược lập lịch duy nhất không thể đáp ứng được các đặc điểm cấu trúc đa dạng của các mạng nơ-ron khác nhau. Bằng cách tự động hóa việc khám phá không gian cấu hình, Bộ tối ưu hiệu suất toàn cục cho phép các nhóm khai thác tối đa hiệu quả từ phần cứng của họ mà không cần thử nghiệm thủ công, dễ gây lỗi. Điều này đặc biệt quan trọng đối với các LLM, nơi những giảm nhỏ về độ trễ có thể chuyển thành khoản tiết kiệm chi phí đáng kể và cải thiện trải nghiệm người dùng ở quy mô lớn.
Hơn nữa, việc tách biệt rõ ràng giữa độ chính xác và hiệu suất làm giảm rủi ro triển khai các mô hình đã được tối ưu hóa nhưng âm thầm suy giảm chất lượng. Các nhà phát triển có thể định nghĩa các ranh giới độ chính xác nghiêm ngặt bằng cách sử dụng các tập dữ liệu chuẩn (golden datasets), đảm bảo rằng mọi lợi ích về tốc độ đều không phải trả giá bằng độ tin cậy. Cách tiếp cận có hệ thống này thay thế việc phỏng đoán dựa trên kinh nghiệm bằng dữ liệu đo lường thực tế, cung cấp một phương pháp tái lập được để đạt được hiệu suất suy luận cấp độ sản xuất.
Bạn có thể làm gì
- Sử dụng cờ
--dryRuntrongtrtexecđể kiểm tra các lộ trình xây dựng tiềm năng trước khi bắt đầu các quá trình xây dựng tốn kém. - Định nghĩa các chỉ số độ chính xác rõ ràng và tập dữ liệu tham chiếu để thiết lập các ngưỡng dung sai phù hợp cho mô hình của bạn.
- Điều chỉnh chiến lược tìm kiếm tương thích với kích thước của không gian cấu hình để tránh thời gian tối ưu hóa quá dài.
- Bật tối ưu hóa gia tăng bằng
--tuningCacheFilevà--continueđể tiếp tục các tìm kiếm bị gián đoạn. - Chạy lại quy trình tối ưu hóa mỗi khi bạn thay đổi mô hình, hình dạng đầu vào, GPU mục tiêu hoặc ngăn xếp phần mềm.
- Xem xét cài đặt mã nguồn mở của
trtexecđể hiểu vòng lặp tối ưu hóa và mở rộng nó với các chiến lược tùy chỉnh.



