Ghi nhật ký các thí nghiệm Ultralytics YOLO sử dụng tích hợp MLflow
Khám phá cách tích hợp và ghi nhật ký MLflow có thể nâng cao các thí nghiệm Ultralytics YOLO của bạn, cho phép theo dõi vượt trội cho các ứng dụng thị giác máy tính.

Bạn có thể hình dung một computer vision project giống như một trò chơi ghép hình. Về cơ bản, bạn dạy cho máy móc hiểu dữ liệu trực quan bằng cách lắp ghép các mảnh ghép lại với nhau, chẳng hạn như thu thập dataset, training model và deploy nó. Khi mọi thứ khớp với nhau, bạn sẽ có một hệ thống có khả năng phân tích và hiểu rõ hình ảnh cũng như video một cách hiệu quả.
Tuy nhiên, giống như trò chơi ghép hình thực tế, không phải phần nào của dự án thị giác máy tính cũng đơn giản. Các tác vụ như theo dõi thử nghiệm (lưu giữ hồ sơ về cài đặt, cấu hình và dữ liệu của bạn) và ghi nhật ký (thu thập kết quả và các số liệu hiệu suất) có thể tốn rất nhiều thời gian và công sức. Mặc dù các bước này là chìa khóa để cải thiện và tinh chỉnh các model thị giác máy tính, đôi khi chúng có thể trở thành nút thắt cổ chai.
Đó là lúc các model Ultralytics YOLO và khả năng tích hợp với MLflow phát huy tác dụng. Các model như Ultralytics YOLO11 hỗ trợ nhiều tác vụ computer vision, bao gồm object detection, instance segmentation và image classification. Những tính năng này cho phép tạo ra các ứng dụng computer vision thú vị. Việc có tùy chọn dựa vào các tích hợp như MLflow giúp các kỹ sư thị giác máy tính tập trung vào chính model thay vì vướng bận vào các chi tiết nhỏ.
Cụ thể, tích hợp MLflow đơn giản hóa quy trình bằng cách ghi nhật ký các số liệu, tham số và artifact khác nhau trong suốt quá trình huấn luyện. Trong bài viết này, chúng ta sẽ khám phá cách hoạt động của tích hợp MLflow, những lợi ích mà nó mang lại và cách bạn có thể sử dụng nó để tối ưu hóa quy trình làm việc với Ultralytics YOLO.
MLflow là gì?#
MLflow là một nền tảng mã nguồn mở (được phát triển bởi Databricks) được thiết kế để hợp lý hóa và quản lý toàn bộ vòng đời của machine learning. Nó bao gồm quy trình phát triển, triển khai và bảo trì các model machine learning.
MLflow bao gồm các thành phần chính sau:
- Theo dõi thử nghiệm: Thành phần này tập trung vào việc ghi lại các chi tiết quan trọng như cài đặt model, kết quả và tệp tin cho mỗi lần chạy huấn luyện model. Nó giúp bạn so sánh các model, xem các thay đổi ảnh hưởng thế nào đến hiệu suất và tìm ra model tốt nhất.
- Model registry: Đây giống như một hệ thống lưu trữ cho các model của bạn, nơi bạn có thể theo dõi các phiên bản khác nhau và tổ chức chúng theo các giai đoạn như kiểm thử (testing), dàn dựng (staging) và sản xuất (production).
- Đóng gói dự án: MLflow giúp việc đóng gói các dự án machine learning của bạn trở nên dễ dàng, bao gồm mã nguồn, cài đặt và các công cụ cần thiết để chúng có thể được chia sẻ và sử dụng nhất quán giữa các nhóm và môi trường khác nhau.
- Triển khai model: MLflow cung cấp các công cụ để nhanh chóng triển khai các model đã huấn luyện của bạn đến những nơi như trạm làm việc (workstations) hoặc các nền tảng đám mây như AWS và Azure, giúp chúng sẵn sàng cho việc sử dụng thực tế.

Fig 1. Các thành phần của MLflow.
Các thành phần của MLflow giúp cho quy trình machine learning trở nên dễ dàng và hiệu quả hơn trong việc quản lý. Thông qua tính năng tích hợp này, Ultralytics giúp việc sử dụng tính năng tracking thí nghiệm của MLflow trở nên khả thi để log các parameter, metric và artifact trong quá trình training YOLO models. Nó giúp việc track và so sánh các version model YOLO khác nhau trở nên đơn giản.
Tích hợp MLflow giúp hợp lý hóa quá trình huấn luyện#
Sau khi đã nắm rõ MLflow là gì, hãy cùng đi sâu vào chi tiết của tích hợp MLflow và những tính năng mà nó cung cấp.
Tích hợp MLflow được xây dựng để làm cho quá trình huấn luyện trở nên hiệu quả và có tổ chức hơn bằng cách tự động theo dõi và ghi nhật ký các khía cạnh quan trọng trong các thử nghiệm thị giác máy tính của bạn. Nó hỗ trợ ba loại ghi nhật ký chính: số liệu, tham số và artifact.
Dưới đây là cái nhìn chi tiết hơn về từng loại ghi nhật ký:
- Logging metric: Metric là các giá trị định lượng đo lường hiệu suất của model trong quá trình training. Ví dụ, các metric như accuracy, precision, recall hoặc loss được track ở cuối mỗi epoch (một lượt chạy đầy đủ qua dataset của bạn).
- Ghi nhật ký tham số (Parameter logging): Tham số là các cài đặt bạn xác định trước khi bắt đầu huấn luyện model, chẳng hạn như tốc độ học (learning rate), kích thước batch (số lượng mẫu được xử lý trong một bước huấn luyện) và số lượng epoch. Các tham số này ảnh hưởng đáng kể đến hành vi và hiệu suất của model.
- Ghi nhật ký artifact (Artifacts logging): Artifact là các đầu ra hoặc tệp tin được tạo ra trong quá trình huấn luyện. Điều này bao gồm các tệp thiết yếu như trọng số model (các giá trị số mà model của bạn học được trong quá trình huấn luyện), tệp cấu hình (lưu trữ các cài đặt huấn luyện) và các dữ liệu liên quan khác.

Hình 2. Các tính năng ghi nhật ký chính của tích hợp MLflow. Ảnh của tác giả.
Cách thức hoạt động của tích hợp MLflow#
Bạn có thể khám phá tài liệu Ultralytics để biết hướng dẫn chi tiết từng bước về cách bật MLflow integration. Sau khi thiết lập, tính năng tích hợp sẽ tự động track và log các chi tiết quan trọng của các thí nghiệm training như đã thảo luận ở trên. Điều này loại bỏ nhu cầu track thủ công và giúp bạn giữ sự tập trung vào việc tinh chỉnh các model của mình.
Với tích hợp MLflow, tất cả các lần chạy huấn luyện của bạn đều được lưu trữ tại một nơi, giúp việc so sánh kết quả và đánh giá các cấu hình khác nhau trở nên dễ dàng hơn. Bằng cách so sánh các kết quả đã ghi lại, bạn có thể xác định các cấu hình hoạt động hiệu quả nhất và sử dụng những hiểu biết đó để cải thiện model của mình. Điều này đảm bảo quy trình làm việc của bạn hiệu quả hơn, được ghi chép tốt hơn và có khả năng tái lập cao hơn.
Cụ thể, mỗi phiên huấn luyện được tổ chức thành một thử nghiệm, đóng vai trò như một bộ chứa (container) cho nhiều lần chạy. Trong một thử nghiệm, bạn có thể xem tất cả các lần chạy liên quan, so sánh hiệu suất của chúng cạnh nhau và phân tích xu hướng giữa các cấu hình khác nhau.
Ví dụ, nếu bạn đang kiểm tra các tốc độ học hoặc kích thước batch khác nhau với Ultralytics YOLOv8, tất cả các lần chạy liên quan sẽ được nhóm dưới cùng một thử nghiệm để dễ dàng so sánh và phân tích, như được hiển thị bên dưới.

Fig 3. Bạn có thể xem các thí nghiệm bằng cách sử dụng MLflow integration.
Trong khi đó, ở cấp độ từng lần chạy, MLflow cung cấp thông tin chi tiết về phiên huấn luyện cụ thể. Bạn có thể xem các số liệu như accuracy, loss và precision qua từng epoch, kiểm tra các tham số huấn luyện được sử dụng (ví dụ: kích thước batch và tốc độ học), và truy cập các artifact được tạo ra như trọng số model và các tệp cấu hình. Những chi tiết này được lưu trữ theo định dạng có tổ chức, giúp bạn dễ dàng xem lại hoặc tái lập bất kỳ lần chạy nào.
Lựa chọn tích hợp MLflow: tại sao nó lại nổi bật#
Khi bạn đọc qua Ultralytics documentation và khám phá các integrations khả dụng, bạn có thể tự hỏi: Điều gì làm cho MLflow integration trở nên khác biệt và tại sao tôi nên chọn nó cho workflow của mình?
Với các tích hợp như TensorBoard cũng cung cấp các công cụ để track metric và trực quan hóa kết quả, việc hiểu rõ các đặc điểm độc đáo giúp MLflow integration nổi bật là điều quan trọng.
Dưới đây là lý do tại sao MLflow có thể là sự lựa chọn lý tưởng cho các YOLO projects của bạn:
- Giao diện thân thiện với người dùng: Bảng điều khiển MLflow giúp dễ dàng xem các thử nghiệm, so sánh các lần chạy và phân tích kết quả, giúp bạn nhanh chóng xác định các cấu hình hoạt động hiệu quả nhất.
- Ghi nhật ký số liệu tùy chỉnh: Các kỹ sư thị giác máy tính có thể ghi nhật ký các số liệu tùy chỉnh bên cạnh các số liệu tiêu chuẩn, cho phép phân tích sâu hơn theo nhu cầu cụ thể của dự án.
- Hỗ trợ quy trình làm việc đa ngôn ngữ: MLflow tương thích với nhiều ngôn ngữ lập trình, bao gồm Python, R và Java, tạo điều kiện thuận lợi cho việc tích hợp vào các pipeline machine learning đa dạng.
Các ứng dụng thực tế của Ultralytics YOLO11 và tích hợp MLflow#
Để hiểu rõ hơn về thời điểm bạn có thể sử dụng tích hợp MLflow, hãy xem xét một ứng dụng AI trong y tế nơi bạn cần huấn luyện Ultralytics YOLO11 để phát hiện khối u trong hình ảnh chụp X-quang hoặc CT scan.
Trong kịch bản như vậy, dataset sẽ bao gồm các hình ảnh y tế đã được gán nhãn. Bạn sẽ cần thử nghiệm với các cấu hình khác nhau, chẳng hạn như điều chỉnh learning rate, batch size và các kỹ thuật tiền xử lý hình ảnh để đạt được accuracy tối ưu. Vì mức độ quan trọng trong y tế rất cao và precision cùng sự tin cậy là cốt yếu, việc track từng thí nghiệm thủ công có thể nhanh chóng trở nên quá tải.

Fig 4. Phát hiện khối u bằng cách sử dụng Ultralytics YOLO11.
MLflow integration giải quyết thách thức này bằng cách tự động log parameter, metric và artifact của mọi thí nghiệm. Ví dụ, nếu bạn sửa đổi learning rate hoặc áp dụng một chiến lược augmentation mới, MLflow sẽ ghi lại các thay đổi này cùng với các performance metrics. Ngoài ra, MLflow lưu trọng số và cấu hình của model đã train, đảm bảo rằng các model thành công có thể dễ dàng được tái tạo và deploy.
Đây chỉ là một ví dụ về cách tích hợp MLflow nâng cao việc quản lý thử nghiệm trong các ứng dụng thị giác AI. Các tính năng tương tự áp dụng cho các ứng dụng thị giác máy tính khác, bao gồm:
- Xe tự lái: Ultralytics YOLO11 có thể được sử dụng để phát hiện và phân loại người đi bộ, phương tiện và biển báo giao thông theo thời gian thực nhằm nâng cao độ an toàn và hiệu quả của các hệ thống tự lái.
- Phân tích bán lẻ: Các model phát hiện đối tượng có thể giám sát hành vi khách hàng, theo dõi vị trí sản phẩm và tối ưu hóa hàng tồn kho bằng cách phân tích hoạt động tại cửa hàng thông qua các luồng video.
- An ninh và giám sát: Các model có thể được huấn luyện để phát hiện các bất thường hoặc giám sát hoạt động theo thời gian thực tại các khu vực nhạy cảm để tăng cường an ninh.
Lợi ích của tích hợp MLflow#
MLflow integration với YOLO models giúp việc quản lý các thí nghiệm machine learning trở nên dễ dàng và hiệu quả hơn. Bằng cách tự động hóa các tác vụ chính và giữ mọi thứ ngăn nắp, nó cho phép bạn tập trung vào việc xây dựng và cải thiện các model của mình. Dưới đây là cái nhìn về các lợi ích chính:
- Quy mô cho các dự án lớn: Nền tảng xử lý nhiều thử nghiệm và model một cách hiệu quả, giúp nó phù hợp với các nhóm lớn và quy trình làm việc phức tạp.
- Lịch sử thử nghiệm chi tiết: Nền tảng duy trì lịch sử đầy đủ của các thử nghiệm, cho phép bạn xem lại các lần chạy trước đó, phân tích các cấu hình cũ và học hỏi từ các kết quả trước đây.
- Các tùy chọn vô hiệu hóa và đặt lại: Ghi nhật ký MLflow có thể dễ dàng bị vô hiệu hóa khi không cần thiết và các cài đặt có thể được đặt lại về mặc định, mang lại sự linh hoạt để thích ứng với các yêu cầu công việc thay đổi.
Các điểm chính cần lưu ý#
Tích hợp MLflow giúp việc quản lý và tối ưu hóa các thử nghiệm Ultralytics YOLO trở nên dễ dàng và hiệu quả hơn. Bằng cách tự động theo dõi các chi tiết quan trọng như tham số, số liệu và artifact, nó đơn giản hóa quy trình và loại bỏ những phiền phức trong việc quản lý thử nghiệm thủ công.
Cho dù bạn đang làm việc trên các giải pháp y tế như phát hiện khối u, cải thiện hệ thống xe tự lái hay nâng cao phân tích bán lẻ, tích hợp này giúp giữ mọi thứ ngăn nắp và có khả năng tái lập. Với giao diện trực quan và sự linh hoạt, MLflow cho phép các nhà phát triển tập trung vào việc xây dựng các model tốt hơn và thúc đẩy sự đổi mới trong các ứng dụng thị giác AI.
Tham gia community của chúng tôi và xem qua GitHub repository để tìm hiểu về AI. Bạn cũng có thể khám phá thêm các ứng dụng của computer vision in manufacturing hoặc AI in self-driving cars trên các trang giải pháp của chúng tôi.






