tác giả:
(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, USA;
(2) Abhinav Tuli, Activeloop, Mountain View, CA, USA;
(3) Levon Ghukasyan, Activeloop, Mountain View, CA, USA;
(4) Fariz Rahman, Activeloop, Mountain View, CA, USA;.
(5) Hrant Topchyan, Activeloop, Mountain View, CA, USA;
(6) David Isayan, Activeloop, Mountain View, CA, USA;
(7) Mark McQuade, Activeloop, Mountain View, CA, USA;
(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, USA;
(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, USA;
(10) Ivo Stranic, Activeloop, Mountain View, CA, USA;
(11) Davit Buniatyan, Activeloop, Mountain View, CA, USA.
Trong phần này, chúng tôi chứng minh bằng thực nghiệm hiệu suất của Deep Lake trên quy mô lớn từ thời điểm tiếp nhận định dạng cho đến đào tạo trên quy mô lớn so với các định dạng và trình tải dữ liệu khác. Chúng tôi so sánh các tập dữ liệu phát trực tuyến từ các chương trình phụ trợ lưu trữ khác nhau, đồng thời thể hiện mức tăng hiệu suất cũng như khả năng mở rộng trong khi đào tạo trên đám mây.
10.000 hình ảnh từ tập dữ liệu FFHQ [43] không được nén và lưu trữ ở định dạng NumPy. Mỗi hình ảnh thô 1024x1024x3 là một mảng 3 MB. Sau đó, như trong Hình 6, các hình ảnh được ghi tuần tự vào từng định dạng. Để tăng hiệu suất, chúng tôi đã sử dụng TensorStore [23] để ghi sang định dạng Zarr [52] và N5 [24]. Các thử nghiệm được thực hiện trên máy AWS c5.9xlarge. Deep Lake đạt được hiệu suất ghi nhanh hơn đáng kể so với các định dạng mảng và ngang bằng với các định dạng nhị phân như WebDataset [19] và FCV Beton [39]
Như được hiển thị trong Hình 7, Deep Lake đạt được tốc độ tải dữ liệu nhanh hơn trong vòng đào tạo PyTorch mà không cần mô hình. Thử nghiệm được thực hiện trên phiên bản AWS P3.2xlarge với một GPU Nvidia V100
Thẻ. Tập dữ liệu đã tạo ngẫu nhiên 50.000 hình ảnh 250x250x3 được lưu trữ dưới dạng tệp JPEG. Danh sách các thư viện trong đó các điểm chuẩn được thực hiện là Deep Lake, FFCV [39], Squirrel [75], Webdataset [19] và trình tải dữ liệu PyTorch gốc [58].
Trong thử nghiệm này như được hiển thị trong Hình 8, chúng tôi khám phá các phần phụ trợ lưu trữ khác nhau để phát trực tuyến từ xa bằng cách sử dụng cùng một tập dữ liệu như trong Phần 6.2. MinIO [17] đang chạy trên một máy khác trong mạng cục bộ. Đáng chú ý, Deep Lake đạt được hiệu suất tương tự như dữ liệu cục bộ trên máy so với AWS S3. Cả WebDataset và Deep Lake đều chậm hơn đáng kể khi truyền dữ liệu từ
MinIO so với AWS S3. Để có các điểm chuẩn chi tiết hơn về trình tải dữ liệu, chúng tôi khuyên bạn nên thực hiện nghiên cứu tổng quan về trình tải dữ liệu đầy đủ của Ofeidis et al. [54].
Vì Deep Lake được xây dựng dựa trên nền tảng đám mây nên trong phần này và phần tiếp theo, chúng tôi sẽ chứng minh những lợi ích mà nó mang lại cho các mô hình đào tạo trên đám mây. Chúng tôi lấy tập dữ liệu ImageNet [35] và lưu trữ trên AWS S3 [1] dưới dạng Định dạng lưu trữ gốc và Tensor. Bộ dữ liệu chứa 1,2 triệu hình ảnh và nhãn trong tổng số 150 GB. Deep Lake đạt được hiệu suất đào tạo gần như tương tự như thể dữ liệu cục bộ trên máy. Điều này giúp tiết kiệm thời gian và chi phí tính toán GPU lên tới 4 lần như trong Hình 9
Trong thử nghiệm thứ hai, chúng tôi lấy tập dữ liệu LAION [67] chứa 400M cặp văn bản-hình ảnh và huấn luyện CLIP [60], mô hình nhúng văn bản-hình ảnh với 1 tỷ tham số. Tập dữ liệu ban đầu là một bảng gồm các tệp Parquet với một cột URL hình ảnh. Quá trình tải xuống tập dữ liệu từ nguồn mất 100 giờ, trong khi quá trình chuyển sang định dạng Tensor Storage chỉ mất 6 giờ, tổng dung lượng là 1,9 TB. Bộ dữ liệu đã được lưu trữ trên AWS ở khu vực miền đông Hoa Kỳ trong khi đào tạo máy GPU ở khu vực miền trung Hoa Kỳ. Như được hiển thị trên Hình 10, Deep Lake đạt được mức sử dụng GPU cao bằng cách truyền trực tuyến 5.100 hình ảnh/giây vào 16 GPU Nvidia A100 trong khi không có mô hình lên tới 80.000 hình ảnh/giây trên mỗi máy trên cùng một khu vực.
Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.