Cách benchmark các mô hình Ultralytics YOLO như YOLO11
Tìm hiểu cách benchmark Ultralytics YOLO11, so sánh hiệu suất giữa các thiết bị và khám phá các định dạng xuất khác nhau để tối ưu hóa tốc độ, độ chính xác và hiệu suất.

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à tin cậy. Mỗi model đều khác nhau về tốc độ, độ chính xác và hiệu suất tổng thể. Vậy làm thế nào để xác định model nào phù hợp nhất cho 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, các giải pháp an ninh và robot, nơi việc ra quyết định nhanh chóng và đáng tin cậy là rất quan trọng.
Benchmarking 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. Nó cung cấp thông tin chi tiết về hiệu suất của model trên các thiết lập phần cứng và cấu hình đa dạng, cho phép đưa ra các quyết định sáng suốt hơn.
Ví dụ, Ultralytics YOLO11 là một mô hình computer vision hỗ trợ nhiều tác vụ phân tích dữ liệu trực quan khác nhau như phát hiện đối tượng và phân đoạn thể hiện. Để hiểu rõ các tính năng của nó, bạn có thể benchmark hiệu năng của mô hình trên các thiết lập khác nhau để xem cách nó xử lý các tình huống thực tế.
Trong bài viết này, chúng ta sẽ khám phá cách benchmark các Ultralytics YOLO models như YOLO11, so sánh hiệu năng của chúng trên các phần cứng khác nhau, và xem xét các định dạng xuất khác nhau tác động thế nào đến tốc độ và độ hiệu quả. Hãy bắt đầu ngay!
Model benchmarking là gì?#
Khi sử dụng một model vision AI trong ứng dụng thực tế, làm thế nào để bạn biết liệu nó có đủ nhanh, chính xác và đáng tin cậy không? Benchmarking model có thể cung cấp thông tin để giải đáp điều này. Model benchmarking là quá trình thử nghiệm và so sánh các model AI khác nhau để xem model nào hoạt động tốt nhất.
Quá trình này bao gồm việc thiết lập một baseline để so sánh, 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 tra tất cả các mô hình trong cùng một đ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 mô hình, giúp dễ dàng quyết định mô hình nào phù hợp nhất cho AI solution cụ thể của bạn. Cụ thể, một benchmark dataset thường được sử dụng để cung cấp các phép so sánh công bằng và đánh giá mức độ hoạt động của mô hình trong các tình huống thực tế khác nhau.

Hình 1. Tại sao cần benchmark các model computer vision? Hình ảnh bởi tác giả.
Một ví dụ rõ ràng về lý do tại sao benchmarking là thiết yếu là trong các ứng dụng thời gian thực như giám sát hoặc robot, nơi ngay cả những độ trễ nhỏ cũng có thể ảnh hưởng đến việc ra quyết định. Benchmarking giúp đánh giá xem liệu model có thể xử lý hình ảnh nhanh chóng trong khi vẫn đưa ra các dự đoán đáng tin cậy hay không.
Nó cũng đóng vai trò chính trong việc xác định các nút thắt cổ chai về hiệu suất. Nếu một model chạy chậm hoặc sử dụng tài nguyên quá mức, benchmarking có thể tiết lộ liệu vấn đề xuất phát 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 để chọn cấu hình hiệu quả nhất.
So sánh model benchmarking với model evaluation và testing#
Benchmark, đánh giá và kiểm thử mô hình là các thuật ngữ AI phổ biến thường được sử dụng cùng nhau. Dù tương tự nhau, chúng không giống nhau và có các chức năng khác nhau. Model testing kiểm tra mức độ hoạt động của một mô hình đơn lẻ bằng cách chạy nó trên một tập dữ liệu kiểm thử và đo lường các yếu tố như độ chính xác và tốc độ. Trong khi đó, việc đánh giá mô hình tiến xa hơn bằng cách phân tích kết quả để hiểu rõ điểm mạnh, điểm yếu của mô hình và cách nó hoạt động trong các tình huống thực tế. Cả hai đều tập trung vào chỉ một mô hình tại một thời điểm.
Ngược lại, model benchmarking so sánh nhiều model cạnh nhau bằng cách sử dụng các bài kiểm tra và tập dữ liệu giống nhau. Nó giúp tìm ra model nào hoạt động tốt nhất cho một tác vụ cụ thể bằng cách nêu bật sự khác biệt về độ chính xác, tốc độ và hiệu quả giữa chúng. Trong khi testing và evaluation tập trung vào một model đơn lẻ, benchmarking giúp chọn model phù hợp (hoặc tốt nhất) bằng cách so sánh các tùy chọn khác nhau một cách công bằng.

Hình 2. Sự khác biệt giữa model benchmarking với evaluation và testing. Hình ảnh bởi tác giả.
Tổng quan về Ultralytics YOLO11#
Ultralytics YOLO11 là một mô hình vision AI đáng tin cậy được thiết kế để thực hiện các computer vision tasks một cách chính xác. Nó cải tiến từ các phiên bản mô hình YOLO trước đó và 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ụ, nó 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ính năng khác. Nó cũng có thể được ứng dụng trong nhiều ngành công nghiệp, từ bảo mật đến tự động hóa và phân tích.

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

Fig 4. Biểu đồ hiển thị hiệu năng benchmark của YOLO11.
Các yếu tố khác cần xem xét khi benchmark Ultralytics YOLO11#
Chỉ nhìn vào kết quả benchmark thì chưa thể nói lên toàn bộ câu chuyện. Để hiểu rõ hơn về hiệu suất, việc so sánh các cài đặt và tùy chọn phần cứng khác nhau là rất hữu ích. Dưới đây là một vài điểm 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. Benchmarking giúp bạn thấy liệu CPU có đủ nhanh cho nhu cầu của bạn không hay bạn sẽ được hưởng lợi từ việc sử dụng GPU.
- Cài đặt độ chính xác (FP32, FP16, INT8): Những cài đặt này kiểm soát cách model xử lý các con số. Độ chính xác thấp hơn (như FP16 hoặc INT8) làm cho model chạy nhanh hơn và sử dụng ít bộ nhớ hơn, nhưng có thể làm giảm một chút độ chính xác.
- Export formats: Chuyển đổi mô hình sang một định dạng như TensorRT có thể giúp nó 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 nếu bạn đang tối ưu hóa tốc độ trên các thiết bị cụ thể.
Cách benchmark Ultralytics YOLO11 trên các phần cứng khác nhau#
Ultralytics Python package cho phép bạn chuyển đổi các model YOLO11 sang các đị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 hóa cho các thiết bị khác nhau.
Một mặt, ONNX format có thể tăng tốc hiệu năng trên 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, và các định dạng như CoreML hoặc TF SavedModel là lý tưởng cho các thiết bị Apple và ứng dụng di động.
Hãy cùng xem cách bạn có thể benchmark Ultralytics YOLO11 ở một định dạng cụ thể. Đoạn mã dưới đây thực hiện benchmark YOLO11 ở định dạng ONNX, vốn đượ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 phụ thuộc vào thông số kỹ thuật của hệ thống và nhu cầu triển khai của bạn. Ví dụ, xe tự hành cần khả năng phát hiện đối tượng nhanh chóng. Nếu bạn dự định sử dụng GPU NVIDIA để tăng tốc hiệu năng, định dạng TensorRT là sự lựa chọn lý tưởng để chạy Ultralytics YOLO11 trên GPU NVIDIA.

Fig 5. Sử dụng YOLO11 để phát hiện đối tượng trong xe tự hành.
Các điểm chính cần lưu ý#
Ultralytics Python package giúp việc benchmark YOLO11 trở nên dễ dàng bằng cách cung cấp các lệnh đơn giản có thể xử lý việc kiểm tra hiệu suất cho bạn. Chỉ với vài bước, bạn có thể thấy cách các thiết lập khác nhau ảnh hưởng đến tốc độ và độ chính xác của model, giúp bạn đưa ra những lựa chọn sáng suốt mà không cần đòi hỏi chuyên môn kỹ thuật sâu.
Phần cứng và cài đặt phù hợp cũng có thể tạo ra sự khác biệt lớn. Việc đ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 suất tốt nhất, cho dù bạn đang chạy trên GPU cao cấp hay chạy cục bộ trên một edge device.
Kết nối với our community và khám phá các dự án AI tiên tiến trên our GitHub repository. Tìm hiểu về tác động của AI in agriculture và vai trò của computer vision in manufacturing qua các trang giải pháp của chúng tôi. Khám phá our licensing plans và bắt đầu hành trình AI của bạn ngay bây giờ!






