Edge AI là gì và tại sao cần Jetson?
Edge AI là việc chạy mô hình AI trực tiếp trên thiết bị thay vì gửi dữ liệu lên cloud. Ưu điểm rõ ràng: độ trễ cực thấp (dưới 30ms), hoạt động offline, bảo mật dữ liệu và tiết kiệm băng thông. Trong robotics, edge AI là bắt buộc — robot không thể chờ 200ms round-trip tới cloud để né vật cản.
NVIDIA Jetson là dòng SBC (Single Board Computer) được thiết kế riêng cho AI inference, với GPU CUDA tích hợp mạnh mẽ.
Dòng sản phẩm Jetson
| Module | GPU Cores | RAM | AI Performance | Giá (~) |
|---|---|---|---|---|
| Jetson Nano | 128 CUDA | 4GB | 472 GFLOPS | $149 |
| Jetson Orin Nano | 1024 CUDA | 8GB | 40 TOPS | $249 |
| Jetson Orin NX | 1024 CUDA | 16GB | 100 TOPS | $599 |
| Jetson AGX Orin | 2048 CUDA | 64GB | 275 TOPS | $1999 |
Với robot di động, Jetson Orin Nano là lựa chọn tối ưu nhất về hiệu năng/giá/công suất (15W).
Cài đặt môi trường
JetPack SDK
JetPack là bộ SDK chính thức, bao gồm CUDA, cuDNN, TensorRT và các thư viện tối ưu:
# Flash JetPack 6.0 bằng SDK Manager (trên host Ubuntu)
# Hoặc dùng pre-built image
sudo apt update && sudo apt install -y nvidia-jetpack
# Kiểm tra CUDA
nvcc --version
python3 -c "import torch; print(torch.cuda.is_available())"
Container cho development
NVIDIA cung cấp container đã cài sẵn mọi thứ — việc sử dụng Docker cho IoT giúp đơn giản hóa triển khai trên Jetson:
# Pull container tối ưu cho Jetson
sudo docker pull nvcr.io/nvidia/l4t-pytorch:r36.2.0-pth2.1-py3
# Chạy với GPU access
sudo docker run -it --runtime nvidia --network host \
-v /home/user/project:/workspace \
nvcr.io/nvidia/l4t-pytorch:r36.2.0-pth2.1-py3
Tối ưu Model với TensorRT
TensorRT là engine inference của NVIDIA, tăng tốc model lên 2-5 lần so với PyTorch native.
YOLOv8 là model phổ biến cho kiểm tra chất lượng tự động và nhận dạng vật thể trên dây chuyền sản xuất.
Chuyển đổi YOLOv8 sang TensorRT
from ultralytics import YOLO
# Load model PyTorch
model = YOLO("yolov8n.pt")
# Export sang TensorRT FP16
model.export(format="engine", device=0, half=True, imgsz=640)
# Inference với TensorRT engine
trt_model = YOLO("yolov8n.engine")
results = trt_model.predict("test.jpg", conf=0.5)
So sánh hiệu năng trên Jetson Orin Nano
| Format | FPS (640x640) | Latency |
|---|---|---|
| PyTorch FP32 | 12 FPS | 83ms |
| TensorRT FP32 | 28 FPS | 36ms |
| TensorRT FP16 | 45 FPS | 22ms |
| TensorRT INT8 | 62 FPS | 16ms |
Quantization: FP16 và INT8
FP16 giảm một nửa bộ nhớ và tăng tốc inference mà gần như không mất accuracy. Đây là lựa chọn mặc định cho Jetson.
INT8 cần calibration dataset nhưng cho tốc độ cao nhất:
import tensorrt as trt
# INT8 calibration
config.set_flag(trt.BuilderFlag.INT8)
config.int8_calibrator = EntropyCalibrator(
calibration_data="/path/to/calib_images/",
cache_file="calibration.cache"
)
Pipeline Real-time hoàn chỉnh
import cv2
from ultralytics import YOLO
model = YOLO("yolov8n.engine")
cap = cv2.VideoCapture(0) # CSI camera hoặc USB
while True:
ret, frame = cap.read()
if not ret:
break
# Inference
results = model.predict(frame, conf=0.5, verbose=False)
# Xử lý kết quả
for box in results[0].boxes:
cls = int(box.cls[0])
conf = float(box.conf[0])
x1, y1, x2, y2 = map(int, box.xyxy[0])
# Gửi lệnh cho robot dựa trên detection
if cls == 0: # person detected
distance = estimate_distance(y2 - y1)
if distance < 1.0: # dưới 1 mét
send_stop_command()
Power Management
Jetson có nhiều power mode, chọn phù hợp với ứng dụng:
# Xem power mode hiện tại
sudo nvpmodel -q
# Chuyển sang mode 15W (hiệu năng cao)
sudo nvpmodel -m 0
# Mode 7W (tiết kiệm pin cho robot di động)
sudo nvpmodel -m 1
# Maximize performance
sudo jetson_clocks
Lời khuyên triển khai
- Luôn dùng TensorRT FP16 — đây là baseline, chỉ chuyển INT8 khi cần thêm FPS
- Pre-process trên GPU: dùng
cv2.cudahoặc NVIDIA VPI thay vì CPU OpenCV - Batch inference: gom nhiều frame xử lý cùng lúc nếu latency cho phép
- Monitor nhiệt độ: Jetson throttle ở 80°C, cần tản nhiệt tốt cho robot chạy liên tục
Edge AI với Jetson mở ra khả năng triển khai AI mạnh mẽ ngay trên robot, không phụ thuộc cloud, đáp ứng yêu cầu real-time khắt khe nhất. Kết hợp với lập trình Python cho robot, bạn có thể xây dựng pipeline AI hoàn chỉnh từ perception đến action.