paint-brush
Deep Lake, Lakehouse cho Deep Learning: Điểm chuẩn hiệu suấttừ tác giả@dataology
121 lượt đọc

Deep Lake, Lakehouse cho Deep Learning: Điểm chuẩn hiệu suất

dài quá đọc không nổi

Các nhà nghiên cứu giới thiệu Deep Lake, một Lakehouse nguồn mở để học sâu, tối ưu hóa việc lưu trữ và truyền phát dữ liệu phức tạp cho các khung học sâu.
featured image - Deep Lake, Lakehouse cho Deep Learning: Điểm chuẩn hiệu suất
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

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.

Bảng liên kết

6. CHUẨN MỰC HIỆU SUẤT

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.

6.1 Tốc độ nhập vào các định dạng khác nhau

Hình 6: Nhập 10,00 hình ảnh 0 từ tập dữ liệu FFHQ [43] sang định dạng khác (càng thấp càng tốt)


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]

6.2 So sánh các bộ tải dữ liệu cục bộ

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


Hình 7: Tốc độ lặp lại của hình ảnh so với các bộ tải dữ liệu khác (cao hơn thì tốt hơn)


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].

6.3 Trình tải dữ liệu có thể phát trực tuyến từ các vị trí khác nhau

Hình 8: Truyền phát từ các vị trí lưu trữ dữ liệu khác nhau: Local FileSystem, AWS S3, MinIO (càng thấp càng tốt)


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ừ


Hình 9: Đào tạo về ImageNet trên S3: Chế độ tệp AWS sao chép từng tệp từ S3; Chế độ tệp nhanh bắt đầu ngay lập tức với quá trình đào tạo chậm hơn; Deep Lake hoạt động như thể dữ liệu cục bộ, mặc dù nó được truyền trực tuyến (thấp hơn thì tốt hơn)


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].

6.4 Đào tạo ImageNet trên đám mây

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

6.5 Huấn luyện phân tán một tập dữ liệu đa phương thức lớn

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.