Thuật ngữ

Gọi lại

Khám phá vai trò thiết yếu của lệnh gọi lại trong học máy—các công cụ giám sát, kiểm soát và tự động hóa quá trình đào tạo mô hình để cải thiện độ chính xác, tính linh hoạt và hiệu quả.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Trong học máy, đặc biệt là trong quá trình phức tạp của việc đào tạo mạng nơ-ron , Callback là một tiện ích mạnh mẽ. Về cơ bản, nó là một đối tượng hoặc hàm được thiết kế để thực hiện các hành động cụ thể ở nhiều giai đoạn khác nhau của một quy trình, phổ biến nhất là trong quá trình đào tạo hoặc đánh giá mô hình. Hãy nghĩ về các lệnh gọi lại như các móc hoặc trình kích hoạt tự động cho phép bạn theo dõi trạng thái nội bộ, quan sát số liệu thống kê mô hình, đưa ra quyết định hoặc thực thi mã tùy chỉnh mà không cần ngắt thủ công quá trình đào tạo . Chúng cung cấp một cơ chế quan trọng để tùy chỉnh và kiểm soát hành vi của các vòng lặp đào tạo và các hoạt động tuần tự khác trong các khuôn khổ học sâu (DL) phổ biến như TensorFlowPyTorch .

Cách thức hoạt động của Callback

Các lệnh gọi lại hoạt động dựa trên hệ thống điều khiển sự kiện. Chúng thường được truyền dưới dạng danh sách đến một hàm chính, chẳng hạn như train phương pháp trong một học máy (ML) khung. Khung được thiết kế để gọi các lệnh gọi lại này tại các điểm cụ thể, được gọi là "sự kiện". Các sự kiện phổ biến bao gồm sự bắt đầu hoặc kết thúc của toàn bộ quá trình đào tạo, sự bắt đầu hoặc kết thúc của một thời đại, hoặc thậm chí trước hoặc sau khi xử lý một kích thước lô của dữ liệu. Khi một sự kiện cụ thể xảy ra, khuôn khổ thực hiện các hàm gọi lại tương ứng, thường truyền thông tin có liên quan về trạng thái hiện tại—như số kỷ nguyên hiện tại, chức năng mất mát giá trị hoặc số liệu hiệu suất—như các đối số. Điều này cho phép lệnh gọi lại tương tác động và ảnh hưởng đến quy trình đang diễn ra dựa trên thông tin thời gian thực.

Các ứng dụng chính và trường hợp sử dụng

Lệnh gọi lại cực kỳ linh hoạt và cho phép thực hiện nhiều chức năng cần thiết cho việc phát triển và đào tạo mô hình hiệu quả:

  • Giám sát hiệu suất mô hình : Theo dõi các số liệu như mất mát và độ chính xác trên dữ liệu đào tạodữ liệu xác thực trong suốt quá trình đào tạo. Kết quả có thể được ghi vào bảng điều khiển, lưu vào tệp hoặc trực quan hóa bằng các công cụ như TensorBoard .
  • Kiểm tra điểm mô hình : Tự động lưu trọng số mô hình theo định kỳ, thường chỉ lưu phiên bản có hiệu suất tốt nhất dựa trên số liệu đã chọn (ví dụ: độ chính xác xác thực hoặc mất mát). Điều này đảm bảo rằng mô hình tốt nhất không bị mất nếu quá trình đào tạo bị gián đoạn hoặc nếu hiệu suất giảm sau đó.
  • Dừng sớm : Theo dõi số liệu hiệu suất (như mất xác thực) và tự động dừng quá trình đào tạo nếu số liệu ngừng cải thiện trong một số kỷ nguyên xác định. Điều này ngăn ngừa quá trình lắp ghép và tiết kiệm tài nguyên tính toán.
  • Điều chỉnh động : Sửa đổi các thông số đào tạo ngay lập tức. Một ví dụ phổ biến là điều chỉnh động tốc độ học dựa trên tiến trình đào tạo, thường giảm tốc độ khi hiệu suất đạt đến mức ổn định (lập lịch tốc độ học).
  • Ghi nhật ký và báo cáo: Gửi nhật ký, số liệu và cập nhật tiến độ đào tạo đến các hệ thống giám sát bên ngoài hoặc nền tảng theo dõi thử nghiệm như Weights & Biases hoặc Ultralytics HUB , hỗ trợ thực hành MLOps .
  • Quản lý tài nguyên: Triển khai logic tùy chỉnh để quản lý tài nguyên hệ thống, chẳng hạn như xóa bộ nhớ đệm GPU theo các khoảng thời gian cụ thể. Tìm thêm gợi ý trong hướng dẫn của chúng tôi về Mẹo đào tạo mô hình .

Ví dụ trong thực tế

  1. Lưu mô hình phát hiện đối tượng tốt nhất: Khi đào tạo mô hình YOLO Ultralytics để phát hiện đối tượng , bạn có thể sử dụng lệnh gọi lại ModelCheckpoint. Lệnh gọi lại này theo dõi Độ chính xác trung bình (mAP) trên tập dữ liệu xác thực . Nó chỉ lưu trọng số của mô hình vào tệp khi điểm mAP cải thiện so với điểm tốt nhất đã lưu trước đó, đảm bảo bạn giữ lại mô hình chính xác nhất từ phiên đào tạo . So sánh các YOLO hiệu suất mô hình trên trang so sánh mô hình của chúng tôi.
  2. Ngăn chặn tình trạng quá khớp trong phân loại hình ảnh: Hãy tưởng tượng việc đào tạo một mô hình để phân loại hình ảnh trên một tập dữ liệu phức tạp như ImageNet . Có thể cấu hình một lệnh gọi lại EarlyStopping để theo dõi tổn thất xác thực. Nếu tổn thất xác thực không giảm trong, chẳng hạn, 10 kỷ nguyên liên tiếp, lệnh gọi lại sẽ tự động dừng đào tạo. Điều này ngăn mô hình quá khớp với dữ liệu đào tạo và tiết kiệm đáng kể thời gian và chi phí đào tạo. Khám phá thêm các tác vụ phân loại hình ảnh .

Lợi ích của việc sử dụng Callback

Việc tích hợp lệnh gọi lại vào quy trình học máy mang lại một số lợi thế đáng kể:

  • Tự động hóa: Lệnh gọi lại tự động hóa các tác vụ lặp đi lặp lại như lưu mô hình, ghi nhật ký số liệu và điều chỉnh các tham số, giảm nhu cầu can thiệp thủ công trong quá trình đào tạo kéo dài.
  • Tính linh hoạt và tùy chỉnh: Chúng cho phép các nhà phát triển chèn logic tùy chỉnh vào vòng lặp đào tạo mà không cần sửa đổi mã khung cốt lõi, cho phép các hành vi đào tạo được tùy chỉnh cao. Điều này đặc biệt hữu ích cho các thí nghiệm phức tạp hoặc điều chỉnh siêu tham số .
  • Hiệu quả: Các lệnh gọi lại như Dừng sớm và điều chỉnh tốc độ học động có thể giúp đào tạo hiệu quả hơn bằng cách tiết kiệm tài nguyên tính toán và có khả năng tăng tốc độ hội tụ.
  • Thông tin chi tiết và giám sát: Cung cấp thông tin chi tiết về động lực đào tạo bằng cách cho phép ghi nhật ký và trực quan hóa chi tiết các số liệu theo thời gian.
  • Khả năng tái tạo: Bằng cách chuẩn hóa các hành động được thực hiện trong quá trình đào tạo (ví dụ: tiêu chí lưu, điều kiện dừng), các lệnh gọi lại góp phần tạo ra các thử nghiệm học máy có khả năng tái tạo cao hơn.

Các khung như KerasPyTorch Lightning cung cấp bộ sưu tập lớn các lệnh gọi lại tích hợp và giao diện đơn giản để tạo các lệnh tùy chỉnh. Ultralytics cũng tận dụng các cuộc gọi lại nội bộ trong các đường ống đào tạo của mình, góp phần vào tính mạnh mẽ và thân thiện với người dùng của các công cụ như Ultralytics YOLO11 và nền tảng Ultralytics HUB . Tham khảo tài liệu Ultralytics có thể cung cấp các ví dụ cụ thể hơn liên quan đến YOLO đào tạo người mẫu.

Đọc tất cả