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, Hoa Kỳ.
Các hồ dữ liệu truyền thống cung cấp cơ sở hạ tầng dữ liệu quan trọng cho khối lượng công việc phân tích bằng cách cho phép du hành thời gian, chạy truy vấn SQL, nhập dữ liệu bằng các giao dịch ACID và trực quan hóa các bộ dữ liệu có quy mô petabyte trên bộ lưu trữ đám mây. Chúng cho phép các tổ chức phá vỡ các kho dữ liệu, mở khóa việc ra quyết định dựa trên dữ liệu, cải thiện hiệu quả hoạt động và giảm chi phí. Tuy nhiên, khi mức độ sử dụng deep learning tăng lên, các hồ dữ liệu truyền thống không được thiết kế phù hợp cho các ứng dụng như xử lý ngôn ngữ tự nhiên (NLP), xử lý âm thanh, thị giác máy tính và các ứng dụng liên quan đến bộ dữ liệu không dạng bảng. Bài viết này giới thiệu Deep Lake, một Lakehouse mã nguồn mở dành cho các ứng dụng deep learning được phát triển tại Activeloop[1][2]. Deep Lake duy trì các lợi ích của hồ dữ liệu thông thường với một điểm khác biệt chính: nó lưu trữ dữ liệu phức tạp, chẳng hạn như hình ảnh, video, chú thích cũng như dữ liệu dạng bảng, dưới dạng tensor và nhanh chóng truyền dữ liệu qua mạng tới (một ) Ngôn ngữ truy vấn Tensor, (b) công cụ trực quan hóa trong trình duyệt hoặc (c) các khung học sâu mà không ảnh hưởng đến việc sử dụng GPU. Các bộ dữ liệu được lưu trữ trong Deep Lake có thể được truy cập từ PyTorch [58], TensorFlow [25], JAX [31] và tích hợp với nhiều công cụ MLOps.
TỪ KHÓA - Deep Lake, Deep Learning, Data Lake, Lakehouse, Điện toán đám mây, Hệ thống phân tán
Hồ dữ liệu là kho lưu trữ trung tâm cho phép các tổ chức lưu trữ dữ liệu có cấu trúc, không cấu trúc và bán cấu trúc ở một nơi. Hồ dữ liệu cung cấp một cách tốt hơn để quản lý, quản lý và phân tích dữ liệu. Ngoài ra, chúng còn cung cấp một cách để phá vỡ các kho dữ liệu và thu được những hiểu biết sâu sắc trước đây bị ẩn trong các nguồn dữ liệu khác nhau. Các hồ dữ liệu thế hệ đầu tiên thường thu thập dữ liệu vào các hệ thống lưu trữ phân tán như HDFS [71] hoặc AWS S3 [1]. Các bộ sưu tập dữ liệu không có tổ chức đã biến các hồ dữ liệu thành "đầm dữ liệu", tạo ra các hồ dữ liệu thế hệ thứ hai do Delta, Iceberg và Hudi dẫn đầu [27, 15, 10]. Chúng hoạt động nghiêm ngặt dựa trên các định dạng có cấu trúc được tiêu chuẩn hóa như Parquet, ORC, Avro [79, 6, 20] và cung cấp các tính năng như du hành thời gian, giao dịch ACID và phát triển lược đồ. Hồ dữ liệu tích hợp trực tiếp với các công cụ truy vấn như Presto, Athena,
Hive và Photon [70, 12, 76, 66] để chạy truy vấn phân tích. Ngoài ra, chúng kết nối với các khung như Hadoop, Spark và Airflow [14, 82, 9] để bảo trì đường ống ETL. Ngược lại, sự tích hợp giữa các hồ dữ liệu và công cụ truy vấn với sự phân tách tính toán và lưu trữ rõ ràng đã dẫn đến sự xuất hiện của các hệ thống như Lakehouse [28] đóng vai trò thay thế cho kho dữ liệu, bao gồm Snowflake, BigQuery, Redshift và Clickhouse [33, 4, 40, 2].
Trong thập kỷ qua, học sâu đã vượt xa các kỹ thuật học máy truyền thống liên quan đến dữ liệu phức tạp và phi cấu trúc như văn bản, hình ảnh, video và âm thanh [44, 47, 38, 83, 51, 30, 63, 56]. Các hệ thống học sâu không chỉ phát triển vượt trội so với các kỹ thuật truyền thống mà còn đạt được độ chính xác siêu phàm trong các ứng dụng như phát hiện ung thư từ hình ảnh X-quang, tái tạo giải phẫu các tế bào thần kinh của con người, chơi trò chơi, lái xe ô tô, giải phóng protein và tạo ra hình ảnh [ 61, 48, 72, 42, 77]. Các mô hình ngôn ngữ lớn với kiến trúc dựa trên máy biến áp đã đạt được kết quả tiên tiến trong các nhiệm vụ dịch thuật, lý luận, tóm tắt và hoàn thành văn bản [78, 36, 81, 32]. Các mạng đa phương thức lớn nhúng dữ liệu phi cấu trúc vào các vectơ để tìm kiếm đa phương thức [29, 60]. Hơn nữa, chúng được sử dụng để tạo ra hình ảnh chân thực từ văn bản [62, 65].
Mặc dù một trong những yếu tố chính đóng góp vào sự thành công của các mô hình học sâu là sự sẵn có của các bộ dữ liệu lớn như CoCo (hình ảnh 330K), ImageNet (hình ảnh 1,2M), Oscar (kho văn bản đa ngôn ngữ) và LAION (hình ảnh 400M và 5B) [49, 34, 74, 68], nó không có bản thiết kế cơ sở hạ tầng dữ liệu được thiết lập tốt tương tự như khối lượng công việc phân tích truyền thống để hỗ trợ quy mô như vậy. Mặt khác, Ngăn xếp dữ liệu hiện đại (MDS) thiếu các tính năng cần thiết để triển khai các giải pháp dựa trên deep learning hiệu quả nên các tổ chức lựa chọn phát triển hệ thống nội bộ.
Trong bài viết này, chúng tôi giới thiệu Deep Lake, một Lakehouse chuyên dùng cho khối lượng công việc deep learning. Deep Lake vẫn giữ được những lợi ích chính của
hồ dữ liệu truyền thống với một điểm khác biệt đáng chú ý: nó lưu trữ dữ liệu phức tạp, chẳng hạn như hình ảnh, video, chú thích và dữ liệu dạng bảng, dưới dạng tensor và nhanh chóng truyền dữ liệu đến các khung học sâu qua mạng mà không ảnh hưởng đến việc sử dụng GPU. Hơn nữa, nó cung cấp khả năng tương tác tự nhiên giữa các khung học sâu như PyTorch, TensorFlow và JAX [58, 25, 31].
Những đóng góp kỹ thuật chính của bài viết này bao gồm:
• Định dạng lưu trữ Tensor lưu trữ các mảng có hình dạng động trên bộ lưu trữ đối tượng;
• Streaming Dataloader lên lịch tìm nạp, giải nén và chuyển đổi do người dùng xác định, tối ưu hóa thông lượng truyền dữ liệu tới GPU để học sâu;
• Ngôn ngữ truy vấn Tensor chạy các phép toán giống SQL trên dữ liệu mảng đa chiều;
• Công cụ trực quan hóa trong trình duyệt truyền dữ liệu từ bộ lưu trữ đối tượng và hiển thị dữ liệu đó trong trình duyệt bằng WebGL.
Phần còn lại của bài viết này diễn ra như sau. Chúng tôi bắt đầu bằng cách xem xét những thách thức hiện tại trong việc học sâu trên dữ liệu phi cấu trúc. Tiếp theo, chúng tôi trình bày Định dạng lưu trữ kéo căng (TSF) với các khái niệm chính của nó. Hơn nữa, chúng tôi thảo luận về các khả năng và ứng dụng của Deep Lake trong chu trình ML. Tiếp theo, chúng tôi cung cấp các thử nghiệm hiệu suất và thảo luận về kết quả. Cuối cùng, chúng tôi xem xét công việc liên quan, liệt kê những hạn chế có thể có và kết luận.
Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.
[1] Mã nguồn có sẵn: https://github.com/activeloopai/deeplake
[2] Tài liệu có tại https://docs.deeplake.ai