Các mô hình ngôn ngữ lớn (LLM) đang cách mạng hóa bối cảnh giao dịch tài chính bằng cách cho phép phân tích tinh vi khối lượng lớn dữ liệu phi cấu trúc để tạo ra các thông tin chuyên sâu về giao dịch có thể hành động. Những hệ thống AI tiên tiến này có thể xử lý tin tức tài chính, cảm xúc trên mạng xã hội, báo cáo thu nhập và dữ liệu thị trường để dự đoán biến động giá cổ phiếu và tự động hóa chiến lược đầu tư với độ chính xác chưa từng có.
Strategic Technology Analysis Center (STAC) đã phát triển các benchmark cho những workload then chốt của ngành tài chính trong hơn 15 năm. Họ đã phát triển benchmark STAC-AI để giúp các công ty đánh giá pipeline retrieval-augmented generation (RAG) đầu cuối và suy luận LLM.
Bài viết này trình bày các kết quả đạt được trên benchmark STAC-AI LANG6 trên nhiều nền tảng NVIDIA. Chúng tôi cũng sẽ chia sẻ một số khuyến nghị về cách bất kỳ người dùng nào cũng có thể benchmark NVIDIA TensorRT LLM theo các đặc tả của bộ dữ liệu của họ.
Benchmark STAC-AI LANG6 (chỉ suy luận)
Trong bối cảnh rộng hơn của một pipeline RAG, STAC-AI LANG6 là phần của benchmark tập trung vào hiệu năng suy luận LLM. Benchmark này kiểm thử stack phần cứng và phần mềm trên các mô hình Llama 3.1 8B Instruct và Llama 3.1 70B Instruct kết hợp với các tập dữ liệu tùy chỉnh sau:
- EDGAR4 : Các prompt là phần tóm tắt về mối quan hệ của một công ty với một trong nhiều khái niệm vật lý và tài chính khác nhau (chẳng hạn như hàng hóa, tiền tệ, lãi suất và các lĩnh vực bất động sản). Tập này sử dụng các đoạn EDGAR 10‑K từ một hồ sơ chứng khoán duy nhất cho một năm duy nhất. Độ dài chuỗi đầu vào/đầu ra nhằm mô hình hóa các yêu cầu có độ dài trung bình.
- EDGAR5 : Các câu hỏi bao quát nhiều khía cạnh khác nhau của một hồ sơ 10‑K hoàn chỉnh. Loại tài liệu là toàn bộ văn bản của một hồ sơ EDGAR 10‑K duy nhất. Độ dài chuỗi đầu vào/đầu ra nhằm mô hình hóa các yêu cầu ngữ cảnh dài.
Các tập dữ liệu này, dựa trên các hồ sơ EDGAR, mô hình hóa tác vụ tóm tắt ngữ cảnh trung bình và dài cho các trường hợp sử dụng trong giao dịch tài chính và tư vấn đầu tư. Các prompt yêu cầu mô hình thực hiện phân tích và tóm tắt báo cáo thường niên (hồ sơ 10-K) của hàng nghìn công ty đại chúng trong năm năm qua.
Benchmark cũng kiểm thử hai kịch bản suy luận khác nhau: chế độ batch và chế độ interactive:
- Chế độ batch (offline): Tất cả yêu cầu được đưa vào cùng lúc, và tất cả phản hồi được thu thập cùng lúc. Chỉ thông lượng được đo.
- Chế độ interactive (online): Các yêu cầu đến vào những thời điểm giả ngẫu nhiên. Tốc độ đến trung bình λ (số lượng yêu cầu trung bình mà hệ thống nhận mỗi giây) có thể được đặt để mô hình hóa các kịch bản sử dụng khác nhau. Benchmark thu thập các chỉ số như thời gian phản ứng (RT), tổng số từ mỗi giây (WPS) và Output Rate (WPS/user), nhưng không đặt bất kỳ ràng buộc nào lên các chỉ số đó. RT tương tự time to first token (TTFT) trong các benchmark khác, còn Output Rate tương ứng với words/second/user.
Lưu ý rằng chế độ interactive không bao gồm tổ hợp Llama 3.1 70B Instruct với EDGAR5.
Benchmark kiểm tra chất lượng đầu ra và số lượng từ so với một tập đối chứng gồm các phản hồi do LLM tạo ra.
Trong khi các benchmark khác cho phép mọi bước tiền xử lý, một điểm khác biệt quan trọng của STAC-AI là yêu cầu áp dụng chat templates và tokenize các yêu cầu trong quá trình suy luận. Các triển khai thực tế có thể ưu tiên thực hiện công việc này ở phía máy chủ để bảo vệ system prompts của họ, qua đó tạo thêm tải cho CPU.
Ngăn xếp phần cứng và phần mềm
Bài viết này nêu bật các đợt kiểm toán STAC-AI được chạy cho một máy chủ on-premises dựa trên NVIDIA Hopper do HPE đệ trình, một hệ thống on-premises NVIDIA RTX PRO 6000 Blackwell Server Edition do Supermicro và Red Hat đệ trình, và NVIDIA HGX B200 trên Lambda.
- HPE ProLiant Compute DL384 Gen12, được trang bị NVIDIA GH200 Grace Hopper Superchip, cung cấp một giải pháp một máy chủ hiệu quả. Để xem kết quả chi tiết, hãy tham khảo báo cáo STAC về máy chủ HPE ProLiant DL384 Gen12 với hai NVIDIA GH200 NVL2 Superchips.
- Một instance dựa trên đám mây do Lambda cung cấp, dựa trên NVIDIA HGX B200. Hệ thống sử dụng tám GPU NVIDIA Blackwell B200 trong một nền tảng HGX, được kết nối bằng NVIDIA NVLink và NVIDIA NVSwitch để giao tiếp GPU-với-GPU tốc độ cao. Mỗi GPU NVIDIA Blackwell B200 bao gồm 180 GB bộ nhớ HBM3e và băng thông bộ nhớ 8 TB/s cho suy luận mô hình lớn. Để xem kết quả benchmark chi tiết, hãy xem báo cáo đồng hành Llama 3.1 8B và Llama 3.1 70B STAC về Lambda 1-Click Cluster Cloud Instance với GPU NVIDIA B200 SXM6 Blackwell Series.
- Một tùy chọn on-premises khác là Supermicro AS -5126GS-TNRT trong cấu hình hai NVIDIA RTX PRO 6000 Blackwell Server Edition, ghép đôi hai GPU Blackwell trong một máy chủ duy nhất cho phát triển và triển khai AI. Mỗi GPU RTX PRO 6000 Blackwell bao gồm 96 GB bộ nhớ, cung cấp cho node một lượng bộ nhớ GPU tổng hợp đáng kể cho các mô hình lớn hơn, kích thước batch lớn hơn, hoặc nhiều job chạy đồng thời hơn trong cùng footprint hệ thống. Để biết chi tiết về kết quả, hãy xem báo cáo STAC về Supermicro SuperServer SYS-222C-TN với hai GPU NVIDIA RTX PRO 6000 Blackwell Series. Toàn bộ stack được triển khai trên Red Hat OpenShift, cho thấy nền tảng Kubernetes được container hóa không tạo ra overhead đo lường được đối với các workload suy luận LLM chuyên sâu về GPU.
Vì benchmark yêu cầu lượng tử hóa sau huấn luyện như một phần của quy trình benchmark, các mô hình đã được lượng tử hóa bằng NVIDIA TensorRT Model Optimizer. Để tận dụng các kernel có hiệu năng cao nhất hiện có cho từng triển khai, quá trình lượng tử hóa được thực hiện sang FP8 trên NVIDIA Hopper và sang NVFP4 trên NVIDIA Blackwell.
Để đạt hiệu năng tốt nhất cho cả Hopper và Blackwell, framework suy luận TensorRT LLM đã được sử dụng để thực thi mô hình hiệu quả. Các mô hình đã lượng tử hóa này được chạy bằng TensorRT LLM PyTorch runtime nhằm mang lại trải nghiệm phát triển PyTorch gốc, quen thuộc, đồng thời duy trì hiệu năng đỉnh.
Kết quả benchmark trên STAC-AI LANG6
Kết quả benchmark cho cả chế độ batch và chế độ tương tác được trình bày chi tiết trong phần này.
Chế độ batch
Ở chế độ batch, NVIDIA Blackwell mang lại mức tăng tốc đáng kể trong mọi kịch bản. Bảng 1 cho thấy WPS và số yêu cầu mỗi giây (RPS) đạt được.
| Model | Dataset | 2 NVIDIA GH200 144 GB TensorRT LLM FP8 |
NVIDIA HGX B200 TensorRT LLM NVFP4 |
2 NVIDIA RTX PRO 6000 NVFP4 |
|||
| WPS | RPS | WPS | RPS | WPS | RPS | ||
| Llama 3.1 8B | EDGAR4 | 8,237 | 51.5 | 52.823 | 311 | 5,500 | 32.9 |
| EDGAR5 | 304 | 0.784 | 2,220 | 5.64 | 138 | 0.345 | |
| Llama 3.1 70B | EDGAR4 | 1,071 | 6.77 | 12,040 | 76.2 | 831 | 5.26 |
| EDGAR5 | 41.4 | 0.119 | 350 | 1.07 | 13 | 0.04 | |
Bảng 1. Kết quả chế độ xử lý hàng loạt của STAC-AI trên tất cả các tổ hợp mô hình và tập dữ liệu.
Có thể tìm thấy các báo cáo đầy đủ với nhiều chi tiết hơn cho cả chế độ tương tác và chế độ batch trong các báo cáo do STAC công bố.
Hiệu năng trên một GPU cũng được suy ra để tính đến số lượng GPU khác nhau trên mỗi hệ thống. Mặc dù STAC-AI không đo hiệu năng theo từng GPU, các kết quả trong Hình 1 minh họa sự khác biệt về thông lượng giữa các GPU đơn từ từng hệ thống.
Hình 1. Hiệu năng được cải thiện từ NVIDIA GH200 lên NVIDIA HGX B200 có thể đạt đến 2,8 lần trên bài kiểm tra STAC-AI.
Chế độ tương tác
Sự cân bằng giữa hiệu quả kinh tế của token (phụ thuộc vào thông lượng) và trải nghiệm người dùng (phụ thuộc vào các chỉ số về khả năng tương tác như RT và WPS/user) là một yếu tố then chốt trong suy luận LLM hiện đại.
Chế độ tương tác thể hiện sự đánh đổi trên đường biên Pareto giữa khả năng tương tác và thông lượng bằng cách chọn một dải các tốc độ đến. Khả năng tương tác được đo bằng cả RT và WPS/user. Để giúp trực quan hóa, đại lượng nghịch đảo của WPS/user, được định nghĩa là độ trễ giữa các từ (IWL), hay \(\frac{1}{WPS/user}\), được sử dụng. Trong các biểu đồ, chúng tôi sử dụng phân vị thứ 95 của cả hai chỉ số.
Như thấy trong Hình 2, hệ thống NVIDIA HGX B200 đạt được sự đánh đổi tốt hơn giữa throughput với cả RT và IWL trên toàn bộ các trường hợp. IWL (đường liền, càng thấp càng tốt) và RT (đường nét đứt, càng thấp càng tốt) được vẽ theo throughput ở chế độ tương tác trên các kịch bản mô hình/tập dữ liệu.
Hình 2. NVIDIA HGX B200 duy trì khả năng tương tác tốt hơn ở thông lượng tương tác cao hơn so với NVIDIA GH200.
Cách benchmark TensorRT LLM với dữ liệu tùy chỉnh của bạn
Mặc dù benchmark STAC sử dụng dữ liệu và chỉ số đo độc quyền, bạn có thể benchmark TensorRT LLM với các mô hình được điều chỉnh theo những đặc điểm tập dữ liệu cụ thể của mình. Hướng dẫn này sẽ đưa bạn qua các bước lượng tử hóa một mô hình, chuẩn bị tập dữ liệu và chạy các benchmark hiệu năng—tất cả đều được tùy chỉnh cho trường hợp sử dụng của bạn.
Điều kiện tiên quyết:
- Một Docker image bao gồm TensorRT LLM (ví dụ: Bản phát hành TensorRT LLM).
- Một GPU NVIDIA đủ lớn để phục vụ mô hình của bạn ở mức lượng tử hóa mong muốn. Bạn có thể tìm thấy ma trận hỗ trợ cho lượng tử hóa trong tài liệu TensorRT LLM.
- Một tài khoản và token Hugging Face, cùng với quyền truy cập vào các mô hình có kiểm soát truy cập Llama 3.1 8B Instruct hoặc Llama 3.1 70B Instruct. Bạn có thể đặt biến môi trường HF_TOKEN thành token của mình, và tất cả các lệnh tiếp theo sẽ sử dụng token này.
Bước 1: Khởi chạy container
Các container do NVIDIA duy trì chứa sẵn tất cả các dependency cần thiết. Chuyển vào một thư mục trống có đủ dung lượng cho các mô hình và các phiên bản lượng tử hóa của chúng. Bạn có thể khởi động container trên một máy có GPU NVIDIA bằng lệnh sau. Hãy đảm bảo bạn chỉ định token Hugging Face của mình.
docker run-it --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
--gpus=all \
-u $(id -u):$(id -g) \
-e USER=$(id -un) \
-e HOME=/tmp \
-e TRITON_CACHE_DIR=/tmp/.triton \
-e TORCHINDUCTOR_CACHE_DIR=/tmp/.inductor_cache \
-e HF_HOME=/workspace/model_cache \
-e HF_TOKEN=<your_huggingface_token> \
--volume "$(pwd)":/workspace \
--workdir /workspace \
nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc2
Bước 2: Clone các repository
Lượng tử hóa mô hình giúp giảm kích thước mô hình và cải thiện tốc độ suy luận. Sử dụng NVIDIA Model Optimizer để lượng tử hóa Llama 3.1 8B Instruct sang định dạng NVFP4. Trước tiên, hãy clone repository Model Optimizer cho ví dụ lượng tử hóa:
git clone https://github.com/NVIDIA/TensorRT-Model-Optimizer.git -b 0.37.0
Bước 3: Lượng tử hóa mô hình
Tiếp theo, thực thi script ví dụ Hugging Face với mô hình và định dạng lượng tử hóa đã chọn—trong trường hợp này là Llama 3.1 8B Instruct sử dụng lượng tử hóa NVFP4.
bash TensorRT-Model-Optimizer/examples/llm_ptq/scripts/huggingface_example.sh \
--model meta-llama/Llama-3.1-8B-Instruct \
--quant nvfp4
Bước 4: Tạo dữ liệu tổng hợp
Sử dụng tiện ích benchmark để tạo một tập dữ liệu tổng hợp với phân phối token cần thiết cho một tác vụ. Ví dụ này tạo 30.000 yêu cầu với độ dài chuỗi đầu vào cố định là 2.048 và độ dài chuỗi đầu ra là 128. Độ lệch chuẩn khác 0 sẽ mô phỏng lưu lượng thực tế tốt hơn, nếu bạn có quyền truy cập vào thông tin đó.
trtllm-bench \
--model meta-llama/Llama-3.1-8B-Instruct \
prepare-dataset \
--output dataset_2048_128.json \
token-norm-dist \
--input-mean 2048 \
--output-mean 128 \
--input-stdev 0 \
--output-stdev 0 \
--num-requests 30000
Bước 5: Chạy benchmark
Lệnh trt-llm bench có thể chạy các yêu cầu đã tạo theo kiểu offline, gửi tất cả yêu cầu cùng lúc đến runtime TensorRT LLM (gần tương ứng với chế độ batch của STAC-AI).
Trong khi một số tùy chọn có sẵn trong API CLI, API LLM đầy đủ có thể được truy cập thông qua một tệp YAML được truyền bằng tham số extra_llm_api_options. Với mục đích của ví dụ này, hãy bật CUDA Graphs padding. Để tìm hiểu thêm về các tùy chọn khác, hãy xem Tài liệu tham khảo API TensorRT LLM .
cat > llm_options.yml << 'EOF'
cuda_graph_config:
enable_padding: True
EOF
Cuối cùng, chạy benchmark, chỉ định model, dataset và các tùy chọn:
trtllm-bench \
--model meta-llama/Llama-3.1-8B-Instruct \
--model_path /workspace/TensorRT-Model-Optimizer/examples/llm_ptq/saved_models_Llama-3_1-8B-Instruct_nvfp4 \
throughput \
--dataset dataset_2048_128.json \
--backend pytorch \
--extra_llm_api_options llm_options.yml
Lệnh này sẽ xuất ra nhiều chỉ số khác nhau, chẳng hạn như thông lượng request, tokens/second/GPU, v.v.
Bắt đầu với benchmarking TensorRT LLM
NVIDIA HGX B200 trên Lambda đã nâng cao đáng kể hiệu năng trên benchmark STAC-AI LANG6 cho suy luận LLM trong dịch vụ tài chính. NVIDIA Blackwell mang lại hiệu năng cao hơn tới 2,8 lần so với các kiến trúc trước đó, đạt cả thông lượng cao hơn và duy trì nhất quán khả năng tương tác vượt trội.
Các kết quả của NVIDIA RTX PRO 6000 Blackwell làm nổi bật tính linh hoạt của nền tảng Blackwell. Chạy trên Red Hat OpenShift, hệ thống Supermicro hai GPU đã mang lại hiệu năng suy luận LLM có tính cạnh tranh. Điều này có nghĩa là các tổ chức có thể điều chỉnh quy mô triển khai cho phù hợp, từ một máy chủ tiết kiệm không gian và chi phí đến một node trung tâm dữ liệu quy mô đầy đủ, trong khi vẫn duy trì lợi ích hiệu năng của độ chính xác Blackwell NVFP4.
Bên cạnh kỷ lục mới, NVIDIA Hopper tiếp tục mang lại những kết quả mạnh mẽ và có giá trị cho các workload suy luận LLM. Ngay cả sau hơn ba năm kể từ lần phát hành đầu tiên, Hopper vẫn chứng tỏ hiệu quả cao trong cả các kịch bản suy luận theo batch lẫn tương tác, duy trì các chỉ số hiệu năng tốt ngay cả ở thông lượng cao, đồng thời xác nhận tính phù hợp liên tục của nó đối với các tổ chức tài chính.
Để thiết lập và chạy các bài đánh giá hiệu năng của riêng bạn, hãy khám phá Hướng dẫn Benchmarking TensorRT LLM .
Bài viết liên quan
- NVIDIA Riva giải pháp Voice RAG: tối ưu luồng dữ liệu âm thanh và đồng bộ Avatar 3D
- NVIDIA Dynamo Snapshot: Khởi động nhanh cho workload suy luận trên Kubernetes
- Triển khai kiến trúc Multi-Agent Intelligent Warehouse cho việc vận hành kho hàng hiện đại
- Triển khai hệ thống Voice RAG bằng NVIDIA Riva framework trên hạ tầng cục bộ
- Triển khai AI Agent sẵn sàng cho thực tế tại biên với hiệu quả sử dụng bộ nhớ cao trên NVIDIA JetPack 7.2


