TensorRT Edge-LLM: thử nghiệm edge AI từ CLI đến API local
NVIDIA giới thiệu TensorRT Edge-LLM cho DGX Spark 64GB: tải Nemotron-3.5 Lightning, build TensorRT engine, chat trên terminal và phục vụ API tương thích OpenAI tại máy local trước khi hướng tới nền tảng edge hỗ trợ.
Một yêu cầu như “đưa chatbot xuống thiết bị tại xưởng” thường kéo theo nhiều câu hỏi vận hành: tải model ở đâu, build engine lúc nào, cache chiếm bao nhiêu dung lượng và ứng dụng nội bộ sẽ gọi model qua giao thức nào.
TensorRT Edge-LLM của NVIDIA đưa ra một luồng thử nghiệm trên DGX Spark 64GB: tải model, build TensorRT engine, chat ngay trên terminal, rồi mở API tương thích OpenAI tại máy local. Công cụ này được NVIDIA định hướng để đưa cùng một framework suy luận từ DGX Spark sang các nền tảng như Jetson Thor, DRIVE AGX Thor và IGX Thor.
Với đội hạ tầng, đây là cơ hội biến một yêu cầu AI còn mơ hồ thành checklist cụ thể: kiểm tra CUDA và TensorRT, dự trù cache, đo độ trễ với workload thật và xác định cách bảo vệ API trước khi đưa hệ thống ra hiện trường.
TensorRT Edge-LLM làm gì?
TensorRT Edge-LLM là runtime suy luận C++ nhẹ cho workload nhúng, đi kèm CLI trtedge. Trong quy trình NVIDIA minh họa, CLI có thể:
Tải model được chọn.
Build TensorRT engine tối ưu cho suy luận trên DGX Spark.
Chạy phiên chat ngay trong terminal.
Phục vụ model qua API tương thích OpenAI tại máy local.
Ví dụ của NVIDIA dùng NVIDIA Nemotron-3.5 Lightning, một model chỉ xử lý văn bản. Ở lần chạy đầu, trtedge tải model và build engine; các lần chạy sau có thể tái sử dụng engine cache nếu cấu hình phù hợp.
Điều này giúp rút ngắn vòng lặp thử nghiệm, nhưng cũng khiến cache model và engine trở thành một hạng mục cần theo dõi trong vận hành.
Điều kiện môi trường và tài nguyên cần lưu ý
Theo bài hướng dẫn, môi trường mẫu cần:
NVIDIA DGX Spark với software stack được hỗ trợ.
CUDA 13.
TensorRT từ 10.16.1.11 đến trước phiên bản 11.
Python từ 3.10 đến 3.12.
NVIDIA thử nghiệm ví dụ với TensorRT Edge-LLM 0.11.1 và TensorRT 10.16.1.11.
Về dung lượng và bộ nhớ:
Model Nemotron trong ví dụ tải về khoảng 21GB ở lần chạy đầu.
Model và engine mặc định được lưu tại ~/.cache/tensorrt-edgellm.
Cần có đủ chỗ cho cả model lẫn engine.
Khi bật DSpark speculative decoding, NVIDIA đo được mức sử dụng bộ nhớ hệ thống đỉnh 27,9GB, đã gồm hệ điều hành.
Con số 27,9GB không phải cấu hình tối thiểu cho mọi model hay mọi thiết bị. Nó được đo trên DGX Spark 64GB, với batch size một, một yêu cầu streaming đồng thời và giới hạn đầu ra 128 token.
Từ terminal đến API local
Bắt đầu bằng cách tạo virtual environment và cài TensorRT Edge-LLM:
bash
python3 -m venv --system-site-packages .venv-edgellm
source .venv-edgellm/bin/activate
python -m pip install --upgrade pip
python -m pip install "tensorrt-edgellm[server]==0.11.1"
Tùy chọn --system-site-packages cho phép môi trường ảo truy cập các Python package hệ thống, bao gồm TensorRT.
Tiếp theo, kiểm tra phiên bản TensorRT và khả năng nạp runtime:
bash
python -c "import tensorrt as trt; v = tuple(map(int, trt.version.split('.'))); assert (10, 16, 1, 11) <= v < (11,), f'TensorRT >=10.16.1.11 and <11 required; found {trt.version}'; from tensorrtedgellm import runtime; runtime.load()"
Nếu TensorRT bindings trên hệ thống không tương thích, NVIDIA hướng dẫn cài một phiên bản TensorRT 10.x tương thích vào environment đang kích hoạt.
Để chat với model và kích hoạt quá trình tải/build ở lần đầu:
bash
trtedge chat nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4
NVIDIA dùng prompt thử nghiệm sau:
text
Convert 25°C to Fahrenheit. Answer in one sentence.
Kết quả minh họa là:
text
25°C is equal to 77°F.
Gõ /exit để kết thúc phiên chat.
Để mở API local:
bash
trtedge serve nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 \
--host 127.0.0.1 \
--port 8000
Có thể kiểm tra trạng thái sẵn sàng từ terminal khác:
bash
curl -fsS http://127.0.0.1:8000/health/ready
Phản hồi chứa "status":"ready" cho biết server đã sẵn sàng. NVIDIA cho biết server cung cấp endpoint chat completions tại /v1/chat/completions và stream phản hồi dưới dạng JSON events.
Việc bind vào 127.0.0.1 nghĩa là ví dụ chỉ phục vụ kết nối local trên DGX Spark. Đây phù hợp cho giai đoạn prototype; khi cần mở cho máy khác, đội hạ tầng nên thiết kế lớp kiểm soát truy cập, xác thực và mã hóa theo tiêu chuẩn nội bộ.
DSpark tăng tốc sinh token trong benchmark NVIDIA
NVIDIA cũng minh họa DSpark speculative decoding. Kỹ thuật này dùng model draft để đề xuất trước token, sau đó model chính xác nhận nhiều token trong một lượt.
Khởi động server với DSpark và ba draft tokens:
bash
trtedge serve nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 \
--host 127.0.0.1 \
--port 8000 \
--speculative-config '{
"method": "dspark",
"model": "nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4-DSpark",
"numspeculativetokens": 3
}'
Trên HumanEval prompts, NVIDIA ghi nhận tốc độ sinh trung bình tăng từ 73,4 tokens/giây khi tắt DSpark lên 126,9 tokens/giây khi bật DSpark. Median time to first token thay đổi từ 98,1ms lên 98,7ms.
Các phép đo được thực hiện trên DGX Spark 64GB chạy DGX OS 7.6.0, dùng NVFP4 với thinking bật, batch size một, một yêu cầu streaming đồng thời và đầu ra tối đa 128 token.
Vì vậy, không nên dùng trực tiếp các số tokens/giây này làm SLA cho hệ thống nội bộ. Prompt thực tế, độ dài ngữ cảnh, số client đồng thời và thiết bị đích đều cần được đo lại.
Checklist trước khi chuyển từ lab sang pilot
TensorRT Edge-LLM tạo một quy trình rõ ràng để thử model trên DGX Spark trước khi hướng tới các nền tảng edge NVIDIA được hỗ trợ. Tuy nhiên, trước pilot, đội vận hành nên xác minh ít nhất các điểm sau:
Dung lượng cho model, engine và cache.
Bộ nhớ sử dụng khi inference với prompt và giới hạn đầu ra thực tế.
Thời gian build engine, khả năng tái sử dụng cache và tác động khi đổi model hoặc cấu hình.
Độ trễ, tốc độ sinh token và hành vi khi tăng số yêu cầu đồng thời.
Cách tích hợp endpoint local vào mạng nội bộ, bao gồm kiểm soát truy cập và giám sát.
Chính sách xử lý prompt, log và dữ liệu nội bộ.
Điểm đáng chú ý của TensorRT Edge-LLM không chỉ là vài lệnh CLI. Giá trị thực là một đường thử tương đối liền mạch: từ model, TensorRT engine và terminal chat đến API local để đội ứng dụng tích hợp thử — trước khi quyết định cấu hình thiết bị edge và mô hình vận hành phù hợp.