Real-time Inference
Khám phá sức mạnh của inference theo thời gian thực cho các dự đoán AI tức thì. Tìm hiểu cách Ultralytics YOLO26 cung cấp kết quả có độ trễ thấp cho edge device và robotics.
Suy luận thời gian thực là quá trình trong đó một model machine learning (ML) đã được huấn luyện tiếp nhận dữ liệu đầu vào trực tiếp và tạo ra dự đoán gần như tức thì. Không giống như xử lý offline, trong đó dữ liệu được thu thập và phân tích hàng loạt vào thời điểm sau đó, suy luận thời gian thực diễn ra ngay khi dữ liệu đến, cho phép hệ thống phản ứng với môi trường nhanh chóng và linh hoạt. Khả năng này là nền tảng của các ứng dụng Trí tuệ nhân tạo (AI) hiện đại, cho phép thiết bị nhận biết, diễn giải và xử lý dữ liệu trong vòng vài mili giây.
Tầm quan trọng của độ trễ thấp#
Chỉ số chính để đánh giá hiệu suất thời gian thực là độ trễ suy luận. Chỉ số này đo khoảng thời gian từ lúc dữ liệu được đưa vào model—chẳng hạn như một frame từ camera video—đến lúc model tạo ra đầu ra, chẳng hạn như một bounding box hoặc nhãn phân loại. Để một ứng dụng được xem là "thời gian thực", độ trễ phải đủ thấp để theo kịp tốc độ của luồng dữ liệu đầu vào.
Ví dụ, trong các tác vụ hiểu video chạy ở tốc độ 30 frame mỗi giây (FPS), hệ thống có ngân sách thời gian nghiêm ngặt khoảng 33 mili giây để xử lý mỗi frame. Nếu quá trình suy luận mất nhiều thời gian hơn, hệ thống sẽ phát sinh độ trễ, có thể dẫn đến dropped frame hoặc phản hồi chậm. Để đạt được điều này thường cần tăng tốc phần cứng bằng GPU hoặc các thiết bị AI biên chuyên dụng như NVIDIA Jetson.
Suy luận thời gian thực so với suy luận theo batch#
Việc phân biệt workflow thời gian thực với xử lý theo batch rất hữu ích. Mặc dù cả hai đều liên quan đến việc tạo dự đoán, mục tiêu và kiến trúc của chúng khác nhau đáng kể:
- Suy luận thời gian thực: Ưu tiên độ trễ thấp. Quy trình này xử lý từng điểm dữ liệu riêng lẻ (hoặc các batch rất nhỏ) ngay khi chúng đến. Đây là yếu tố thiết yếu đối với các ứng dụng tương tác như xe tự hành, trong đó xe phải phát hiện người đi bộ ngay lập tức để phanh kịp thời.
- Suy luận theo batch: Ưu tiên throughput cao. Quy trình này thu thập một lượng lớn dữ liệu và xử lý toàn bộ cùng một lúc. Cách này phù hợp với các tác vụ không khẩn cấp, chẳng hạn như tạo báo cáo tồn kho hằng đêm hoặc phân tích các xu hướng dữ liệu lớn trong quá khứ.
Các ứng dụng trong thực tế#
Khả năng đưa ra quyết định trong tích tắc đã làm thay đổi nhiều ngành bằng cách hỗ trợ tự động hóa trong các môi trường năng động.
- Sản xuất thông minh: Trong lĩnh vực AI trong sản xuất, các camera được bố trí phía trên băng chuyền sử dụng suy luận thời gian thực để thực hiện kiểm soát chất lượng tự động. Một model phát hiện đối tượng có thể ngay lập tức xác định các lỗi hoặc vật thể lạ trong những sản phẩm đang di chuyển với tốc độ cao. Nếu phát hiện bất thường, hệ thống sẽ kích hoạt cánh tay robot để lập tức loại bỏ sản phẩm đó, bảo đảm chỉ những hàng hóa chất lượng cao mới đến khâu đóng gói.
- Giám sát và an ninh: Các hệ thống an ninh hiện đại dựa vào thị giác máy tính để giám sát khu vực vành đai. Thay vì chỉ ghi hình, các camera này chạy phát hiện người hoặc nhận dạng khuôn mặt theo thời gian thực để cảnh báo nhân viên an ninh về hành vi truy cập trái phép ngay khi sự việc xảy ra.
- Robot: Trong lĩnh vực AI trong robot, robot sử dụng ước tính tư thế để di chuyển trong các không gian vật lý phức tạp. Robot trong kho phải liên tục suy luận vị trí của chướng ngại vật và người lao động để lập kế hoạch đường đi an toàn và hiệu quả.
Tối ưu hóa và triển khai#
Việc triển khai model cho các ứng dụng thời gian thực thường đòi hỏi tối ưu hóa để bảo đảm model chạy hiệu quả trên phần cứng đích. Các kỹ thuật như lượng tử hóa model làm giảm độ chính xác của các trọng số model (ví dụ: từ float32 xuống int8) để giảm mức sử dụng bộ nhớ và tăng tốc độ suy luận, với tác động tối thiểu đến độ chính xác.
Developer có thể sử dụng Ultralytics Platform để đơn giản hóa quy trình này. Nền tảng này giúp đơn giản hóa quá trình training và cho phép người dùng export model sang các format được tối ưu như TensorRT cho GPU NVIDIA, OpenVINO cho CPU Intel hoặc TFLite để triển khai trên thiết bị di động.
Ví dụ về code#
Đoạn mã Python sau đây minh họa cách chạy suy luận thời gian thực trên luồng webcam bằng thư viện ultralytics. Đoạn mã sử dụng model Nano YOLO26, được thiết kế chuyên biệt để đạt hiệu suất tốc độ cao trên các thiết bị biên.
from ultralytics import YOLO
# Load the YOLO26 Nano model, optimized for speed and real-time tasks
model = YOLO("yolo26n.pt")
# Run inference on the default webcam (source="0")
# 'stream=True' returns a generator for memory-efficient processing
# 'show=True' displays the video feed with bounding boxes in real-time
results = model.predict(source="0", stream=True, show=True)
# Iterate through the generator to process frames as they arrive
for result in results:
# Example: Print the number of objects detected in the current frame
print(f"Detected {len(result.boxes)} objects")








