Hướng dẫn bắt đầu nhanh: NVIDIA DGX Spark với Ultralytics YOLO26

Hướng dẫn toàn diện này cung cấp các bước chi tiết để triển khai Ultralytics YOLO26 trên NVIDIA DGX Spark, siêu máy tính AI để bàn nhỏ gọn của NVIDIA. Ngoài ra, tài liệu này còn giới thiệu các điểm chuẩn hiệu năng nhằm minh họa khả năng của YOLO26 trên hệ thống mạnh mẽ này.

NVIDIA DGX Spark AI workstation overview

Lưu ý

Hướng dẫn này đã được thử nghiệm với NVIDIA DGX Spark Founders Edition chạy DGX OS dựa trên Ubuntu. Nó cũng được kỳ vọng sẽ hoạt động với các bản phát hành DGX OS mới nhất.

NVIDIA DGX Spark là gì?

NVIDIA DGX Spark là một siêu máy tính AI để bàn nhỏ gọn được trang bị siêu chip NVIDIA GB10 Grace Blackwell. Nó mang lại hiệu năng tính toán AI lên đến 1 petaFLOP với độ chính xác FP4, biến nó thành lựa chọn lý tưởng cho các nhà phát triển, nhà nghiên cứu và nhà khoa học dữ liệu cần khả năng AI mạnh mẽ trong một thiết bị để bàn.



Watch: How to Get up to 1000 FPS with Ultralytics YOLO26 on NVIDIA DGX Spark | TensorRT & Batch Inference

Thông số kỹ thuật chính

Thông số kỹ thuậtChi tiết
Hiệu năng AILên đến 1 PFLOP (FP4)
GPUKiến trúc NVIDIA Blackwell với Tensor Cores thế hệ thứ 5, RT Cores thế hệ thứ 4
CPUBộ xử lý Arm 20 nhân (10 Cortex-X925 + 10 Cortex-A725)
Bộ nhớ128 GB bộ nhớ hệ thống thống nhất LPDDR5x, giao diện 256-bit, 4266 MHz, băng thông 273 GB/s
Lưu trữ1 TB hoặc 4 TB NVMe M.2 với tính năng tự mã hóa
Mạng1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, Wi-Fi 7, Bluetooth 5.4
Kết nối4x USB Type-C, 1x HDMI 2.1a, âm thanh đa kênh HDMI
Xử lý Video1x NVENC, 1x NVDEC

DGX OS

NVIDIA DGX OS là một bản phân phối Linux tùy chỉnh, cung cấp nền tảng hệ điều hành ổn định, đã qua kiểm thử và được hỗ trợ để chạy các ứng dụng AI, machine learning và phân tích trên các hệ thống DGX. Nó bao gồm:

  • Một nền tảng Linux mạnh mẽ được tối ưu hóa cho các khối lượng công việc AI
  • Các driver và thiết lập hệ thống được cấu hình sẵn cho phần cứng NVIDIA
  • Khả năng cập nhật bảo mật và bảo trì hệ thống
  • Khả năng tương thích với hệ sinh thái phần mềm rộng lớn hơn của NVIDIA

DGX OS tuân theo lịch phát hành định kỳ với các bản cập nhật thường được cung cấp hai lần mỗi năm (khoảng tháng 2 và tháng 8), cùng các bản vá bảo mật bổ sung được cung cấp giữa các bản phát hành chính.

DGX Dashboard

DGX Spark đi kèm với một DGX Dashboard tích hợp, cung cấp:

  • Giám sát hệ thống thời gian thực: Tổng quan về các chỉ số vận hành hiện tại của hệ thống
  • Cập nhật hệ thống: Khả năng áp dụng các bản cập nhật trực tiếp từ bảng điều khiển
  • Cài đặt hệ thống: Thay đổi tên thiết bị và các cấu hình khác
  • Tích hợp JupyterLab: Truy cập Jupyter Notebooks cục bộ để phát triển

NVIDIA DGX management dashboard interface

Truy cập Dashboard

Nhấp vào nút "Show Apps" ở góc dưới cùng bên trái của màn hình Ubuntu, sau đó chọn "DGX Dashboard" để mở trong trình duyệt của bạn.

Tích hợp JupyterLab

Bảng điều khiển bao gồm một instance JupyterLab tích hợp, tự động tạo môi trường ảo và cài đặt các gói khuyến nghị khi khởi động. Mỗi tài khoản người dùng được gán một cổng chuyên dụng để truy cập JupyterLab.

Bắt đầu nhanh với Docker

Cách nhanh nhất để bắt đầu với Ultralytics YOLO26 trên NVIDIA DGX Spark là chạy bằng các image docker được xây dựng sẵn. Cùng một Docker image hỗ trợ Jetson AGX Thor (JetPack 7.0) cũng hoạt động trên DGX Spark với DGX OS.

t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t

Sau khi hoàn tất, hãy chuyển đến phần Sử dụng TensorRT trên NVIDIA DGX Spark.

Bắt đầu với Cài đặt Native

Đối với cài đặt native không sử dụng Docker, hãy làm theo các bước sau.

Cài đặt gói Ultralytics

Ở đây chúng ta sẽ cài đặt gói Ultralytics trên DGX Spark cùng các phụ thuộc tùy chọn để có thể xuất các mô hình PyTorch sang các định dạng khác. Chúng ta sẽ tập trung chính vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta đạt được hiệu năng tối đa từ DGX Spark.

  1. Cập nhật danh sách gói, cài đặt pip và nâng cấp lên phiên bản mới nhất

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Cài đặt gói ultralytics bằng pip với các phụ thuộc tùy chọn

    pip install ultralytics[export]
  3. Khởi động lại thiết bị

    sudo reboot

Cài đặt PyTorch và Torchvision

Việc cài đặt ultralytics ở trên sẽ cài đặt Torch và Torchvision. Tuy nhiên, các gói này được cài đặt qua pip có thể chưa được tối ưu hóa hoàn toàn cho kiến trúc ARM64 của DGX Spark với CUDA 13. Do đó, chúng tôi khuyến nghị cài đặt các phiên bản tương thích với CUDA 13:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
Thông tin

Khi chạy PyTorch 2.9.1 trên NVIDIA DGX Spark, bạn có thể gặp UserWarning sau đây khi khởi tạo CUDA (ví dụ: chạy yolo checks, yolo predict, v.v.):

UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)

Cảnh báo này có thể được bỏ qua một cách an toàn. Để giải quyết vĩnh viễn, một bản sửa lỗi đã được gửi trong PyTorch PR #164590, bản sửa lỗi này sẽ được bao gồm trong bản phát hành PyTorch 2.10.

Cài đặt onnxruntime-gpu

Gói onnxruntime-gpu được lưu trữ trên PyPI không có các tệp nhị phân aarch64 cho hệ thống ARM64. Vì vậy, chúng ta cần cài đặt thủ công gói này. Gói này cần thiết cho một số định dạng xuất.

Ở đây chúng ta sẽ tải xuống và cài đặt onnxruntime-gpu 1.24.0 với hỗ trợ Python3.12.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

Sử dụng TensorRT trên NVIDIA DGX Spark

Trong số tất cả các định dạng xuất mô hình được hỗ trợ bởi Ultralytics, TensorRT mang lại hiệu năng inference cao nhất trên NVIDIA DGX Spark, khiến nó trở thành đề xuất hàng đầu của chúng tôi cho các triển khai. Để biết hướng dẫn thiết lập và cách sử dụng nâng cao, hãy xem hướng dẫn tích hợp TensorRT chuyên dụng của chúng tôi.

Chuyển đổi mô hình sang TensorRT và chạy Inference

Mô hình YOLO26n ở định dạng PyTorch được chuyển đổi sang TensorRT để chạy inference với mô hình đã xuất.

Ví dụ
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo26n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Lưu ý

Truy cập trang Export để xem các tham số bổ sung khi xuất mô hình sang các định dạng khác

Các điểm chuẩn YOLO11 trên NVIDIA DGX Spark

Các điểm chuẩn YOLO11 được thực hiện bởi đội ngũ Ultralytics trên nhiều định dạng mô hình để đo lường tốc độ và độ chính xác: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Các điểm chuẩn được thực hiện trên NVIDIA DGX Spark ở độ chính xác FP32 với kích thước ảnh đầu vào mặc định là 640.

Bảng so sánh chi tiết

Bảng dưới đây thể hiện kết quả điểm chuẩn cho năm mô hình khác nhau (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) trên nhiều định dạng, cung cấp trạng thái, kích thước, chỉ số mAP50-95(B) và thời gian inference cho mỗi sự kết hợp.

Hiệu suất
Định dạngTrạng tháiKích thước trên đĩa (MB)mAP50-95(B)Thời gian inference (ms/im)
PyTorch5.40.50712.67
TorchScript10.50.50832.62
ONNX10.20.50745.92
OpenVINO10.40.505814.95
TensorRT (FP32)12.80.50851.95
TensorRT (FP16)7.00.50681.01
TensorRT (INT8)18.60.48801.62
TF SavedModel25.70.507636.39
TF GraphDef10.30.507641.06
TF Lite10.30.507564.36
MNN10.10.507512.14
NCNN10.20.504112.31
ExecuTorch10.20.507527.61

Được benchmark với Ultralytics 8.3.249

Tái tạo kết quả của chúng tôi

Để tái tạo các benchmark Ultralytics ở trên cho tất cả các định dạng xuất, hãy chạy đoạn mã này:

Ví dụ
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

Lưu ý rằng kết quả benchmark có thể khác nhau dựa trên cấu hình phần cứng và phần mềm chính xác của hệ thống, cũng như khối lượng công việc hiện tại của hệ thống tại thời điểm chạy benchmark. Để có kết quả đáng tin cậy nhất, hãy sử dụng tập dữ liệu có số lượng ảnh lớn, ví dụ: data='coco.yaml' (5000 ảnh val).

Các phương pháp tốt nhất cho NVIDIA DGX Spark

Khi sử dụng NVIDIA DGX Spark, có một số phương pháp tốt nhất cần tuân theo để kích hoạt hiệu suất tối đa khi chạy YOLO26.

  1. Giám sát hiệu suất hệ thống

    Sử dụng các công cụ giám sát của NVIDIA để theo dõi mức sử dụng GPU và CPU:

    nvidia-smi
  2. Tối ưu hóa mức sử dụng bộ nhớ

    Với 128GB bộ nhớ thống nhất (unified memory), DGX Spark có thể xử lý các batch size lớn và các model lớn. Hãy cân nhắc tăng batch size để cải thiện thông lượng:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine")
    results = model.predict(source="path/to/images", batch=16)
  3. Sử dụng TensorRT với FP16 hoặc INT8

    Để có hiệu suất tốt nhất, hãy xuất các model với độ chính xác FP16 hoặc INT8:

    yolo export model=yolo26n.pt format=engine half=True # FP16
    yolo export model=yolo26n.pt format=engine int8=True # INT8

Cập nhật hệ thống (Founders Edition)

Việc giữ cho DGX Spark Founders Edition của bạn luôn được cập nhật là rất quan trọng đối với hiệu suất và bảo mật. NVIDIA cung cấp hai phương pháp chính để cập nhật hệ điều hành, trình điều khiển và firmware của hệ thống.

Sử dụng DGX Dashboard (Được đề xuất)

DGX Dashboard là cách được đề xuất để thực hiện cập nhật hệ thống nhằm đảm bảo tính tương thích. Nó cho phép bạn:

  • Xem các bản cập nhật hệ thống khả dụng
  • Cài đặt các bản vá bảo mật và cập nhật hệ thống
  • Quản lý các bản cập nhật trình điều khiển và firmware NVIDIA

Cập nhật hệ thống thủ công

Đối với người dùng nâng cao, các bản cập nhật có thể được thực hiện thủ công qua terminal:

sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot
Cảnh báo

Đảm bảo hệ thống của bạn được kết nối với nguồn điện ổn định và bạn đã sao lưu dữ liệu quan trọng trước khi thực hiện cập nhật.

Các bước tiếp theo

Để tìm hiểu thêm và nhận hỗ trợ, hãy xem Tài liệu Ultralytics YOLO26.

Câu hỏi thường gặp (FAQ)

Làm thế nào để triển khai Ultralytics YOLO26 trên NVIDIA DGX Spark?

Việc triển khai Ultralytics YOLO26 trên NVIDIA DGX Spark rất đơn giản. Bạn có thể sử dụng image Docker được xây dựng sẵn để thiết lập nhanh hoặc cài đặt thủ công các gói cần thiết. Các bước chi tiết cho từng phương pháp có thể được tìm thấy trong các phần Bắt đầu nhanh với DockerBắt đầu với Cài đặt gốc.

Tôi có thể mong đợi hiệu suất như thế nào từ YOLO26 trên NVIDIA DGX Spark?

Các model YOLO26 mang lại hiệu suất tuyệt vời trên DGX Spark nhờ Superchip GB10 Grace Blackwell. Định dạng TensorRT cung cấp hiệu suất inference tốt nhất. Kiểm tra phần Bảng so sánh chi tiết để biết kết quả benchmark cụ thể trên các kích thước model và định dạng khác nhau.

Tại sao tôi nên sử dụng TensorRT cho YOLO26 trên DGX Spark?

TensorRT rất được khuyến khích để triển khai các model YOLO26 trên DGX Spark nhờ hiệu suất tối ưu của nó. Nó tăng tốc inference bằng cách tận dụng các khả năng của Blackwell GPU, đảm bảo hiệu quả và tốc độ tối đa. Tìm hiểu thêm trong phần Sử dụng TensorRT trên NVIDIA DGX Spark.

DGX Spark so sánh thế nào với các thiết bị Jetson cho YOLO26?

DGX Spark cung cấp công suất tính toán đáng kể hơn các thiết bị Jetson với hiệu suất AI lên tới 1 PFLOP và 128GB bộ nhớ thống nhất, so với 2070 TFLOPS và 128GB bộ nhớ của Jetson AGX Thor. DGX Spark được thiết kế như một siêu máy tính AI để bàn, trong khi các thiết bị Jetson là các hệ thống nhúng được tối ưu hóa cho triển khai ở biên (edge).

Tôi có thể sử dụng cùng một Docker image cho DGX Spark và Jetson AGX Thor không?

Có! Docker image ultralytics/ultralytics:latest-nvidia-arm64 hỗ trợ cả NVIDIA DGX Spark (với DGX OS) và Jetson AGX Thor (với JetPack 7.0), vì cả hai đều sử dụng kiến trúc ARM64 với CUDA 13 và các ngăn xếp phần mềm tương tự.

Bình luận