Cách benchmark các model Ultralytics YOLO như YOLO11
Tìm hiểu cách benchmark Ultralytics YOLO11, so sánh hiệu năng trên các thiết bị và khám phá nhiều định dạng export khác nhau để tối ưu tốc độ, độ chính xác và hiệu quả.

Với số lượng model AI ngày càng tăng hiện nay, việc lựa chọn model phù hợp nhất cho ứng dụng AI cụ thể của bạn là yếu tố thiết yếu để đạt được kết quả chính xác và đáng tin cậy. Mỗi model có tốc độ, độ chính xác và hiệu năng tổng thể khác nhau. Vậy làm thế nào để xác định model nào phù hợp nhất với một tác vụ nhất định? Điều này đặc biệt quan trọng đối với các hệ thống thời gian thực như xe tự hành, giải pháp bảo mật và robot, nơi khả năng ra quyết định nhanh chóng và đáng tin cậy là yếu tố then chốt.
Benchmark giúp giải đáp câu hỏi này bằng cách đánh giá model trong các điều kiện khác nhau. Qua đó, bạn có thể hiểu rõ model hoạt động như thế nào trên nhiều cấu hình và thiết lập phần cứng, từ đó đưa ra quyết định sáng suốt hơn.
Ví dụ, Ultralytics YOLO11 là một model thị giác máy tính hỗ trợ nhiều tác vụ phân tích dữ liệu hình ảnh như phát hiện đối tượng và phân đoạn instance. Để hiểu đầy đủ các khả năng của model, bạn có thể benchmark hiệu năng trên nhiều thiết lập khác nhau nhằm xem model xử lý các tình huống thực tế như thế nào.
Trong bài viết này, chúng ta sẽ tìm hiểu cách benchmark các model YOLO của Ultralytics như YOLO11, so sánh hiệu năng trên nhiều phần cứng khác nhau và xem các định dạng export khác nhau ảnh hưởng như thế nào đến tốc độ và hiệu quả. Hãy bắt đầu!
Benchmark model là gì?#
Khi sử dụng một model AI thị giác trong ứng dụng thực tế, làm thế nào để biết model có đủ nhanh, chính xác và đáng tin cậy hay không? Benchmark model có thể cung cấp thông tin để trả lời câu hỏi này. Benchmark model là quá trình kiểm thử và so sánh các model AI khác nhau nhằm xác định model nào hoạt động tốt nhất.
Quá trình này bao gồm việc thiết lập baseline để so sánh, lựa chọn các chỉ số hiệu năng phù hợp (như độ chính xác hoặc tốc độ) và kiểm thử tất cả model trong cùng điều kiện. Kết quả giúp xác định điểm mạnh và điểm yếu của từng model, qua đó dễ dàng quyết định model nào phù hợp nhất với giải pháp AI cụ thể của bạn. Đặc biệt, dataset benchmark thường được sử dụng để đưa ra các so sánh công bằng và đánh giá model hoạt động tốt như thế nào trong những tình huống thực tế khác nhau.

Hình 1. Tại sao nên benchmark các model thị giác máy tính? Hình ảnh của tác giả.
Một ví dụ rõ ràng cho thấy tầm quan trọng của benchmark là các ứng dụng thời gian thực như giám sát hoặc robot, nơi ngay cả độ trễ nhỏ cũng có thể ảnh hưởng đến việc ra quyết định. Benchmark giúp đánh giá liệu model có thể xử lý hình ảnh nhanh chóng mà vẫn đưa ra các dự đoán đáng tin cậy hay không.
Benchmark cũng đóng vai trò quan trọng trong việc xác định các nút thắt hiệu năng. Nếu model chạy chậm hoặc sử dụng quá nhiều tài nguyên, benchmark có thể cho thấy vấn đề bắt nguồn từ giới hạn phần cứng, cấu hình model hay định dạng export. Những thông tin này rất quan trọng để lựa chọn thiết lập hiệu quả nhất.
Benchmark model so với đánh giá và kiểm thử model#
Benchmark, đánh giá và kiểm thử model là những thuật ngữ AI phổ biến thường được sử dụng cùng nhau. Mặc dù tương tự, chúng không giống nhau và có các chức năng khác nhau. Kiểm thử model kiểm tra model đơn lẻ hoạt động tốt như thế nào bằng cách chạy model trên một test dataset và đo các yếu tố như độ chính xác và tốc độ. Trong khi đó, đánh giá model tiến thêm một bước bằng cách phân tích kết quả để hiểu điểm mạnh, điểm yếu của model và mức độ hoạt động hiệu quả trong các tình huống thực tế. Cả hai đều chỉ tập trung vào một model tại mỗi thời điểm.
Tuy nhiên, benchmark model so sánh nhiều model cạnh nhau bằng cùng các bài kiểm thử và dataset. Benchmark giúp xác định model nào hoạt động tốt nhất cho một tác vụ cụ thể bằng cách làm nổi bật sự khác biệt về độ chính xác, tốc độ và hiệu quả giữa các model. Trong khi kiểm thử và đánh giá tập trung vào một model duy nhất, benchmark giúp lựa chọn model phù hợp (hoặc tốt nhất) bằng cách so sánh công bằng các tùy chọn khác nhau.

Hình 2. Benchmark model khác với đánh giá và kiểm thử như thế nào. Hình ảnh của tác giả.
Tổng quan về Ultralytics YOLO11#
Ultralytics YOLO11 là một model AI thị giác đáng tin cậy, được thiết kế để thực hiện chính xác nhiều tác vụ thị giác máy tính. Model này cải tiến từ các phiên bản YOLO trước đó và được tích hợp nhiều tính năng giúp giải quyết các vấn đề thực tế. Ví dụ, model có thể được sử dụng để phát hiện đối tượng, phân loại hình ảnh, phân đoạn vùng, theo dõi chuyển động và nhiều tác vụ khác. Model cũng có thể được sử dụng trong các ứng dụng thuộc nhiều ngành, từ bảo mật đến tự động hóa và phân tích.

Hình 3. Ví dụ sử dụng Ultralytics YOLO11 để phân đoạn người trong hình ảnh.
Một trong những lợi ích chính của Ultralytics YOLO11 là tính dễ sử dụng. Chỉ với vài dòng code, bất kỳ ai cũng có thể tích hợp model vào các dự án AI của mình mà không cần xử lý các thiết lập phức tạp hoặc có chuyên môn kỹ thuật nâng cao.
Model cũng hoạt động mượt mà trên nhiều loại phần cứng, chạy hiệu quả trên CPU (Bộ xử lý trung tâm), GPU (Bộ xử lý đồ họa) và các bộ tăng tốc AI chuyên dụng khác. Dù được triển khai trên thiết bị edge hay máy chủ cloud, model vẫn mang lại hiệu năng mạnh mẽ.
Ultralytics YOLO11 có nhiều kích thước model khác nhau, mỗi kích thước được tối ưu cho các tác vụ khác nhau. Benchmark giúp xác định phiên bản phù hợp nhất với nhu cầu cụ thể của bạn. Chẳng hạn, một thông tin quan trọng mà benchmark có thể cho thấy là các model nhỏ hơn, như nano hoặc small, thường chạy nhanh hơn nhưng có thể phải đánh đổi một phần độ chính xác.
Cách benchmark các model YOLO như Ultralytics YOLO11#
Giờ chúng ta đã hiểu benchmark là gì và tại sao benchmark quan trọng. Hãy cùng tìm hiểu cách bạn có thể benchmark các model YOLO như Ultralytics YOLO11 và đánh giá hiệu quả của chúng để thu thập những thông tin giá trị.
Để bắt đầu, bạn có thể cài đặt package Ultralytics Python bằng cách chạy lệnh sau trong terminal hoặc command prompt: “pip install ultralytics”. Nếu gặp vấn đề trong quá trình cài đặt, hãy xem Hướng dẫn các vấn đề thường gặp để biết các mẹo khắc phục sự cố.
Sau khi cài đặt package, bạn có thể dễ dàng benchmark Ultralytics YOLO11 chỉ với vài dòng code Python:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)Khi chạy đoạn code ở trên, lệnh sẽ tính toán tốc độ model xử lý hình ảnh, số frame model có thể xử lý trong một giây và độ chính xác khi phát hiện đối tượng.
“coco8.yaml” trong đoạn code là tên một file cấu hình dataset dựa trên dataset COCO8 (Các đối tượng phổ biến trong ngữ cảnh), một phiên bản mẫu nhỏ của dataset COCO đầy đủ, thường được sử dụng để kiểm thử và thử nghiệm.
Nếu bạn đang kiểm thử Ultralytics YOLO11 cho một ứng dụng cụ thể, chẳng hạn như giám sát giao thông hoặc chẩn đoán hình ảnh y khoa, việc sử dụng một dataset phù hợp (ví dụ: dataset giao thông hoặc dataset y khoa) sẽ cung cấp thông tin chính xác hơn. Benchmark với COCO cho bạn cái nhìn tổng quát về hiệu năng, nhưng để đạt kết quả tốt nhất, bạn có thể chọn dataset phản ánh trường hợp sử dụng thực tế của mình.
Tìm hiểu các output benchmark của Ultralytics YOLO11#
Sau khi benchmark Ultralytics YOLO11, bước tiếp theo là diễn giải kết quả. Sau khi chạy benchmark, bạn sẽ thấy nhiều con số khác nhau trong kết quả. Các metric này giúp đánh giá YOLO11 hoạt động tốt như thế nào về độ chính xác và tốc độ.
Dưới đây là một số metric benchmark đáng chú ý của Ultralytics YOLO11 mà bạn cần theo dõi:
- mAP50-95: Đo độ chính xác của việc phát hiện đối tượng. Giá trị càng cao cho thấy model nhận diện đối tượng càng tốt.
- accuracy_top5: Thường được sử dụng cho các tác vụ phân loại. Chỉ số này cho biết nhãn đúng xuất hiện trong top năm dự đoán với tần suất như thế nào.
- Thời gian inference: Thời gian cần thiết để xử lý một hình ảnh, được đo bằng mili giây. Giá trị thấp hơn có nghĩa là xử lý nhanh hơn.

Hình 4. Biểu đồ thể hiện hiệu năng benchmark của YOLO11.
Các yếu tố khác cần cân nhắc khi benchmark Ultralytics YOLO11#
Chỉ xem kết quả benchmark mới cho biết một phần câu chuyện. Để hiểu rõ hơn về hiệu năng, bạn nên so sánh các thiết lập và tùy chọn phần cứng khác nhau. Dưới đây là một số yếu tố quan trọng cần xem xét:
- GPU so với CPU: GPU có thể xử lý hình ảnh nhanh hơn nhiều so với CPU. Benchmark giúp bạn xác định CPU có đủ nhanh cho nhu cầu của mình hay việc sử dụng GPU sẽ mang lại lợi ích.
- Thiết lập độ chính xác (FP32, FP16, INT8): Các thiết lập này kiểm soát cách model xử lý các giá trị số. Độ chính xác thấp hơn (như FP16 hoặc INT8) giúp model chạy nhanh hơn và sử dụng ít bộ nhớ hơn, nhưng có thể làm giảm nhẹ độ chính xác.
- Định dạng export: Chuyển đổi model sang định dạng như TensorRT có thể giúp model chạy nhanh hơn nhiều trên một số phần cứng nhất định. Điều này hữu ích khi bạn tối ưu tốc độ cho các thiết bị cụ thể.
Cách benchmark Ultralytics YOLO11 trên các phần cứng khác nhau#
Package Ultralytics Python cho phép bạn chuyển đổi các model YOLO11 sang nhiều định dạng khác nhau để chạy hiệu quả hơn trên phần cứng cụ thể, cải thiện cả tốc độ và mức sử dụng bộ nhớ. Mỗi định dạng export được tối ưu cho các thiết bị khác nhau.
Một mặt, định dạng ONNX có thể tăng tốc hiệu năng trong nhiều môi trường khác nhau. Mặt khác, OpenVINO cải thiện hiệu quả trên phần cứng Intel, còn các định dạng như CoreML hoặc TF SavedModel lý tưởng cho thiết bị Apple và các ứng dụng di động.
Hãy xem cách bạn có thể benchmark Ultralytics YOLO11 ở một định dạng cụ thể. Đoạn code dưới đây benchmark YOLO11 ở định dạng ONNX, được sử dụng rộng rãi để chạy các model AI trên cả CPU và GPU.
from ultralytics.utils.benchmarks import benchmark
# Benchmark a specific export format (e.g., ONNX)
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")Ngoài kết quả benchmark, việc lựa chọn định dạng phù hợp còn phụ thuộc vào thông số kỹ thuật của hệ thống và nhu cầu triển khai. Ví dụ, xe tự lái cần khả năng phát hiện đối tượng nhanh. Nếu dự định sử dụng GPU NVIDIA để tăng tốc hiệu năng, định dạng TensorRT là lựa chọn lý tưởng để chạy Ultralytics YOLO11 trên GPU NVIDIA.

Hình 5. Sử dụng YOLO11 để phát hiện đối tượng trong xe tự lái.
Những điểm chính#
Package Ultralytics Python giúp benchmark YOLO11 dễ dàng bằng cách cung cấp các lệnh đơn giản có thể tự thực hiện kiểm thử hiệu năng cho bạn. Chỉ với vài bước, bạn có thể thấy các thiết lập khác nhau ảnh hưởng như thế nào đến tốc độ và độ chính xác của model, từ đó đưa ra lựa chọn sáng suốt mà không cần chuyên môn kỹ thuật sâu.
Phần cứng và thiết lập phù hợp cũng có thể tạo ra khác biệt rất lớn. Điều chỉnh các tham số như kích thước model và dataset cho phép bạn tinh chỉnh Ultralytics YOLO11 để đạt hiệu năng tốt nhất, dù đang chạy trên GPU cao cấp hay cục bộ trên một thiết bị edge.
Kết nối với cộng đồng của chúng tôi và khám phá các dự án AI tiên tiến trên repository GitHub của chúng tôi. Tìm hiểu tác động của AI trong nông nghiệp và vai trò của thị giác máy tính trong sản xuất qua các trang giải pháp của chúng tôi. Khám phá các gói cấp phép của chúng tôi và bắt đầu hành trình AI ngay hôm nay!









