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

Khám phá các tích hợp theo dõi thử nghiệm ML của Ultralytics YOLOv8

Abirami Vina

4 phút đọc

30 tháng 8, 2024

Tìm hiểu thêm về các tùy chọn khác nhau để theo dõi và giám sát các thử nghiệm huấn luyện mô hình YOLOv8 của bạn. So sánh các công cụ và tìm ra công cụ phù hợp nhất với nhu cầu của bạn.

Thu thập dữ liệu, chú thích dữ liệuhuấn luyện các mô hình như mô hình Ultralytics YOLOv8 là cốt lõi của bất kỳ dự án thị giác máy tính nào. Thông thường, bạn sẽ cần huấn luyện mô hình tùy chỉnh của mình nhiều lần với các tham số khác nhau để tạo ra mô hình tối ưu nhất. Sử dụng các công cụ để theo dõi các thử nghiệm huấn luyện của bạn có thể giúp quản lý dự án thị giác máy tính của bạn dễ dàng hơn một chút. Theo dõi thử nghiệm là quá trình ghi lại chi tiết của mọi lần chạy huấn luyện - như các tham số bạn đã sử dụng, kết quả bạn đạt được và bất kỳ thay đổi nào bạn đã thực hiện trong quá trình đó. 

__wf_reserved_inherit
Hình 1. Hình ảnh minh họa cách theo dõi thử nghiệm phù hợp với một dự án computer vision. 

Ghi lại những chi tiết này giúp bạn tái tạo kết quả của mình, hiểu điều gì hiệu quả và điều gì không, đồng thời tinh chỉnh mô hình của bạn hiệu quả hơn. Đối với các tổ chức, nó giúp duy trì tính nhất quán giữa các nhóm, thúc đẩy sự cộng tác và cung cấp một dấu vết kiểm toán rõ ràng. Đối với các cá nhân, đó là việc duy trì tài liệu rõ ràng và có tổ chức về công việc của bạn, cho phép bạn tinh chỉnh phương pháp của mình và đạt được kết quả tốt hơn theo thời gian. 

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn các tích hợp huấn luyện khác nhau hiện có để quản lý và giám sát các thử nghiệm YOLOv8 của bạn. Cho dù bạn đang làm việc một mình hay là một phần của một nhóm lớn hơn, việc hiểu và sử dụng đúng các công cụ theo dõi có thể tạo ra sự khác biệt thực sự trong sự thành công của các dự án YOLOv8 của bạn.

Theo dõi thử nghiệm học máy với MLflow

MLflow là một nền tảng mã nguồn mở được phát triển bởi Databricks, giúp quản lý toàn bộ vòng đời học máy dễ dàng hơn. MLflow Tracking là một thành phần thiết yếu của MLflow, cung cấp API và giao diện người dùng, giúp các nhà khoa học dữ liệu và kỹ sư ghi lại và trực quan hóa các thử nghiệm học máy của họ. Nó hỗ trợ nhiều ngôn ngữ và giao diện, bao gồm Python, REST, Java và R API. 

MLflow Tracking tích hợp mượt mà với YOLOv8 và bạn có thể ghi lại các chỉ số quan trọng như độ chính xác (precision), độ phủ (recall) và loss trực tiếp từ các mô hình của mình. Thiết lập MLflow với YOLOv8 rất đơn giản và có các tùy chọn linh hoạt: bạn có thể sử dụng thiết lập localhost mặc định, kết nối với các kho dữ liệu khác nhau hoặc khởi động một máy chủ theo dõi MLflow từ xa để giữ mọi thứ được ngăn nắp.

__wf_reserved_inherit
Hình 2. Các thiết lập phổ biến cho MLflow Tracking Environment. Nguồn ảnh MLflow tracking.

Dưới đây là một số thông tin đầu vào để giúp bạn quyết định xem MLflow có phải là công cụ phù hợp cho dự án của bạn hay không:

  • Khả năng mở rộng: MLflow có khả năng mở rộng tốt theo nhu cầu của bạn, cho dù bạn đang làm việc trên một máy đơn lẻ hay triển khai trên các cụm lớn. Nếu dự án của bạn liên quan đến việc mở rộng từ giai đoạn phát triển đến sản xuất, MLflow có thể hỗ trợ sự phát triển này.
  • Độ phức tạp của dự án: MLflow lý tưởng cho các dự án phức tạp cần theo dõi kỹ lưỡng, quản lý mô hình và khả năng triển khai. Nếu dự án của bạn yêu cầu các tính năng quy mô đầy đủ này, MLflow có thể hợp lý hóa quy trình làm việc của bạn.
  • Thiết lập và bảo trì: Mặc dù mạnh mẽ, MLflow đi kèm với một đường cong học tập và chi phí thiết lập. 

Sử dụng Weights & Biases (W&B) để theo dõi mô hình thị giác máy tính

Weights & Biases là một nền tảng MLOps để theo dõi, trực quan hóa và quản lý các thử nghiệm machine learning. Bằng cách sử dụng W&B với YOLOv8, bạn có thể theo dõi hiệu suất của các mô hình khi bạn huấn luyện và tinh chỉnh chúng. Bảng điều khiển tương tác của W&B cung cấp một cái nhìn rõ ràng, theo thời gian thực về các số liệu này và giúp bạn dễ dàng phát hiện các xu hướng, so sánh các biến thể mô hình và khắc phục sự cố trong quá trình huấn luyện.

W&B tự động ghi lại các số liệu huấn luyện và các điểm kiểm tra mô hình, và bạn thậm chí có thể sử dụng nó để tinh chỉnh siêu tham số như tốc độ học và kích thước lô. Nền tảng này hỗ trợ nhiều tùy chọn thiết lập, từ theo dõi các lần chạy trên máy cục bộ của bạn đến quản lý các dự án quy mô lớn với bộ nhớ đám mây.

__wf_reserved_inherit
Hình 3. Một ví dụ về bảng điều khiển theo dõi thử nghiệm của Weights & Biases. Nguồn ảnh: Weights & Biases track experiments.

Dưới đây là một số thông tin đầu vào để giúp bạn quyết định xem Weights & Biases có phải là công cụ phù hợp cho dự án của bạn hay không:

  • Cải thiện khả năng trực quan hóa và theo dõi: W&B cung cấp một bảng điều khiển trực quan để trực quan hóa các số liệu huấn luyện và hiệu suất mô hình trong thời gian thực. 
  • Mô hình giá: Giá dựa trên số giờ theo dõi, điều này có thể không lý tưởng cho người dùng có ngân sách hạn chế hoặc các dự án liên quan đến thời gian đào tạo dài.

Theo dõi thử nghiệm MLOps với ClearML

ClearML là một nền tảng MLOps mã nguồn mở được thiết kế để tự động hóa, giám sát và điều phối các quy trình làm việc machine learning. Nó hỗ trợ các framework machine learning phổ biến như PyTorch, TensorFlow và Keras, đồng thời có thể tích hợp dễ dàng với các quy trình hiện có của bạn. ClearML cũng hỗ trợ tính toán phân tán trên các máy cục bộ hoặc trên đám mây và có thể giám sát việc sử dụng CPU và GPU.

Việc tích hợp YOLOv8 với ClearML cung cấp các công cụ để theo dõi thử nghiệm, quản lý mô hình và giám sát tài nguyên. Giao diện web trực quan của nền tảng cho phép bạn trực quan hóa dữ liệu, so sánh các thử nghiệm và theo dõi các số liệu quan trọng như loss, độ chính xác và điểm xác thực theo thời gian thực. Việc tích hợp này cũng hỗ trợ các tính năng nâng cao như thực thi từ xa, điều chỉnh siêu tham số và checkpoint mô hình.

__wf_reserved_inherit
Hình 4. Một ví dụ về trực quan hóa theo dõi thử nghiệm của ClearML. Nguồn ảnh: Clear ML Tracking Experiments and Visualizing Results.

Dưới đây là một số thông tin đầu vào để giúp bạn quyết định xem ClearML có phải là công cụ phù hợp cho dự án của bạn hay không:

  • Nhu cầu theo dõi thử nghiệm nâng cao: ClearML cung cấp khả năng theo dõi thử nghiệm mạnh mẽ, bao gồm tích hợp tự động với Git.
  • Triển khai linh hoạt: ClearML có thể được sử dụng tại chỗ, trên đám mây hoặc trên các cụm Kubernetes, giúp nó có khả năng thích ứng với các thiết lập khác nhau.

Thực hiện các thí nghiệm huấn luyện theo dõi bằng Comet ML

Comet ML là một nền tảng thân thiện với người dùng, giúp quản lý và theo dõi các thử nghiệm machine learning. Sự tích hợp của YOLOv8 với Comet ML cho phép bạn ghi lại các thử nghiệm và xem kết quả theo thời gian. Việc tích hợp giúp bạn dễ dàng phát hiện các xu hướng và so sánh các lần chạy khác nhau. 

Comet ML có thể được sử dụng trên cloud, trên virtual private cloud (VPC) hoặc thậm chí tại chỗ, giúp nó có thể thích ứng với các thiết lập và nhu cầu khác nhau. Công cụ này được thiết kế để làm việc nhóm. Bạn có thể chia sẻ dự án, gắn thẻ đồng đội và để lại nhận xét để mọi người có thể nắm bắt thông tin và tái tạo các thử nghiệm một cách chính xác.

Dưới đây là một số thông tin đầu vào để giúp bạn quyết định xem Comet ML có phải là công cụ phù hợp cho dự án của bạn hay không:

  • Hỗ trợ nhiều framework và ngôn ngữ: Comet ML hoạt động với Python, JavaScript, Java, R, v.v., khiến nó trở thành một lựa chọn linh hoạt bất kể dự án của bạn sử dụng công cụ hoặc ngôn ngữ nào.
  • Báo cáo và bảng điều khiển có thể tùy chỉnh: Giao diện của Comet ML có khả năng tùy biến cao, vì vậy bạn có thể tạo các báo cáo và bảng điều khiển phù hợp nhất với dự án của mình. 
  • Chi phí: Comet ML là một nền tảng thương mại và một số tính năng nâng cao của nó yêu cầu đăng ký trả phí.

TensorBoard có thể giúp ích cho việc trực quan hóa

TensorBoard là một bộ công cụ trực quan hóa mạnh mẽ được thiết kế đặc biệt cho các thử nghiệm TensorFlow, nhưng nó cũng là một công cụ tuyệt vời để theo dõi và trực quan hóa các số liệu trên một loạt các dự án học máy. Nổi tiếng với sự đơn giản và tốc độ, TensorBoard cho phép người dùng dễ dàng theo dõi các số liệu chính và trực quan hóa các biểu đồ mô hình, nhúng và các loại dữ liệu khác.

Một ưu điểm lớn của việc sử dụng TensorBoard với YOLOv8 là nó được cài đặt sẵn một cách thuận tiện, loại bỏ nhu cầu thiết lập bổ sung. Một lợi ích khác là khả năng chạy hoàn toàn tại chỗ của TensorBoard. Điều này đặc biệt quan trọng đối với các dự án có yêu cầu nghiêm ngặt về quyền riêng tư dữ liệu hoặc những dự án trong môi trường mà việc tải lên đám mây không phải là một lựa chọn.

__wf_reserved_inherit
Hình 5. Giám sát quá trình huấn luyện mô hình YOLOv8 bằng TensorBoard.

Dưới đây là một số thông tin đầu vào để giúp bạn quyết định xem TensorBoard có phải là công cụ phù hợp cho dự án của bạn hay không:

  • Khả năng giải thích với What-If Tool (WIT): TensorBoard bao gồm What-If Tool, cung cấp giao diện dễ sử dụng để khám phá và hiểu các mô hình ML. Nó có giá trị cho những người muốn hiểu sâu hơn về các mô hình hộp đen và cải thiện khả năng giải thích.
  • Theo dõi thử nghiệm đơn giản: TensorBoard lý tưởng cho các nhu cầu theo dõi cơ bản với khả năng so sánh thử nghiệm hạn chế và thiếu các tính năng cộng tác nhóm mạnh mẽ, kiểm soát phiên bản và quản lý quyền riêng tư.

Sử dụng DVCLive (Data Version Control Live) để theo dõi các thử nghiệm ML

Việc tích hợp YOLOv8 với DVCLive cung cấp một cách thức hợp lý để theo dõi và quản lý các thử nghiệm bằng cách kiểm soát phiên bản của bộ dữ liệu, mô hình và mã của bạn cùng nhau mà không cần lưu trữ các tệp lớn trong Git. Nó sử dụng các lệnh tương tự Git và lưu trữ các số liệu đã theo dõi trong các tệp văn bản thuần túy để dễ dàng kiểm soát phiên bản. DVCLive ghi lại các số liệu chính, trực quan hóa kết quả và quản lý các thử nghiệm một cách gọn gàng mà không làm lộn xộn kho lưu trữ của bạn. Nó hỗ trợ nhiều nhà cung cấp lưu trữ và có thể hoạt động cục bộ hoặc trên đám mây. DVCLive hoàn hảo cho các nhóm muốn hợp lý hóa việc theo dõi thử nghiệm mà không cần thêm cơ sở hạ tầng hoặc các phụ thuộc đám mây.

Quản lý các mô hình và quy trình làm việc của Ultralytics bằng Ultralytics HUB

Ultralytics HUB là một nền tảng tất cả trong một, được thiết kế để đơn giản hóa việc huấn luyện, triển khai và quản lý các mô hình Ultralytics YOLO như YOLOv5YOLOv8. Không giống như các tích hợp bên ngoài, Ultralytics HUB cung cấp trải nghiệm gốc liền mạch được tạo riêng cho người dùng YOLO. Nó đơn giản hóa toàn bộ quy trình, cho phép bạn dễ dàng tải lên bộ dữ liệu, chọn các mô hình được huấn luyện trước và bắt đầu huấn luyện chỉ với một vài cú nhấp chuột bằng tài nguyên đám mây - tất cả đều nằm trong giao diện dễ sử dụng của HUB. UltralyticsHUB cũng hỗ trợ theo dõi thử nghiệm, giúp dễ dàng theo dõi tiến trình huấn luyện, so sánh kết quả và tinh chỉnh mô hình.

__wf_reserved_inherit
Hình 7. Giám sát quá trình huấn luyện mô hình YOLOv8 bằng Ultralytics HUB.

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

Việc chọn đúng công cụ để theo dõi các thử nghiệm machine learning của bạn có thể tạo ra sự khác biệt lớn. Tất cả các công cụ mà chúng tôi đã thảo luận có thể giúp theo dõi các thử nghiệm huấn luyện YOLOv8, nhưng điều quan trọng là phải cân nhắc ưu và nhược điểm của từng công cụ để tìm ra công cụ phù hợp nhất cho dự án của bạn. Công cụ phù hợp sẽ giúp bạn có tổ chức và giúp cải thiện hiệu suất mô hình YOLOv8 của bạn! 

Tích hợp có thể đơn giản hóa việc sử dụng YOLOv8 trong các dự án sáng tạo của bạn và đẩy nhanh tiến độ của bạn. Để khám phá thêm các tích hợp YOLOv8 thú vị, hãy xem tài liệu của chúng tôi.

Tìm hiểu thêm về AI bằng cách khám phá kho lưu trữ GitHub của chúng tôi và tham gia cộng đồng của chúng tôi. Xem các trang giải pháp của chúng tôi để biết thông tin chi tiết về AI trong sản xuấtchăm sóc sức khỏe. 🚀

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