Những người "nghèo GPU" sắp chia tay tình trạng khó khăn của mình! Vừa rồi NVIDIA đã phát hành phần mềm mã nguồn mở TensorRT-LLM, có thể tăng tốc khả năng suy luận của các mô hình ngôn ngữ lớn trên H100. Vì vậy, nó có thể được cải thiện bao nhiêu lần? Sau khi thêm TensorRT-LLM và một loạt chức năng tối ưu hóa của nó (bao gồm cả xử lý hàng loạt trong chuyến bay), tổng công suất của mô hình đã tăng lên 8 lần.

Truy cập trang mua hàng:

Jingdong NVI Tóm tắt dòng DIA sản phẩm


TA GPH62

So sánh GPT-J-6BA100 và H100 có và không có TensorRT-LLM

Ngoài ra, lấy Llama2 làm ví dụ, TensorRT-LLM có thể cải thiện hiệu suất suy luận lên 4,6 lần so với chỉ sử dụng A100.


Llama270B, A có và không có TensorRT-LLM So sánh giữa 100 và H100

Cư dân mạng cho rằng H100 siêu mạnh, kết hợp với TensorRT-LLM, chắc chắn sẽ thay đổi hoàn toàn tình trạng suy luận mô hình ngôn ngữ lớn hiện nay!


TensorRT-LLM: Tạo tác tăng tốc suy luận mô hình lớn

Hiện tại, do quy mô tham số khổng lồ của các mô hình lớn nên độ khó và chi phí của việc "triển khai và suy luận" luôn ở mức cao cao.

TensorRT-LLM do NVIDIA phát triển nhằm mục đích cải thiện đáng kể thông lượng LLM và giảm chi phí thông qua GPU.


Cụ thể, TensorRT-LLM gói gọn trình biên dịch học sâu của TensorRT, hạt nhân được tối ưu hóa của FasterTransformer, xử lý trước và sau cũng như giao tiếp nhiều GPU/đa nút thành một API Python mã nguồn mở đơn giản.

NVIDIA đã cải tiến hơn nữa FasterTransformer để biến nó thành một giải pháp hiệu quả.

Có thể thấy rằng TensorRT-LLM cung cấp giao diện lập trình ứng dụng Python mô-đun, mã nguồn mở và dễ sử dụng.

Người lập trình không cần kiến ​​thức chuyên môn chuyên sâu về C++ hoặc CUDA. Họ có thể triển khai, chạy và gỡ lỗi nhiều mô hình ngôn ngữ lớn khác nhau, đồng thời cũng có thể đạt được hiệu suất cao nhất và các chức năng tùy chỉnh nhanh chóng.


Theo blog chính thức của NVIDIA, TensorRT-LLM tối ưu hóa hiệu suất suy luận LLM trên GPU NVIDIA theo bốn cách.

Trước hết, TensorRT-LLM được giới thiệu cho hơn 10 mẫu máy lớn hiện tại, cho phép các nhà phát triển chạy chúng ngay lập tức.

Thứ hai, TensorRT-LLM, với tư cách là thư viện phần mềm nguồn mở, cho phép LLM thực hiện suy luận đồng thời trên nhiều GPU và nhiều máy chủ GPU.

Các máy chủ này được kết nối tương ứng thông qua kết nối NVLink và InfiniBand của NVIDIA.

Thứ ba là "Xử lý hàng loạt trong chuyến bay", đây là công nghệ lập lịch hoàn toàn mới cho phép các tác vụ mô hình khác nhau vào và thoát GPU một cách độc lập với các tác vụ khác.

Cuối cùng, TensorRT-LLM đã được tối ưu hóa để sử dụng H100TransformerEngine nhằm giảm mức sử dụng bộ nhớ và độ trễ trong quá trình suy luận mô hình.

Tiếp theo, chúng ta hãy xem xét kỹ hơn cách TensorRT-LLM cải thiện hiệu suất mô hình.

Hỗ trợ hệ sinh thái LLM phong phú

TensorRT-LLM cung cấp hỗ trợ rất tốt cho hệ sinh thái mô hình nguồn mở.

Các mô hình ngôn ngữ lớn nhất và tiên tiến nhất, chẳng hạn như Llama2-70B do Meta ra mắt, yêu cầu nhiều GPU hoạt động cùng nhau để cung cấp phản hồi trong thời gian thực.

Trước đây, nếu muốn đạt được hiệu suất suy luận LLM tốt nhất, các nhà phát triển phải viết lại mô hình AI và chia nó thành nhiều phân đoạn theo cách thủ công và phối hợp thực thi trên các GPU.


TensorRT-LLM sử dụng công nghệ song song tensor (song song tensor) để phân phối ma trận trọng số cho từng thiết bị, từ đó đơn giản hóa quy trình này và cho phép suy luận hiệu quả trên quy mô lớn.

Mỗi model có thể chạy song song trên nhiều GPU và nhiều máy chủ được kết nối qua NVLink mà không cần sự can thiệp của nhà phát triển hoặc thay đổi model.


Với việc giới thiệu các mô hình và kiến ​​trúc mô hình mới, các nhà phát triển có thể tối ưu hóa mô hình của họ bằng cách sử dụng nhân NVIDIA AI (Kernal) mới nhất có nguồn mở trong TensorRT-LLM.

Hỗ trợ tổng hợp hạt nhân (KernalFusion), bao gồm triển khai FlashAttention tiên tiến nhất và sự chú ý nhiều đầu được che giấu cho ngữ cảnh và các giai đoạn tạo của quá trình thực thi mô hình GPT, v.v.

Ngoài ra, TensorRT-LLM còn bao gồm các phiên bản sẵn sàng chạy, được tối ưu hóa hoàn toàn của nhiều mô hình ngôn ngữ lớn phổ biến nhất hiện nay.

Nó bao gồm MetaLlama2, OpenAIGPT-2 và GPT-3, Falcon, KhảmMPT, BLOOM và hơn 10 mô hình, tất cả đều có thể được gọi bằng API TensorRT-LLMPython đơn giản và dễ sử dụng.

Các chức năng này có thể giúp nhà phát triển xây dựng các mô hình ngôn ngữ lớn tùy chỉnh nhanh hơn và chính xác hơn để đáp ứng các nhu cầu khác nhau của các ngành khác nhau.

Xử lý hàng loạt trong chuyến bay

Ngày nay, các mô hình ngôn ngữ lớn cực kỳ linh hoạt.

Một mô hình duy nhất có thể được sử dụng đồng thời cho nhiều nhiệm vụ dường như khác nhau - từ phản hồi Hỏi & Đáp đơn giản trong chatbot đến tóm tắt tài liệu hoặc tạo các khối mã dài, khối lượng công việc có tính linh hoạt cao và kích thước đầu ra cần có mức độ lớn khác nhau để đáp ứng nhu cầu của nhiệm vụ.

Sự đa dạng của các nhiệm vụ có thể gây khó khăn cho việc xử lý các yêu cầu theo nhóm một cách hiệu quả và thực hiện thực thi song song hiệu quả, có thể khiến một số yêu cầu hoàn thành sớm hơn các yêu cầu khác.


Để quản lý các tải động này, TensorRT-LLM bao gồm một công nghệ lập kế hoạch được tối ưu hóa có tên là "Phân khối trên chuyến bay".

Nguyên tắc cốt lõi của nó là toàn bộ quá trình tạo văn bản của một mô hình ngôn ngữ lớn có thể được chia thành nhiều lần lặp thực thi trên mô hình.

Với tính năng phân nhóm trong chuyến bay, thời gian chạy TensorRT-LLM sẽ ngay lập tức giải phóng các chuỗi đã hoàn thành từ lô, thay vì đợi toàn bộ lô hoàn thành trước khi tiếp tục xử lý nhóm yêu cầu tiếp theo.

Khi thực hiện một yêu cầu mới, các yêu cầu khác từ đợt trước chưa được hoàn thành vẫn đang được xử lý.

Việc phân nhóm trong quá trình hoạt động và tối ưu hóa cấp hạt nhân bổ sung sẽ cải thiện việc sử dụng GPU, điều này ít nhất có thể tăng gấp đôi thông lượng của điểm chuẩn yêu cầu LLM thực tế trên H100.

Sử dụng công cụ H100Transformer của FP8

TensorRT-LLM cũng cung cấp một chức năng gọi là H100TransformerEngine, có thể giảm mức tiêu thụ bộ nhớ và độ trễ một cách hiệu quả trong quá trình suy luận mô hình lớn.

Vì LLM chứa hàng tỷ trọng số mô hình và hàm kích hoạt nên nó thường được huấn luyện và biểu thị bằng các giá trị FP16 hoặc BF16, mỗi giá trị chiếm 16 bit bộ nhớ.

Tuy nhiên, tại thời điểm suy luận, hầu hết các mô hình có thể được biểu diễn một cách hiệu quả với độ chính xác thấp hơn bằng cách sử dụng các kỹ thuật lượng tử hóa, chẳng hạn như số nguyên 8 bit hoặc thậm chí 4 bit (INT8 hoặc INT4).

Lượng tử hóa là quá trình giảm trọng lượng mô hình và độ chính xác kích hoạt mà không làm giảm độ chính xác. Sử dụng độ chính xác thấp hơn có nghĩa là mỗi tham số nhỏ hơn và mô hình chiếm ít dung lượng hơn trong bộ nhớ GPU.


Điều này cho phép suy luận trên các mô hình lớn hơn sử dụng cùng một phần cứng trong khi tiêu tốn ít thời gian hơn cho các thao tác bộ nhớ trong quá trình thực thi.

Thông qua công nghệ H100TransformerEngine, H100GPU với TensorRT-LLM cho phép người dùng dễ dàng chuyển đổi trọng lượng mô hình sang định dạng FP8 mới và tự động biên dịch mô hình để tận dụng hạt nhân FP8 được tối ưu hóa.

Và quá trình này không yêu cầu bất kỳ mã hóa nào! Định dạng dữ liệu FP8 được H100 giới thiệu cho phép các nhà phát triển định lượng mô hình của họ và giảm đáng kể mức tiêu thụ bộ nhớ mà không làm giảm độ chính xác của mô hình.

So với các định dạng dữ liệu khác như INT8 hoặc INT4, lượng tử hóa FP8 giữ được độ chính xác cao hơn đồng thời đạt được hiệu suất nhanh nhất và thuận tiện nhất để thực hiện.

Cách nhận TensorRT-LLM

Mặc dù TensorRT-LLM chưa được phát hành chính thức nhưng người dùng hiện có thể có quyền truy cập sớm.

Link ứng dụng như sau:

https://developer.nvidia.com/tensorr t-llm-early-access/join

NVIDIA cũng cho biết TensorRT-LLM sẽ được tích hợp vào framework NVIDIANeMo sớm thôi.

Khung này là một phần của AIEnterprise được NVIDIA ra mắt cách đây không lâu, cung cấp cho khách hàng doanh nghiệp nền tảng phần mềm AI cấp doanh nghiệp an toàn, ổn định và có khả năng quản lý cao.

Các nhà phát triển và nhà nghiên cứu có thể truy cập TensorRT-LLM thông qua khung NeMo trên NVIDIA NGC hoặc dưới dạng dự án trên GitHub.

Tuy nhiên, cần lưu ý rằng người dùng phải đăng ký Chương trình nhà phát triển NVIDIA để đăng ký phiên bản truy cập sớm.

Cư dân mạng đang thảo luận sôi nổi

Cư dân mạng trên Reddit đã thảo luận sôi nổi về việc ra mắt TensorRT-LLM.

Thật khó để tưởng tượng hiệu quả sẽ được cải thiện đến mức nào sau khi tối ưu hóa phần cứng dành riêng cho LLM.


Nhưng một số cư dân mạng cho rằng mục đích của việc này là giúp Lão Hoàng bán được nhiều H100 hơn.


Tuy nhiên, một số cư dân mạng không đồng tình lắm. Anh ấy cho rằng TensorRT cũng hữu ích cho những người dùng triển khai SD cục bộ, vì vậy miễn là có GPU RTX thì có thể hưởng lợi từ các sản phẩm tương tự trong tương lai.


Từ góc độ vĩ mô hơn, có lẽ đối với LLM, cũng sẽ có một loạt tối ưu hóa ở cấp độ phần cứng và thậm chí cả phần cứng được thiết kế riêng cho LLM sẽ xuất hiện trong tương lai để cải thiện hiệu suất của LLM. Tình trạng này thực tế đã xảy ra trong nhiều ứng dụng phổ biến và LLM cũng không ngoại lệ.