Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Ghi log các thử nghiệm Ultralytics YOLO bằng tích hợp MLflow

Abirami Vina

4 phút đọc

30 tháng 12, 2024

Khám phá cách tích hợp và ghi log 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 computer vision.

Bạn có thể xem một dự án computer vision như một câu đố. Về cơ bản, bạn dạy máy móc hiểu dữ liệu trực quan bằng cách ghép các mảnh của câu đố lại với nhau, chẳng hạn như thu thập một tập dữ liệu, huấn luyện một mô hình và triển khai nó. Khi mọi thứ khớp với nhau, bạn sẽ có một hệ thống có thể phân tích và hiểu hình ảnh và video một cách hiệu quả.

Nhưng, giống như một câu đố thực sự, không phải mọi phần của một dự án computer vision đều đơn giản. Các tác vụ như theo dõi thử nghiệm (ghi lại các cài đặt, cấu hình và dữ liệu của bạn) và ghi log (thu thập kết quả và 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 mô hình computer vision của bạn, nhưng đôi khi chúng có thể giống như một nút thắt cổ chai.

Đó là lý do tại sao các mô hình Ultralytics YOLO và tích hợp của nó với MLflow phát huy tác dụng. Các mô hình như Ultralytics YOLO11 hỗ trợ một loạt các tác vụ computer vision, bao gồm object detection, instance segmentation và image classification. Các khả 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ư tích hợp MLflow cho phép các kỹ sư thị giác tập trung vào chính mô hình, thay vì bị sa lầy vào các chi tiết. 

Đặc biệt, tích hợp MLflow đơn giản hóa quy trình bằng cách ghi log các số liệu, tham số và artifacts 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 tích hợp MLflow hoạt động, lợi ích của nó và cách bạn có thể sử dụng nó để hợp lý hóa quy trình làm việc Ultralytics YOLO của mình.

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 machine learning. Nó bao gồm quy trình phát triển, triển khai và duy trì các mô hình 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 mô hình, kết quả và tệp cho mỗi lần chạy huấn luyện mô hình. Nó giúp bạn so sánh các mô hình, xem các thay đổi ảnh hưởng đến hiệu suất như thế nào và tìm ra mô hình tốt nhất.
  • Model registry: Nó giống như một hệ thống lưu trữ cho các mô hình của bạn, nơi bạn có thể theo dõi các phiên bản khác nhau và sắp xếp chúng theo các giai đoạn như thử nghiệm, dàn dựng và sản xuất.
  • Đóng gói dự án: MLflow giúp bạn dễ dàng đóng gói các dự án machine learning của mình, bao gồm mã, 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.
  • Triển khai mô hình: MLflow cung cấp các công cụ để nhanh chóng triển khai các mô hình đã huấn luyện của bạn đến các địa điểm như máy trạm hoặc nền tảng đám mây như AWS và Azure, giúp chúng sẵn sàng để sử dụng trong thế giới thực.
__wf_reserved_inherit
Hình 1. Các thành phần của MLflow.

Các thành phần của MLflow giúp quá trình học máy dễ dàng và hiệu quả hơn trong việc quản lý. Thông qua tích hợp này, Ultralytics giúp bạn có thể sử dụng tính năng theo dõi thử nghiệm của MLflow để ghi lại các tham số, số liệu và artifacts trong khi huấn luyện các mô hình YOLO. Điều này giúp bạn dễ dàng theo dõi và so sánh các phiên bản mô hình YOLO khác nhau.

Tích hợp MLflow giúp đơn giản hóa quá trình huấn luyện

Bây giờ chúng ta đã đề cập đến MLflow là gì, hãy đi sâu vào chi tiết về tích hợp MLflow và các 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 hiệu quả và có tổ chức hơn bằng cách tự động theo dõi và ghi lại 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ó tạo điều kiện cho ba loại ghi nhật ký chính: số liệu, tham số và artifacts.

Dưới đây là cái nhìn cận cảnh hơn về từng loại nhật ký:

  • Ghi nhật ký số liệu: Số liệu là các giá trị định lượng đo lường hiệu suất của mô hình của bạn trong quá trình huấn luyện. Ví dụ: các số liệu như độ chính xác, độ chụm, độRecall hoặc loss được theo dõi ở cuối mỗi epoch (một lần duyệt đầy đủ qua tập dữ liệu của bạn).
  • Ghi nhật ký tham số: Các tham số là các cài đặt bạn xác định trước khi bắt đầu huấn luyện mô hình, chẳng hạn như tốc độ học, 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 mô hình của bạn.
  • Ghi nhật ký Artifacts: Artifacts là các đầu ra hoặc tệp được tạo 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ố mô hình (các giá trị số mà mô hình của bạn học được trong quá trình huấn luyện), các 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.
__wf_reserved_inherit
Hình 2. Các tính năng ghi nhật ký chính của tích hợp MLflow. Hình ả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 từng bước về cách bật tích hợp MLflow. Sau khi thiết lập, tích hợp sẽ tự động theo dõi và ghi lại các chi tiết chính trong các thử nghiệm huấn luyện của bạn, như đã thảo luận ở trên. Điều này giúp loại bỏ nhu cầu theo dõi thủ công và giúp bạn tập trung vào việc tinh chỉnh các mô hình của mình.

Với tích hợp MLflow, tất cả các lần huấn luyện của bạn được lưu trữ ở một nơi, giúp so sánh kết quả và đánh giá các cấu hình khác nhau 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 tốt nhất và sử dụng những thông tin chi tiết đó để cải thiện mô hình 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 đầy đủ và có thể tái tạo.

Cụ thể, mỗi phiên huấn luyện được tổ chức thành một experiment, đóng vai trò như một container cho nhiều lần chạy. Trong một experiment, 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 trên các cấu hình khác nhau. 

Ví dụ: nếu bạn đang thử nghiệm các learning rate hoặc batch size khác nhau với Ultralytics YOLOv8, tất cả các lần chạy liên quan sẽ được nhóm trong cùng một experiment để dễ dàng so sánh và phân tích, như hình bên dưới.

__wf_reserved_inherit
Hình 3. Bạn có thể xem các experiment bằng cách sử dụng tích hợp MLflow.

Trong khi đó, ở cấp độ từng lần chạy riêng lẻ, 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 metrics như độ chính xác, loss và precision theo epochs, kiểm tra các tham số huấn luyện đã sử dụng (ví dụ: batch size và learning rate) và truy cập các artifacts được tạo như model weights và configuration files. Những chi tiết này được lưu trữ ở định dạng có tổ chức, giúp bạn dễ dàng xem lại hoặc tái tạo bất kỳ lần chạy nào.

Lựa chọn tích hợp MLflow: tại sao nó nổi bật

Khi bạn xem qua tài liệu Ultralytics và khám phá các tích hợp có sẵn, bạn có thể tự hỏi: Điều gì làm cho tích hợp MLflow trở nên khác biệt và tại sao tôi nên chọn nó cho quy trình làm việc của mình?

Với các tích hợp như TensorBoard cũng cung cấp các công cụ để theo dõi metrics và trực quan hóa kết quả, điều quan trọng là phải hiểu các phẩm chất độc đáo làm cho tích hợp MLflow trở nên nổi bật. 

Dưới đây là lý do tại sao MLflow có thể là lựa chọn lý tưởng cho các dự án YOLO 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 bạn 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 tốt nhất.
  • Ghi nhật ký số liệu tùy chỉnh: Các kỹ sư thị giác có thể ghi nhật ký các số liệu tùy chỉnh ngoài các số liệu tiêu chuẩn, cho phép phân tích chuyên sâu hơn cụ thể theo nhu cầu dự án của họ.
  • 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 tích hợp vào các quy trình machine learning đa dạng.

Các ứng dụng thực tế của YOLO11 và tích hợp MLflow

Để hiểu toàn diện 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 lĩnh vực chăm sóc sức khỏe, nơi bạn cần huấn luyện YOLO11 để phát hiện khối u trong ảnh chụp X-quang hoặc CT. 

Trong một kịch bản như vậy, tập dữ liệu sẽ bao gồm các hình ảnh y tế đã được chú thích. Bạn sẽ cần thử nghiệm với nhiều cấu hình khác nhau, chẳng hạn như điều chỉnh tốc độ học, kích thước lô và kỹ thuật tiền xử lý hình ảnh, để đạt được độ chính xác tối ưu. Vì rủi ro trong lĩnh vực chăm sóc sức khỏe là rất cao và độ chính xác và độ tin cậy là rất quan trọng, nên việc theo dõi từng thử nghiệm theo cách thủ công có thể nhanh chóng trở nên khó quản lý.

__wf_reserved_inherit
Hình 4. Phát hiện khối u bằng Ultralytics YOLO11.

Tích hợp MLflow giải quyết thách thức này bằng cách tự động ghi lại các tham số, số liệu và artifacts 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 những thay đổi này cùng với các số liệu hiệu suất. Ngoài ra, MLflow lưu trữ trọng số và cấu hình của mô hình đã huấn luyện, đảm bảo rằng các mô hình thành công có thể dễ dàng được tái tạo và triển khai. 

Đây chỉ là một ví dụ về cách tích hợp MLflow tăng cường quản lý thử nghiệm trong các ứng dụng Vision AI. Các tính năng tương tự cũng được áp dụng cho các ứng dụng computer vision khác, bao gồm:

  • Lái xe tự động: YOLO11 có thể được sử dụng để phát hiện và phân loại người đi bộ, xe cộ và biển báo giao thông trong thời gian thực để cải thiện sự an toàn và hiệu quả của hệ thống tự lái.
  • Phân tích bán lẻ: Các mô hình object detection có thể theo dõi hành vi của 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 video.
  • An ninh và giám sát: Các mô hình có thể được huấn luyện để phát hiện các điểm bất thường hoặc theo dõi hoạt động theo thời gian thực trong các khu vực nhạy cảm để tăng cường an ninh.

Lợi ích của việc tích hợp MLflow

Việc tích hợp MLflow với các mô hình YOLO giúp quản lý các thử nghiệm machine learning 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ứ được tổ chức, nó cho phép bạn tập trung vào việc xây dựng và cải thiện các mô hình của mình. Dưới đây là một cái nhìn về những lợi ích chính:

  • Khả năng mở rộng cho các dự án lớn: Nền tảng xử lý nhiều thử nghiệm và mô hình một cách hiệu quả, làm cho nó phù hợp cho các nhóm lớn hơ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 lưu giữ đầy đủ lịch sử các thí nghiệm, cho phép bạn xem lại các lần chạy trước đây, phân tích các cấu hình cũ và học hỏi từ các kết quả trước đó.
  • Tùy chọn tắt và đặt lại: Tính năng ghi log MLflow có thể dễ dàng tắt 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 quy trình làm việc khác nhau.

Những điều cần nhớ

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à artifacts, nó đơn giản hóa quy trình và loại bỏ sự phức tạp của 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 chăm sóc sức khỏe như phát hiện khối u, cải thiện hệ thống lái xe tự động hoặc nâng cao phân tích bán lẻ, việc tích hợp này giúp mọi thứ được tổ chức và có thể tái tạo. Với giao diện trực quan và tính 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 mô hình tốt hơn và thúc đẩy sự đổi mới trong các ứng dụng Vision AI.

Tham gia cộng đồng của chúng tôi và xem kho lưu trữ GitHub của chúng tôi để tìm hiểu về AI. Bạn cũng có thể khám phá thêm các ứng dụng của thị giác máy tính trong sản xuất hoặc AI trong xe tự lái trên các trang giải pháp của chúng tôi.

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard