NVIDIA Technical Blog: Agentic AI / Generative AI
85

Thủ thuật

NVIDIA Dynamo-Triton 26.07 hỗ trợ suy luận đa GPU, rút ngắn thời gian tạo ảnh Cosmos 3 Nano xuống 34 giây

(giờ Việt Nam)

Tóm tắt AI

NVIDIA Dynamo-Triton 26.07 tích hợp TensorRT cho phép suy luận đa GPU trên một endpoint duy nhất, giúp đơn giản hóa quy trình triển khai và tối ưu hiệu suất cho các mô hình lớn.

Bản dịch AI

Simplifying Model Serving Across Multiple GPUs with NVIDIA TensorRT Multi-Device Integration in NVIDIA

Nhu cầu về tính toán và bộ nhớ của AI tạo sinh ngày càng vượt quá khả năng cung cấp của một GPU đơn lẻ. Tính năng suy luận đa thiết bị (multi-device inference) của NVIDIA TensorRT là một khả năng mới cho phép một mạng TensorRT duy nhất thực thi trên nhiều GPU bằng cách sử dụng các tập hợp phân tán (distributed collectives) dựa trên NCCL, đồng thời vẫn giữ nguyên các tối ưu hóa suy luận của TensorRT. Tính năng này được hỗ trợ đầy đủ bắt đầu từ TensorRT 11.0.

NVIDIA Dynamo-Triton (trước đây là NVIDIA Triton Inference Server) phiên bản 26.07 cho phép khả năng suy luận đa thiết bị của backend TensorRT. Một instance KIND_MODEL của Triton có thể sở hữu nhiều GPU, tạo ra các ngữ cảnh thực thi TensorRT theo từng rank, các luồng CUDA, các trình giao tiếp NCCL và khởi chạy các rank cùng nhau cho mỗi yêu cầu. Ứng dụng sẽ gọi một mô hình có tên thông qua endpoint gRPC thay vì phải tự điều phối các rank GPU.

Đối với các tổ chức triển khai AI tạo sinh, điều này giúp thu hẹp khoảng cách giữa khả năng tăng tốc đa GPU và một dịch vụ suy luận dễ sử dụng. Các nhóm có thể đánh đổi tài nguyên GPU bổ sung để có độ trễ yêu cầu thấp hơn, giữ cho giao diện ứng dụng và quy trình làm việc xung quanh ổn định, đóng gói engine dưới dạng một mô hình Triton có phiên bản, đồng thời loại bỏ mã quản lý vòng đời của rank và trình giao tiếp ra khỏi phía client. Đối với các quy trình làm việc về phương tiện tạo sinh nhạy cảm với độ trễ, thời gian hoàn thành ngắn hơn có thể giảm thời gian chờ đợi của người dùng và đẩy nhanh các chu kỳ đánh giá và tinh chỉnh.

Bài viết này minh họa quá trình tích hợp bằng cách sử dụng mô hình tạo video NVIDIA Cosmos 3 Nano, một khối lượng công việc chuỗi dài đã được giới thiệu trong bài viết trước: "Scaling AI Inference Across Multiple GPUs Using NVIDIA TensorRT with Multi-Device Inference Support". Diffusers tiếp tục điều phối các prompt, latent, classifier-free guidance (CFG), lập lịch, giải mã VAE và hậu xử lý khung hình. Dynamo-Triton phục vụ transformer khử nhiễu 36 lớp, và tính năng suy luận đa thiết bị của TensorRT sử dụng tính song song ngữ cảnh (context parallelism) Ulysses để phân phối 44.160 token video của nó trên tối đa tám GPU NVIDIA.

Dynamo-Triton phục vụ các mô hình đa thiết bị TensorRT như thế nào?

Đồ thị Ulysses phân tán được biên dịch thành từng kế hoạch (plan) TensorRT trước khi triển khai. Backend TensorRT của Dynamo-Triton tải kế hoạch đã được đánh phiên bản, tạo trạng thái thực thi đa rank và hiển thị một endpoint mô hình gRPC. Client gửi yêu cầu transformer đến endpoint đó; nó không cần điều phối các rank GPU tham gia.

Mô hình Cosmos 3 Nano cung cấp một ví dụ thực tế về ranh giới này. Transformer chiếm 93,4% thời gian tạo trên một GPU, khiến nó trở thành giai đoạn có tác động lớn nhất cần tăng tốc. Mỗi bước trong số 35 bước khử nhiễu yêu cầu một dự đoán phủ định hoặc không điều kiện và một dự đoán có điều kiện theo prompt cho CFG. Do đó, proxy Diffusers thực hiện hai lệnh gọi Triton tuần tự cho mỗi bước, tương đương với 70 RPC transformer cho mỗi lần tạo. Mỗi yêu cầu mang theo các tensor đã chuẩn bị và trả về noise_patches cho quy trình làm việc của ứng dụng.

Workflow showing three stages: diffusers video pipeline, Triton Inference Server, and TensorRT Multi-Device.

Dynamo-Triton kích hoạt một kế hoạch TensorRT phân tán song song ngữ cảnh như thế nào?

Đồ thị phân tán được biên dịch thành từng kế hoạch TensorRT song song ngữ cảnh. Cấu hình của Dynamo-Triton kích hoạt kế hoạch đó; nó không chuyển đổi một engine thiết bị đơn lẻ thành một engine phân tán. Cơ sở thiết bị đơn lẻ sử dụng một instance mô hình GPU tiêu chuẩn trên GPU 0. Các biến thể hai, bốn và tám GPU sử dụng KIND_MODEL, kích hoạt đường dẫn đa thiết bị của backend TensorRT và xác định các rank tham gia.

Phân phối Cosmos 3 với tính song song ngữ cảnh Ulysses

Cấu hình Cosmos 3 Nano cố định cho ví dụ này tạo ra 44.160 token video. Ở kích thước song song ngữ cảnh tám (CP8), mỗi rank xử lý 5.520 token video bên ngoài cơ chế attention. Đường dẫn văn bản ngắn hơn với 2.992 token vẫn được sao chép. Trong mỗi lớp trong số 36 lớp transformer, Ulysses thay đổi trục phân vùng xung quanh cơ chế attention để mỗi rank xử lý toàn bộ chuỗi video cho một tập con các đầu (heads) không chồng lấp.

 A graphic explaining Ulysses context parallelism in one transformer layer.

Engine được xuất từ PyTorch và biên dịch bằng Torch-TensorRT. Ba bộ chuyển đổi cục bộ hạ cấp các thao tác xuất xuống lớp tập hợp phân tán công khai của TensorRT: reduce-scatter, all-to-all và all-gather. Mỗi kế hoạch song song ngữ cảnh được chấp nhận chứa hai lệnh reduce-scatter ban đầu, ba lệnh all-to-all trong mỗi lớp trong số 36 lớp transformer và một lệnh all-gather cuối cùng. Cấu trúc liên kết thu được là hai lệnh reduce-scatter cộng với 108 lệnh all-to-all và một lệnh all-gather.

Đánh giá độ trễ tạo end-to-end

Cả bốn biến thể đều chạy trên cùng một hệ thống NVIDIA tám GPU ổn định. Cơ sở thiết bị đơn lẻ sử dụng một GPU; CP2, CP4 và CP8 sử dụng lần lượt hai, bốn và tám rank. Mọi lần chạy đều sử dụng đầu ra 1280×720, 189 khung hình ở tốc độ 24 FPS và 35 bước khử nhiễu.

Mỗi kết quả bao gồm một lần chạy khởi động (warm-up) theo sau là năm lần tạo hoàn chỉnh được đo đạc. Thời gian bao gồm công việc xử lý prompt, 70 lệnh gọi Dynamo-Triton, cập nhật CFG và bộ lập lịch, giải mã VAE và hậu xử lý khung hình. Lưu ý rằng việc tải mô hình và mã hóa mp4 đã bị loại trừ.

Bảng 1 so sánh các lần chạy Cosmos 3 ở chế độ SD, CP2, CP4 và CP8. Độ trễ end-to-end giảm từ 156,595 giây trên một GPU xuống còn 34,183 giây trên tám GPU, trong khi tốc độ RPC transformer tăng lên gấp 6,09 lần.

ALT-TEXT: The eight-GPU configuration reduces end-to-end latency by 78.17% and transformer RPC time by 83.59% versus one GPU.
Line graph showing strong single-generation latency scaling, but not perfect linear scaling: communication and fixed application work become more visible as transformer time falls.

Trên một GPU, các RPC transformer chiếm 93,4% thời gian tạo. Tại CP8, tỷ lệ đó giảm xuống còn 70,2%. Thời gian bên ngoài đường dẫn RPC được đo đạc vẫn nằm trong khoảng từ 10,2 đến 10,5 giây trên các cấu hình, vì vậy công việc xử lý prompt, cập nhật bộ lập lịch, giải mã VAE, hậu xử lý và các chi phí quản lý khác của client trở thành một phần lớn hơn trong tổng thời gian.

The eight-GPU configuration reduces end-to-end latency by 78.17% and client-observed transformer RPC time by 83.59% relative to the single-device baseline.

Xác thực đầu ra được tạo trước khi khẳng định hiệu suất

Mọi biến thể đều sử dụng cùng một seed và cấu hình tạo. Quá trình xác thực đã lấy mẫu các khung hình 0, 47, 94, 141 và 188, kiểm tra định dạng và sự biến đổi theo thời gian, đồng thời so sánh từng đầu ra song song ngữ cảnh với kết quả của thiết bị đơn lẻ. CP2, CP4 và CP8 đã vượt qua các ngưỡng cấu hình của sai số tuyệt đối trung bình (MAE) ≤ 25 và tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR) ≥ 18 dB.

Các đầu ra không được khẳng định là giống hệt nhau từng pixel. CP2 và CP4 đo được MAE 12,759 và PSNR 21,111 dB. CP8 đo được MAE 16,316 và PSNR 19,400 dB. Bảng liên hệ (contact sheet) cũng cho thấy cùng một hành động nhất quán trong suốt clip: một cánh tay robot đang lau một chiếc đĩa.

Bắt đầu đơn giản hóa việc phục vụ mô hình đa GPU

Đối với các nhóm sản phẩm, những kết quả này chứng minh một lựa chọn thiết thực khi thời gian phản hồi mang lại giá trị kinh doanh cao hơn việc giảm thiểu số lượng GPU được gán cho một yêu cầu. Một lần tạo Cosmos 3 hoàn chỉnh trước đây mất hơn hai phút rưỡi nay hoàn thành trong khoảng 34 giây, trong khi ứng dụng vẫn tiếp tục sử dụng giao diện phục vụ mô hình thông thường.

Các nhóm vẫn phải quyết định phương pháp tốt nhất dựa trên sự đánh đổi giữa tài nguyên và độ trễ. Điểm chuẩn này không đo lường thông lượng yêu cầu đồng thời, chi phí cho mỗi video được tạo hoặc tổng chi phí sở hữu (TCO). Các nhóm nên đánh giá các chỉ số này dựa trên SLO và kinh tế triển khai của riêng họ.

Để tái tạo các kết quả được giới thiệu trong bài viết này trong môi trường của riêng bạn, hãy tải xuống NVIDIA Dynamo-Triton 26.07 từ NGC. Sau đó, sử dụng các tài nguyên TensorRT, Torch-TensorRT, Diffusers và Cosmos đã được liên kết.

Để tìm hiểu thêm, hãy xem các tài nguyên liên quan sau:

Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ NVIDIA Technical Blog: Agentic AI / Generative AI. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.