tác giả:
(1) Iason Ofeidis, Khoa Kỹ thuật Điện và Viện Khoa học Mạng Yale, Đại học Yale, New Haven {Đóng góp ngang bằng};
(2) Diego Kiedanski, Khoa Kỹ thuật Điện và Viện Khoa học Mạng Yale, Đại học Yale, New Haven {Đóng góp ngang bằng};
(3) Leandros TassiulasLevon Ghukasyan, Activeloop, Mountain View, CA, USA, Khoa Kỹ thuật Điện và Viện Khoa học Mạng Yale, Đại học Yale, New Haven.
Trong công việc này, chúng tôi sử dụng thời gian làm công cụ chính để so sánh hiệu suất giữa các thư viện khác nhau. Có một số điều để nói về điều này. Đầu tiên, chúng tôi nhận thấy rằng thời gian chạy khá thay đổi và phụ thuộc vào các tiến trình nền khó kiểm soát. Đồng thời, việc truy cập vào các tài nguyên đa GPU rất tốn kém, điều này hạn chế số lượng thử nghiệm có thể chạy. Lý tưởng nhất là chúng tôi đã chạy nhiều hơn ba lần lặp lại của mỗi thử nghiệm với nhiều tham số hơn (nhiều công nhân hơn, nhiều quy mô lô hơn), nhưng chúng tôi không có đủ nguồn lực cho việc đó. Vì chúng tôi đang tạo tất cả mã nguồn mở nên chúng tôi mời độc giả chạy các điểm chuẩn trên phần cứng của riêng họ và báo cáo kết quả. Đồng thời, các thư viện được cập nhật khá thường xuyên và việc thay đổi phiên bản có thể làm tăng hoặc giảm đáng kể hiệu suất của nó.
Do những điểm trên, chúng tôi khuyến khích người đọc tiếp thu các khía cạnh định tính của bài viết này nhưng hãy lưu ý rằng những con số thu được ở đây có xu hướng thay đổi.
Thứ hai, một khía cạnh khó so sánh hơn là tính dễ sử dụng của các thư viện được xem xét trong dự án này. Hầu hết các thư viện có trong tiêu chuẩn này đều không có tài liệu toàn diện và chủ yếu dựa vào các ví dụ cụ thể. Do đó, việc triển khai trong các thư viện này không hề dễ dàng và có xu hướng kém hiệu quả. Một trong những lợi thế của việc tạo mã nguồn mở là chúng tôi cho phép bất kỳ nhà phát triển nào xác định và cải thiện mã của chúng tôi. Điều này đặc biệt có liên quan vì chúng tôi hy vọng rằng các điểm chuẩn được tạo trong dự án này có thể được sử dụng làm mã soạn sẵn cho cộng đồng.
Chúng tôi lưu ý rằng dường như không có thư viện nào tốt hơn tất cả những thư viện khác. Thay vào đó, mỗi người đều có thế mạnh riêng. Hãy xem xét ví dụ về FCV: nó có vẻ là nhanh nhất trong các thử nghiệm của chúng tôi, nhưng việc thiếu hỗ trợ cho việc chuyển đổi nhãn đã ngăn cản nó được áp dụng trong các dự án yêu cầu các tính năng như vậy.
Chúng tôi hy vọng có thể phân tích sự tương tác giữa lọc và đào tạo trên nhiều GPU trong công việc tương lai. Đồng thời, sẽ rất thú vị khi khám phá khả năng mở rộng quy mô của các thư viện này khi số lượng GPU tăng lên. Tương tự, sẽ rất đáng quan tâm khi đánh giá các thư viện tải dữ liệu về mặt hiệu suất ở bước xáo trộn trong quy trình đào tạo DL, vì điều này có thể có tác động đáng kể đến tổng thời gian đào tạo và việc triển khai nó là một vấn đề không hề nhỏ, nơi có nhiều loại phương pháp tiếp cận.
Nghiên cứu về các thư viện cung cấp khả năng tải dữ liệu từ bộ lưu trữ từ xa và chúng hiển thị kết quả tương đương với các thử nghiệm lưu trữ cục bộ đã khuyến khích chúng tôi khám phá ý tưởng xây dựng và thiết kế chính sách bộ nhớ đệm để truyền dữ liệu qua mạng. Trong cài đặt đó, việc giảm số lần truyền một điểm dữ liệu (ví dụ: hình ảnh) có thể rút ngắn đáng kể thời gian đào tạo tổng thể (và có thể cả chi phí nếu phải trả phí sử dụng mạng). Ý tưởng lưu trữ tập dữ liệu mạng vào bộ nhớ đệm trong khi đào tạo không phải là mới (Mohan và cộng sự, 2020). Tuy nhiên, người ta thường cho rằng toàn bộ tập dữ liệu có thể được lưu vào bộ đệm khi thảo luận về dữ liệu đào tạo và truyền phát. Hơn nữa, người ta giả định rằng tất cả các mẫu sẽ được sử dụng một lần trong mỗi kỷ nguyên (Kumar & Sivathanu, 2020) như trường hợp truyền thống. Chúng tôi quan tâm đến việc khám phá điều gì sẽ xảy ra khi kích thước bộ đệm nhỏ và cũng muốn loại bỏ yêu cầu sử dụng mọi điểm dữ liệu một lần trong mỗi kỷ nguyên. Công thức như vậy nên vay mượn từ phương pháp học tập tích cực, tóm tắt dữ liệu và học tập theo chương trình giảng dạy.
Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.