Danh Sách Kiểm Tra Sự Hoàn Chỉnh ML

Mục lục:

Danh Sách Kiểm Tra Sự Hoàn Chỉnh ML
Danh Sách Kiểm Tra Sự Hoàn Chỉnh ML

Video: Danh Sách Kiểm Tra Sự Hoàn Chỉnh ML

Video: Danh Sách Kiểm Tra Sự Hoàn Chỉnh ML
Video: Sự điện li của nước pH - Chất chỉ thị axit bazơ - Bài 3 - Hóa 11 - Cô Nguyễn Nhàn (HAY NHẤT) 2024, Tháng mười một
Anonim

Với mục đích tăng khả năng tái tạo và trao quyền cho những người khác xây dựng dựa trên tác phẩm đã xuất bản dễ dàng hơn, chúng tôi trình bày danh sách kiểm tra tính hoàn chỉnh của mã ML. Danh sách kiểm tra tính hoàn chỉnh của mã ML đánh giá kho mã dựa trên các tập lệnh và hiện vật được cung cấp trong đó.

Danh sách kiểm tra tính hoàn chỉnh của mã ML
Danh sách kiểm tra tính hoàn chỉnh của mã ML

Giới thiệu

Năm ngoái, Joel Pino đã phát hành một danh sách kiểm tra khả năng tái tạo để hỗ trợ nghiên cứu có thể tái sản xuất được trình bày tại các hội nghị OA lớn (NeurIPS, ICML,…). Hầu hết các mục trong danh sách kiểm tra tập trung vào các thành phần của bài báo. Một mục trong danh sách kiểm tra này là "cung cấp liên kết đến mã nguồn", nhưng ngoài điều đó, một số đề xuất đã được đưa ra.

Các phương pháp hay nhất đã được tóm tắt trong Danh sách kiểm tra tính hoàn chỉnh của mã ML, hiện là một phần của quy trình gửi mã NeurIPS 2020 chính thức và sẽ có sẵn để người đánh giá sử dụng khi họ thấy phù hợp.

Danh sách kiểm tra sự hoàn thiện ML

Danh sách kiểm tra tính đầy đủ của mã M kiểm tra kho mã để tìm:

  1. Phụ thuộc - Kho lưu trữ có thông tin phụ thuộc hoặc hướng dẫn về cách thiết lập môi trường không?
  2. Các tình huống đào tạo - Kho lưu trữ có chứa cách để đào tạo / phù hợp với các mô hình được mô tả trong tài liệu không?
  3. Các kịch bản đánh giá - Kho lưu trữ có chứa kịch bản để tính toán hiệu suất của (các) mô hình được đào tạo hoặc chạy thử nghiệm trên các mô hình không?
  4. Các mô hình đã được huấn luyện trước - Kho lưu trữ có cung cấp quyền truy cập miễn phí vào các trọng số của mô hình được huấn luyện trước không?
  5. Kết quả - kho lưu trữ có chứa bảng / đồ thị các kết quả chính và tập lệnh để tái tạo các kết quả đó không?

Mỗi kho lưu trữ có thể nhận được từ 0 (không có) đến 5 (có tất cả) tick. Bạn có thể tìm thêm thông tin về các tiêu chí cho từng mục trong kho Github.

Bằng chứng cho thấy các mục trong danh sách kiểm tra đóng góp vào các kho hữu ích hơn là gì?

Cộng đồng thường sử dụng các ngôi sao GitHub làm đại diện cho tính hữu ích của kho lưu trữ. Do đó, các repo có điểm cao hơn trong danh sách kiểm tra mức độ hoàn chỉnh ML dự kiến cũng sẽ có nhiều ngôi sao GitHub hơn. Để kiểm tra giả thuyết này, đã có 884 repo GitHub được gửi dưới dạng triển khai chính thức trong tài liệu NeurIPS 2019. 25% tập hợp con trong số 884 repo này đã được chọn ngẫu nhiên và kiểm tra thủ công trong danh sách kiểm tra tính đầy đủ của ML. Họ đã nhóm các repos NeurIPS 2019 GitHub mẫu này theo số lượng tick mà họ có trong danh sách kiểm tra tính đầy đủ của mã ML và lập bản đồ các ngôi sao trung bình GitHub trong mỗi nhóm. Kết quả là bên dưới:

Hình ảnh
Hình ảnh

Các repo NeurIPS 2019 với 0 hộp kiểm có mức trung bình là 1,5 sao trên GitHub. Ngược lại, repo có 5 hộp kiểm có trung bình là 196,5 sao GitHub. Chỉ 9% repo có 5 tick và hầu hết repo (70%) có 3 tick trở xuống. Kiểm tra tổng thứ hạng của Wilcoxon đã được thực hiện và phát hiện ra rằng số lượng sao trong lớp đánh dấu 5 cao hơn đáng kể (p.value <1e-4) so với tất cả các lớp khác, ngoại trừ 5 so với 4 (trong đó giá trị p là ranh giới). ở mức 0,015). Bạn có thể xem dữ liệu và mã cho hình này trong kho lưu trữ Github.

Để kiểm tra xem mối quan hệ này có mở rộng hơn hay không, một tập lệnh đã được tạo để tự động hóa việc tính toán danh sách kiểm tra từ kho lưu trữ README và mã liên quan. Sau đó, chúng tôi đã phân tích lại toàn bộ kho lưu trữ 884 NeurIPS 2019, cũng như tập hợp rộng hơn gồm kho lưu trữ mã 8926 cho tất cả các bài báo ML được xuất bản vào năm 2019. Trong cả hai trường hợp, các chuyên gia đã thu được một kết quả giống hệt nhau về chất lượng với các ngôi sao trung vị tăng đơn điệu từ bọ ve theo cách có ý nghĩa thống kê (p.value <1e-4). Cuối cùng, sử dụng hồi quy tuyến tính mạnh mẽ, chúng tôi nhận thấy các mô hình và kết quả được đào tạo trước có tác động tích cực lớn nhất đến các ngôi sao GitHub.

Đây được các nhà phân tích coi là bằng chứng hữu ích rằng việc khuyến khích các nhà nghiên cứu bao gồm tất cả các thành phần theo yêu cầu của danh sách kiểm tra tính đầy đủ ML sẽ dẫn đến các kho lưu trữ hữu ích hơn và điểm số trên danh sách kiểm tra cho thấy các bài nộp có chất lượng tốt hơn.

Hiện tại, các chuyên gia không khẳng định rằng 5 mục danh sách kiểm tra được đề xuất là yếu tố duy nhất hoặc thậm chí quan trọng nhất trong sự phổ biến của kho lưu trữ. Các yếu tố khác có thể ảnh hưởng đến mức độ phổ biến, chẳng hạn như: quy mô đóng góp khoa học, tiếp thị (ví dụ: bài đăng trên blog và bài đăng trên Twitter), tài liệu (READMEs toàn diện, hướng dẫn và tài liệu API), chất lượng mã và công việc trước đó.

Một số ví dụ về kho lưu trữ NeurIPS 2019 với 5 hộp kiểm:

Các chuyên gia nhận ra rằng mặc dù họ đã cố gắng làm cho danh sách kiểm tra càng chung chung càng tốt, nhưng nó có thể không áp dụng đầy đủ cho tất cả các loại tài liệu, ví dụ, lý thuyết hoặc bộ tài liệu. Tuy nhiên, ngay cả khi mục đích chính của bài báo là đại diện cho tập dữ liệu, nó vẫn có thể được hưởng lợi từ việc phát hành các mô hình cơ sở, bao gồm các kịch bản đào tạo, kịch bản đánh giá và kết quả.

Bắt đầu sử dụng

Để giúp người đánh giá và người dùng dễ dàng hiểu những gì có trong kho lưu trữ và để các chuyên gia đánh giá chính xác nó, một bộ sưu tập các phương pháp hay nhất được cung cấp để viết tệp README.md, xác định các phần phụ thuộc và phát hành các mô hình, bộ dữ liệu và kết quả được đào tạo trước. Bạn nên xác định rõ ràng 5 yếu tố này trong kho lưu trữ của mình và liên kết chúng với bất kỳ tài nguyên bên ngoài nào như tài liệu và bảng xếp hạng để cung cấp thêm ngữ cảnh và sự rõ ràng cho người dùng của bạn. Đây là các hướng dẫn chính thức để gửi mã tới NeurIPS 2020.

Đề xuất: